diff --git a/.openzeppelin/project.json b/.openzeppelin/project.json index 58d9561..caeb3e8 100644 --- a/.openzeppelin/project.json +++ b/.openzeppelin/project.json @@ -9,5 +9,14 @@ "dependencies": {}, "name": "sysethereum-contracts", "version": "1.0.0", - "telemetryOptIn": false + "telemetryOptIn": false, + "compiler": { + "manager": "truffle", + "compilerSettings": { + "optimizer": { + "enabled": false, + "runs": "200" + } + } + } } \ No newline at end of file diff --git a/.openzeppelin/rinkeby.json b/.openzeppelin/rinkeby.json index 858e6d5..ed9c3ec 100644 --- a/.openzeppelin/rinkeby.json +++ b/.openzeppelin/rinkeby.json @@ -1,11 +1,11 @@ { "contracts": { "SyscoinERC20Manager": { - "address": "0xe4B7A35b465c64E57F12DD8A14E9e893e7DBf3DD", - "constructorCode": "608060405234801561001057600080fd5b506118b4806100206000396000f3fe", - "bodyBytecodeHash": "38e90c99cff68917ce1e3f2b162328be3ac43d0ee61428411412cc8204e6a4a1", - "localBytecodeHash": "13d884659e41fbdbb14cb70972cca13289813bb11572d0b602f2b20d64ab88d1", - "deployedBytecodeHash": "13d884659e41fbdbb14cb70972cca13289813bb11572d0b602f2b20d64ab88d1", + "address": "0x0246EfF8ab5CF64AE9276d98FC609C1243161be6", + "constructorCode": "608060405234801561001057600080fd5b50611d66806100206000396000f3fe", + "bodyBytecodeHash": "61769edca8832608015da8c5dba8d988b59f753eec34baae630f62820317d2d6", + "localBytecodeHash": "22cd16c91960ebedd204523f1ac0a6736701acc815f421bc1cbdc91bd787ce34", + "deployedBytecodeHash": "22cd16c91960ebedd204523f1ac0a6736701acc815f421bc1cbdc91bd787ce34", "types": { "t_bool": { "id": "t_bool", @@ -53,39 +53,39 @@ "members": [ { "label": "timestamp", - "astId": 7876, + "astId": 8397, "type": "t_uint256", - "src": "1356:14:13" + "src": "1310:14:14" }, { "label": "value", - "astId": 7878, + "astId": 8399, "type": "t_uint256", - "src": "1380:10:13" + "src": "1334:10:14" }, { "label": "erc20ContractAddress", - "astId": 7880, + "astId": 8401, "type": "t_address", - "src": "1400:28:13" + "src": "1354:28:14" }, { "label": "tokenFreezerAddress", - "astId": 7882, + "astId": 8403, "type": "t_address", - "src": "1438:27:13" + "src": "1392:27:14" }, { "label": "assetGUID", - "astId": 7884, + "astId": 8405, "type": "t_uint32", - "src": "1475:16:13" + "src": "1429:16:14" }, { "label": "status", - "astId": 7886, + "astId": 8407, "type": "t_enum", - "src": "1501:27:13" + "src": "1455:27:14" } ] }, @@ -116,6 +116,31 @@ "TESTNET", "REGTEST" ] + }, + "t_struct": { + "id": "t_struct", + "kind": "struct", + "label": "SyscoinERC20Manager.AssetRegistryItem", + "members": [ + { + "label": "erc20ContractAddress", + "astId": 8462, + "type": "t_address", + "src": "2199:28:14" + }, + { + "label": "height", + "astId": 8464, + "type": "t_uint32", + "src": "2237:13:14" + } + ] + }, + "t_mapping>": { + "id": "t_mapping>", + "valueType": "t_struct", + "label": "mapping(key => SyscoinERC20Manager.AssetRegistryItem)", + "kind": "mapping" } }, "storage": [ @@ -123,81 +148,89 @@ "contract": "Initializable", "path": "@openzeppelin/upgrades/contracts/Initializable.sol", "label": "initialized", - "astId": 8663, + "astId": 9282, "type": "t_bool", - "src": "757:24:15" + "src": "757:24:16" }, { "contract": "Initializable", "path": "@openzeppelin/upgrades/contracts/Initializable.sol", "label": "initializing", - "astId": 8665, + "astId": 9284, "type": "t_bool", - "src": "876:25:15" + "src": "876:25:16" }, { "contract": "Initializable", "path": "@openzeppelin/upgrades/contracts/Initializable.sol", "label": "______gap", - "astId": 8721, + "astId": 9340, "type": "t_array:50", - "src": "1951:29:15" + "src": "1951:29:16" }, { "contract": "SyscoinERC20Manager", "path": "contracts/token/SyscoinERC20Manager.sol", "label": "trustedRelayerContract", - "astId": 7858, + "astId": 8379, "type": "t_address", - "src": "937:37:13" + "src": "891:37:14" }, { "contract": "SyscoinERC20Manager", "path": "contracts/token/SyscoinERC20Manager.sol", "label": "assetBalances", - "astId": 7862, + "astId": 8383, "type": "t_mapping", - "src": "982:47:13" + "src": "936:47:14" }, { "contract": "SyscoinERC20Manager", "path": "contracts/token/SyscoinERC20Manager.sol", "label": "syscoinTxHashesAlreadyProcessed", - "astId": 7866, + "astId": 8387, "type": "t_mapping", - "src": "1115:61:13" + "src": "1069:61:14" }, { "contract": "SyscoinERC20Manager", "path": "contracts/token/SyscoinERC20Manager.sol", "label": "bridgeTransferIdCount", - "astId": 7868, + "astId": 8389, "type": "t_uint32", - "src": "1183:28:13" + "src": "1137:28:14" }, { "contract": "SyscoinERC20Manager", "path": "contracts/token/SyscoinERC20Manager.sol", "label": "bridgeTransfers", - "astId": 7891, + "astId": 8412, "type": "t_mapping>", - "src": "1552:57:13" + "src": "1506:57:14" }, { "contract": "SyscoinERC20Manager", "path": "contracts/token/SyscoinERC20Manager.sol", "label": "deposits", - "astId": 7895, + "astId": 8416, "type": "t_mapping", - "src": "1615:40:13" + "src": "1569:40:14" }, { "contract": "SyscoinERC20Manager", "path": "contracts/token/SyscoinERC20Manager.sol", "label": "net", - "astId": 7901, + "astId": 8422, "type": "t_enum", - "src": "1757:19:13" + "src": "1711:19:14" + }, + { + "contract": "SyscoinERC20Manager", + "path": "contracts/token/SyscoinERC20Manager.sol", + "label": "assetRegistry", + "astId": 8469, + "type": "t_mapping>", + "src": "2267:57:14" } ], "warnings": { @@ -211,17 +244,25 @@ "contract": "SyscoinERC20Manager", "path": "contracts/token/SyscoinERC20Manager.sol", "label": "bridgeTransfers", - "astId": 7891, + "astId": 8412, "type": "t_mapping>", - "src": "1552:57:13" + "src": "1506:57:14" }, { "contract": "SyscoinERC20Manager", "path": "contracts/token/SyscoinERC20Manager.sol", "label": "net", - "astId": 7901, + "astId": 8422, "type": "t_enum", - "src": "1757:19:13" + "src": "1711:19:14" + }, + { + "contract": "SyscoinERC20Manager", + "path": "contracts/token/SyscoinERC20Manager.sol", + "label": "assetRegistry", + "astId": 8469, + "type": "t_mapping>", + "src": "2267:57:14" } ], "storageDiff": [] @@ -405,11 +446,11 @@ } }, "SyscoinClaimManager": { - "address": "0x7Af757F7Ec39E4fe4019Ff3d4F53dE6d532859D5", - "constructorCode": "608060405234801561001057600080fd5b50612a9c806100206000396000f3fe", - "bodyBytecodeHash": "ba028e4d67b8df4ff6fe5ec05c021abb22065be3a1705ffa917cddf59dc600af", - "localBytecodeHash": "499dae96358e5b2d8fc002ae80397d926a7ba326f68a1b30a6507c49e323ea08", - "deployedBytecodeHash": "499dae96358e5b2d8fc002ae80397d926a7ba326f68a1b30a6507c49e323ea08", + "address": "0xd42a0106B21BD67f8b7C52Ca194e8a73694fCb4e", + "constructorCode": "608060405234801561001057600080fd5b50612af1806100206000396000f3fe", + "bodyBytecodeHash": "b1a4d86ef06f6a5883ed9ec332f790f86cc0e5db2c8e1df4f00fd268a33bfb51", + "localBytecodeHash": "a4d333315a437df60d12e428dfddd62ba8466042e588380e470ecdf77c11b3f0", + "deployedBytecodeHash": "a4d333315a437df60d12e428dfddd62ba8466042e588380e470ecdf77c11b3f0", "types": { "t_bool": { "id": "t_bool", @@ -523,31 +564,31 @@ "contract": "Initializable", "path": "@openzeppelin/upgrades/contracts/Initializable.sol", "label": "initialized", - "astId": 8615, + "astId": 9278, "type": "t_bool", - "src": "757:24:15" + "src": "757:24:16" }, { "contract": "Initializable", "path": "@openzeppelin/upgrades/contracts/Initializable.sol", "label": "initializing", - "astId": 8617, + "astId": 9280, "type": "t_bool", - "src": "876:25:15" + "src": "876:25:16" }, { "contract": "Initializable", "path": "@openzeppelin/upgrades/contracts/Initializable.sol", "label": "______gap", - "astId": 8673, + "astId": 9336, "type": "t_array:50", - "src": "1951:29:15" + "src": "1951:29:16" }, { "contract": "SyscoinDepositsManager", "path": "contracts/SyscoinDepositsManager.sol", "label": "deposits", - "astId": 4347, + "astId": 4348, "type": "t_mapping", "src": "156:40:3" }, @@ -613,15 +654,26 @@ "hasSelfDestruct": false, "hasDelegateCall": false, "hasInitialValuesInDeclarations": false, - "uninitializedBaseContracts": [] + "uninitializedBaseContracts": [], + "storageUncheckedVars": [ + { + "contract": "SyscoinClaimManager", + "path": "contracts/SyscoinClaimManager.sol", + "label": "claims", + "astId": 2588, + "type": "t_mapping>", + "src": "1602:50:2" + } + ], + "storageDiff": [] } }, "SyscoinSuperblocks": { - "address": "0x4f64DDF9E435e427983E359C391b7D519917deAE", - "constructorCode": "608060405234801561001057600080fd5b50613b8f806100206000396000f3fe", - "bodyBytecodeHash": "c8ea5ebfe674e95a20d8e17e0346c09855706d9de49de72fb81f77dc8940bbbb", - "localBytecodeHash": "aed3f687b270d68efac744b5c8142bd4ed80a89049d42fd5aa82ccdec00404c2", - "deployedBytecodeHash": "aed3f687b270d68efac744b5c8142bd4ed80a89049d42fd5aa82ccdec00404c2", + "address": "0x3084868301Aa8bEC8a1db5b01FfB8908F26AE1C1", + "constructorCode": "608060405234801561001057600080fd5b506142b6806100206000396000f3fe", + "bodyBytecodeHash": "d3acd438ade8aa85e332f14ff1af8a58ee53fb13cac5b0e616c622d554033359", + "localBytecodeHash": "e321b54cde40d0a19f33f0ef9303d126100fa897f4a75414414c172acabc4786", + "deployedBytecodeHash": "e321b54cde40d0a19f33f0ef9303d126100fa897f4a75414414c172acabc4786", "types": { "t_bool": { "id": "t_bool", @@ -647,57 +699,57 @@ "members": [ { "label": "blocksMerkleRoot", - "astId": 7619, + "astId": 8120, "type": "t_bytes32", - "src": "209:24:11" + "src": "209:24:12" }, { "label": "timestamp", - "astId": 7621, + "astId": 8122, "type": "t_uint256", - "src": "243:14:11" + "src": "243:14:12" }, { "label": "mtpTimestamp", - "astId": 7623, + "astId": 8124, "type": "t_uint256", - "src": "267:17:11" + "src": "267:17:12" }, { "label": "lastHash", - "astId": 7625, + "astId": 8126, "type": "t_bytes32", - "src": "294:16:11" + "src": "294:16:12" }, { "label": "parentId", - "astId": 7627, + "astId": 8128, "type": "t_bytes32", - "src": "320:16:11" + "src": "320:16:12" }, { "label": "submitter", - "astId": 7629, + "astId": 8130, "type": "t_address", - "src": "346:17:11" + "src": "346:17:12" }, { "label": "lastBits", - "astId": 7631, + "astId": 8132, "type": "t_uint32", - "src": "373:15:11" + "src": "373:15:12" }, { "label": "height", - "astId": 7633, + "astId": 8134, "type": "t_uint32", - "src": "398:13:11" + "src": "398:13:12" }, { "label": "status", - "astId": 7635, + "astId": 8136, "type": "t_enum", - "src": "421:13:11" + "src": "421:13:12" } ] }, @@ -741,57 +793,57 @@ "contract": "Initializable", "path": "@openzeppelin/upgrades/contracts/Initializable.sol", "label": "initialized", - "astId": 8663, + "astId": 9282, "type": "t_bool", - "src": "757:24:15" + "src": "757:24:16" }, { "contract": "Initializable", "path": "@openzeppelin/upgrades/contracts/Initializable.sol", "label": "initializing", - "astId": 8665, + "astId": 9284, "type": "t_bool", - "src": "876:25:15" + "src": "876:25:16" }, { "contract": "Initializable", "path": "@openzeppelin/upgrades/contracts/Initializable.sol", "label": "______gap", - "astId": 8721, + "astId": 9340, "type": "t_array:50", - "src": "1951:29:15" + "src": "1951:29:16" }, { "contract": "SyscoinSuperblocks", "path": "contracts/SyscoinSuperblocks.sol", "label": "superblocks", - "astId": 5019, + "astId": 5028, "type": "t_mapping>", - "src": "705:55:6" + "src": "705:56:6" }, { "contract": "SyscoinSuperblocks", "path": "contracts/SyscoinSuperblocks.sol", "label": "bestSuperblock", - "astId": 5021, + "astId": 5030, "type": "t_bytes32", - "src": "767:30:6" + "src": "768:31:6" }, { "contract": "SyscoinSuperblocks", "path": "contracts/SyscoinSuperblocks.sol", "label": "syscoinERC20Manager", - "astId": 5023, + "astId": 5032, "type": "t_address", - "src": "804:54:6" + "src": "806:54:6" }, { "contract": "SyscoinSuperblocks", "path": "contracts/SyscoinSuperblocks.sol", "label": "trustedClaimManager", - "astId": 5077, + "astId": 5086, "type": "t_address", - "src": "1471:34:6" + "src": "1473:34:6" } ], "warnings": { @@ -805,9 +857,9 @@ "contract": "SyscoinSuperblocks", "path": "contracts/SyscoinSuperblocks.sol", "label": "superblocks", - "astId": 5019, + "astId": 5028, "type": "t_mapping>", - "src": "705:55:6" + "src": "705:56:6" } ], "storageDiff": [] @@ -820,7 +872,7 @@ { "address": "0x0c206e62dB7478C7D55B5a8C39cACe72FCa29ef7", "version": "1.0.0", - "implementation": "0x4f64DDF9E435e427983E359C391b7D519917deAE", + "implementation": "0x3084868301Aa8bEC8a1db5b01FfB8908F26AE1C1", "admin": "0x64029603505438a85a819E6baA0251f698a2Aa88", "kind": "Upgradeable" } @@ -829,7 +881,7 @@ { "address": "0x443d9a14fb6ba2A45465bEC3767186f404Ccea25", "version": "1.0.0", - "implementation": "0xe4B7A35b465c64E57F12DD8A14E9e893e7DBf3DD", + "implementation": "0x0246EfF8ab5CF64AE9276d98FC609C1243161be6", "admin": "0x64029603505438a85a819E6baA0251f698a2Aa88", "kind": "Upgradeable" } @@ -847,7 +899,7 @@ { "address": "0x983417E9BA6ddD46564087086e6a2dF10A1b3cc4", "version": "1.0.0", - "implementation": "0x7Af757F7Ec39E4fe4019Ff3d4F53dE6d532859D5", + "implementation": "0xd42a0106B21BD67f8b7C52Ca194e8a73694fCb4e", "admin": "0x64029603505438a85a819E6baA0251f698a2Aa88", "kind": "Upgradeable" } diff --git a/build/contracts/ERC20.json b/build/contracts/ERC20.json index cde5510..f6e7490 100644 --- a/build/contracts/ERC20.json +++ b/build/contracts/ERC20.json @@ -252,22 +252,22 @@ "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20Mintable}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x65a4078c03875c25413a068ce9cfdd7e68a90f8786612d1189c89341e6e3b802\",\"urls\":[\"bzz-raw://45c0d95495b944fbb1aa09d900b0ab530903a432125ab8fddfa05064a7988991\",\"dweb:/ipfs/Qma2VeknkKA1THeubGzshWFk44BktXkXP1UKp9Un2uDSsu\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", "bytecode": "0x608060405261083b806100136000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610149578063a457c2d71461016f578063a9059cbb1461019b578063dd62ed3e146101c757610088565b8063095ea7b31461008d57806318160ddd146100cd57806323b872dd146100e7578063395093511461011d575b600080fd5b6100b9600480360360408110156100a357600080fd5b506001600160a01b0381351690602001356101f5565b604080519115158252519081900360200190f35b6100d5610212565b60408051918252519081900360200190f35b6100b9600480360360608110156100fd57600080fd5b506001600160a01b03813581169160208101359091169060400135610218565b6100b96004803603604081101561013357600080fd5b506001600160a01b0381351690602001356102a5565b6100d56004803603602081101561015f57600080fd5b50356001600160a01b03166102f9565b6100b96004803603604081101561018557600080fd5b506001600160a01b038135169060200135610314565b6100b9600480360360408110156101b157600080fd5b506001600160a01b038135169060200135610382565b6100d5600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610396565b60006102096102026103c1565b84846103c5565b50600192915050565b60025490565b60006102258484846104b1565b61029b846102316103c1565b61029685604051806060016040528060288152602001610771602891396001600160a01b038a1660009081526001602052604081209061026f6103c1565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61060d16565b6103c5565b5060019392505050565b60006102096102b26103c1565b8461029685600160006102c36103c1565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6106a416565b6001600160a01b031660009081526020819052604090205490565b60006102096103216103c1565b84610296856040518060600160405280602581526020016107e2602591396001600061034b6103c1565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61060d16565b600061020961038f6103c1565b84846104b1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661040a5760405162461bcd60e51b81526004018080602001828103825260248152602001806107be6024913960400191505060405180910390fd5b6001600160a01b03821661044f5760405162461bcd60e51b81526004018080602001828103825260228152602001806107296022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166104f65760405162461bcd60e51b81526004018080602001828103825260258152602001806107996025913960400191505060405180910390fd5b6001600160a01b03821661053b5760405162461bcd60e51b81526004018080602001828103825260238152602001806107066023913960400191505060405180910390fd5b61057e8160405180606001604052806026815260200161074b602691396001600160a01b038616600090815260208190526040902054919063ffffffff61060d16565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546105b3908263ffffffff6106a416565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561069c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610661578181015183820152602001610649565b50505050905090810190601f16801561068e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156106fe576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820447bb32b1513a4c7960840c1374800221c7ae38a988b0baaa12ac41092eb8bc164736f6c634300050d0032", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610149578063a457c2d71461016f578063a9059cbb1461019b578063dd62ed3e146101c757610088565b8063095ea7b31461008d57806318160ddd146100cd57806323b872dd146100e7578063395093511461011d575b600080fd5b6100b9600480360360408110156100a357600080fd5b506001600160a01b0381351690602001356101f5565b604080519115158252519081900360200190f35b6100d5610212565b60408051918252519081900360200190f35b6100b9600480360360608110156100fd57600080fd5b506001600160a01b03813581169160208101359091169060400135610218565b6100b96004803603604081101561013357600080fd5b506001600160a01b0381351690602001356102a5565b6100d56004803603602081101561015f57600080fd5b50356001600160a01b03166102f9565b6100b96004803603604081101561018557600080fd5b506001600160a01b038135169060200135610314565b6100b9600480360360408110156101b157600080fd5b506001600160a01b038135169060200135610382565b6100d5600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610396565b60006102096102026103c1565b84846103c5565b50600192915050565b60025490565b60006102258484846104b1565b61029b846102316103c1565b61029685604051806060016040528060288152602001610771602891396001600160a01b038a1660009081526001602052604081209061026f6103c1565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61060d16565b6103c5565b5060019392505050565b60006102096102b26103c1565b8461029685600160006102c36103c1565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6106a416565b6001600160a01b031660009081526020819052604090205490565b60006102096103216103c1565b84610296856040518060600160405280602581526020016107e2602591396001600061034b6103c1565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61060d16565b600061020961038f6103c1565b84846104b1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661040a5760405162461bcd60e51b81526004018080602001828103825260248152602001806107be6024913960400191505060405180910390fd5b6001600160a01b03821661044f5760405162461bcd60e51b81526004018080602001828103825260228152602001806107296022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166104f65760405162461bcd60e51b81526004018080602001828103825260258152602001806107996025913960400191505060405180910390fd5b6001600160a01b03821661053b5760405162461bcd60e51b81526004018080602001828103825260238152602001806107066023913960400191505060405180910390fd5b61057e8160405180606001604052806026815260200161074b602691396001600160a01b038616600090815260208190526040902054919063ffffffff61060d16565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546105b3908263ffffffff6106a416565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561069c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610661578181015183820152602001610649565b50505050905090810190601f16801561068e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156106fe576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820447bb32b1513a4c7960840c1374800221c7ae38a988b0baaa12ac41092eb8bc164736f6c634300050d0032", - "sourceMap": "1268:6824:18:-;;;;;;;;;", - "deployedSourceMap": "1268:6824:18:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1268:6824:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:149;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2500:149:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;3107:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3107:300:18;;;;;;;;;;;;;;;;;:::i;3802:207::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3802:207:18;;;;;;;;:::i;1706:108::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1706:108:18;-1:-1:-1;;;;;1706:108:18;;:::i;4496:258::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4496:258:18;;;;;;;;:::i;2017:155::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2017:155:18;;;;;;;;:::i;2230:132::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2230:132:18;;;;;;;;;;:::i;2500:149::-;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;-1:-1:-1;2638:4:18;2500:149;;;;:::o;1559:89::-;1629:12;;1559:89;:::o;3107:300::-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3289:19:18;;;;;;:11;:19;;;;;;3309:12;:10;:12::i;:::-;-1:-1:-1;;;;;3289:33:18;;;;;;;;;;;;-1:-1:-1;3289:33:18;;;:89;;:37;:89;:::i;:::-;3258:8;:121::i;:::-;-1:-1:-1;3396:4:18;3107:300;;;;;:::o;3802:207::-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;-1:-1:-1;;;;;3930:25:18;;;;;;;;;;;;;;;;;-1:-1:-1;3930:25:18;;;:34;;;;;;;;;;;:50;:38;:50;:::i;1706:108::-;-1:-1:-1;;;;;1789:18:18;1763:7;1789:18;;;;;;;;;;;;1706:108::o;4496:258::-;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;-1:-1:-1;;;;;4629:25:18;;;;;;;;;;;;;;;;;-1:-1:-1;4629:25:18;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;2230:132::-;-1:-1:-1;;;;;2328:18:18;;;2302:7;2328:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2230:132::o;788:96:16:-;867:10;788:96;:::o;7351:332:18:-;-1:-1:-1;;;;;7444:19:18;;7436:68;;;;-1:-1:-1;;;7436:68:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7522:21:18;;7514:68;;;;-1:-1:-1;;;7514:68:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7593:18:18;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7644:32;;;;;;;;;;;;;;;;;7351:332;;;:::o;5228:464::-;-1:-1:-1;;;;;5325:20:18;;5317:70;;;;-1:-1:-1;;;5317:70:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5405:23:18;;5397:71;;;;-1:-1:-1;;;5397:71:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5499:17:18;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;5479:17:18;;;:9;:17;;;;;;;;;;;:91;;;;5603:20;;;;;;;:32;;5628:6;5603:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;5580:20:18;;;:9;:20;;;;;;;;;;;;:55;;;;5650:35;;;;;;;5580:20;;5650:35;;;;;;;;;;;;;5228:464;;;:::o;1732:187:17:-;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:17;;;1732:187::o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;834:176;-1:-1:-1;;;834:176:17:o", + "sourceMap": "1268:6824:19:-;;;;;;;;;", + "deployedSourceMap": "1268:6824:19:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1268:6824:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:149;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2500:149:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;3107:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3107:300:19;;;;;;;;;;;;;;;;;:::i;3802:207::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3802:207:19;;;;;;;;:::i;1706:108::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1706:108:19;-1:-1:-1;;;;;1706:108:19;;:::i;4496:258::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4496:258:19;;;;;;;;:::i;2017:155::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2017:155:19;;;;;;;;:::i;2230:132::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2230:132:19;;;;;;;;;;:::i;2500:149::-;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;-1:-1:-1;2638:4:19;2500:149;;;;:::o;1559:89::-;1629:12;;1559:89;:::o;3107:300::-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3289:19:19;;;;;;:11;:19;;;;;;3309:12;:10;:12::i;:::-;-1:-1:-1;;;;;3289:33:19;;;;;;;;;;;;-1:-1:-1;3289:33:19;;;:89;;:37;:89;:::i;:::-;3258:8;:121::i;:::-;-1:-1:-1;3396:4:19;3107:300;;;;;:::o;3802:207::-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;-1:-1:-1;;;;;3930:25:19;;;;;;;;;;;;;;;;;-1:-1:-1;3930:25:19;;;:34;;;;;;;;;;;:50;:38;:50;:::i;1706:108::-;-1:-1:-1;;;;;1789:18:19;1763:7;1789:18;;;;;;;;;;;;1706:108::o;4496:258::-;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;-1:-1:-1;;;;;4629:25:19;;;;;;;;;;;;;;;;;-1:-1:-1;4629:25:19;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;2230:132::-;-1:-1:-1;;;;;2328:18:19;;;2302:7;2328:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2230:132::o;788:96:17:-;867:10;788:96;:::o;7351:332:19:-;-1:-1:-1;;;;;7444:19:19;;7436:68;;;;-1:-1:-1;;;7436:68:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7522:21:19;;7514:68;;;;-1:-1:-1;;;7514:68:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7593:18:19;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7644:32;;;;;;;;;;;;;;;;;7351:332;;;:::o;5228:464::-;-1:-1:-1;;;;;5325:20:19;;5317:70;;;;-1:-1:-1;;;5317:70:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5405:23:19;;5397:71;;;;-1:-1:-1;;;5397:71:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5499:17:19;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;5479:17:19;;;:9;:17;;;;;;;;;;;:91;;;;5603:20;;;;;;;:32;;5628:6;5603:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;5580:20:19;;;:9;:20;;;;;;;;;;;;:55;;;;5650:35;;;;;;;5580:20;;5650:35;;;;;;;;;;;;;5228:464;;;:::o;1732:187:18:-;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:18;;;1732:187::o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;834:176;-1:-1:-1;;;834:176:18:o", "source": "pragma solidity ^0.5.0;\n\nimport \"../../GSN/Context.sol\";\nimport \"./IERC20.sol\";\nimport \"../../math/SafeMath.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20Mintable}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin guidelines: functions revert instead\n * of returning `false` on failure. This behavior is nonetheless conventional\n * and does not conflict with the expectations of ERC20 applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20 {\n using SafeMath for uint256;\n\n mapping (address => uint256) private _balances;\n\n mapping (address => mapping (address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `recipient` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address recipient, uint256 amount) public returns (bool) {\n _transfer(_msgSender(), recipient, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public returns (bool) {\n _approve(_msgSender(), spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20};\n *\n * Requirements:\n * - `sender` and `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n * - the caller must have allowance for `sender`'s tokens of at least\n * `amount`.\n */\n function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {\n _transfer(sender, recipient, amount);\n _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, \"ERC20: transfer amount exceeds allowance\"));\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, \"ERC20: decreased allowance below zero\"));\n return true;\n }\n\n /**\n * @dev Moves tokens `amount` from `sender` to `recipient`.\n *\n * This is internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `sender` cannot be the zero address.\n * - `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n */\n function _transfer(address sender, address recipient, uint256 amount) internal {\n require(sender != address(0), \"ERC20: transfer from the zero address\");\n require(recipient != address(0), \"ERC20: transfer to the zero address\");\n\n _balances[sender] = _balances[sender].sub(amount, \"ERC20: transfer amount exceeds balance\");\n _balances[recipient] = _balances[recipient].add(amount);\n emit Transfer(sender, recipient, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements\n *\n * - `to` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _totalSupply = _totalSupply.add(amount);\n _balances[account] = _balances[account].add(amount);\n emit Transfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _balances[account] = _balances[account].sub(amount, \"ERC20: burn amount exceeds balance\");\n _totalSupply = _totalSupply.sub(amount);\n emit Transfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n *\n * This is internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(address owner, address spender, uint256 amount) internal {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`.`amount` is then deducted\n * from the caller's allowance.\n *\n * See {_burn} and {_approve}.\n */\n function _burnFrom(address account, uint256 amount) internal {\n _burn(account, amount);\n _approve(account, _msgSender(), _allowances[account][_msgSender()].sub(amount, \"ERC20: burn amount exceeds allowance\"));\n }\n}\n", "sourcePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "ast": { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "exportedSymbols": { "ERC20": [ - 9341 + 9960 ] }, - "id": 9342, + "id": 9961, "nodeType": "SourceUnit", "nodes": [ { - "id": 8938, + "id": 9557, "literals": [ "solidity", "^", @@ -275,38 +275,38 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "0:23:18" + "src": "0:23:19" }, { "absolutePath": "openzeppelin-solidity/contracts/GSN/Context.sol", "file": "../../GSN/Context.sol", - "id": 8939, + "id": 9558, "nodeType": "ImportDirective", - "scope": 9342, - "sourceUnit": 8750, - "src": "25:31:18", + "scope": 9961, + "sourceUnit": 9369, + "src": "25:31:19", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 8940, + "id": 9559, "nodeType": "ImportDirective", - "scope": 9342, - "sourceUnit": 9469, - "src": "57:22:18", + "scope": 9961, + "sourceUnit": 10088, + "src": "57:22:19", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 8941, + "id": 9560, "nodeType": "ImportDirective", - "scope": 9342, - "sourceUnit": 8937, - "src": "80:33:18", + "scope": 9961, + "sourceUnit": 9556, + "src": "80:33:19", "symbolAliases": [], "unitAlias": "" }, @@ -316,76 +316,76 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 8942, + "id": 9561, "name": "Context", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8749, - "src": "1286:7:18", + "referencedDeclaration": 9368, + "src": "1286:7:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$8749", + "typeIdentifier": "t_contract$_Context_$9368", "typeString": "contract Context" } }, - "id": 8943, + "id": 9562, "nodeType": "InheritanceSpecifier", - "src": "1286:7:18" + "src": "1286:7:19" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 8944, + "id": 9563, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9468, - "src": "1295:6:18", + "referencedDeclaration": 10087, + "src": "1295:6:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9468", + "typeIdentifier": "t_contract$_IERC20_$10087", "typeString": "contract IERC20" } }, - "id": 8945, + "id": 9564, "nodeType": "InheritanceSpecifier", - "src": "1295:6:18" + "src": "1295:6:19" } ], "contractDependencies": [ - 8749, - 9468 + 9368, + 10087 ], "contractKind": "contract", "documentation": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20Mintable}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}.", "fullyImplemented": true, - "id": 9341, + "id": 9960, "linearizedBaseContracts": [ - 9341, - 9468, - 8749 + 9960, + 10087, + 9368 ], "name": "ERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 8948, + "id": 9567, "libraryName": { "contractScope": null, - "id": 8946, + "id": 9565, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8936, - "src": "1314:8:18", + "referencedDeclaration": 9555, + "src": "1314:8:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8936", + "typeIdentifier": "t_contract$_SafeMath_$9555", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "1308:27:18", + "src": "1308:27:19", "typeName": { - "id": 8947, + "id": 9566, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1327:7:18", + "src": "1327:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -394,11 +394,11 @@ }, { "constant": false, - "id": 8952, + "id": 9571, "name": "_balances", "nodeType": "VariableDeclaration", - "scope": 9341, - "src": "1341:46:18", + "scope": 9960, + "src": "1341:46:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -406,28 +406,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 8951, + "id": 9570, "keyType": { - "id": 8949, + "id": 9568, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1350:7:18", + "src": "1350:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1341:28:18", + "src": "1341:28:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 8950, + "id": 9569, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1361:7:18", + "src": "1361:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -439,11 +439,11 @@ }, { "constant": false, - "id": 8958, + "id": 9577, "name": "_allowances", "nodeType": "VariableDeclaration", - "scope": 9341, - "src": "1394:69:18", + "scope": 9960, + "src": "1394:69:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -451,46 +451,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 8957, + "id": 9576, "keyType": { - "id": 8953, + "id": 9572, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1403:7:18", + "src": "1403:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1394:49:18", + "src": "1394:49:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 8956, + "id": 9575, "keyType": { - "id": 8954, + "id": 9573, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1423:7:18", + "src": "1423:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1414:28:18", + "src": "1414:28:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 8955, + "id": 9574, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1434:7:18", + "src": "1434:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -503,11 +503,11 @@ }, { "constant": false, - "id": 8960, + "id": 9579, "name": "_totalSupply", "nodeType": "VariableDeclaration", - "scope": 9341, - "src": "1470:28:18", + "scope": 9960, + "src": "1470:28:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -515,10 +515,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8959, + "id": 9578, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1470:7:18", + "src": "1470:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -529,55 +529,55 @@ }, { "body": { - "id": 8967, + "id": 9586, "nodeType": "Block", - "src": "1612:36:18", + "src": "1612:36:19", "statements": [ { "expression": { "argumentTypes": null, - "id": 8965, + "id": 9584, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8960, - "src": "1629:12:18", + "referencedDeclaration": 9579, + "src": "1629:12:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8964, - "id": 8966, + "functionReturnParameters": 9583, + "id": 9585, "nodeType": "Return", - "src": "1622:19:18" + "src": "1622:19:19" } ] }, "documentation": "@dev See {IERC20-totalSupply}.", - "id": 8968, + "id": 9587, "implemented": true, "kind": "function", "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 8961, + "id": 9580, "nodeType": "ParameterList", "parameters": [], - "src": "1579:2:18" + "src": "1579:2:19" }, "returnParameters": { - "id": 8964, + "id": 9583, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8963, + "id": 9582, "name": "", "nodeType": "VariableDeclaration", - "scope": 8968, - "src": "1603:7:18", + "scope": 9587, + "src": "1603:7:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -585,10 +585,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8962, + "id": 9581, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1603:7:18", + "src": "1603:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -598,45 +598,45 @@ "visibility": "internal" } ], - "src": "1602:9:18" + "src": "1602:9:19" }, - "scope": 9341, - "src": "1559:89:18", + "scope": 9960, + "src": "1559:89:19", "stateMutability": "view", - "superFunction": 9406, + "superFunction": 10025, "visibility": "public" }, { "body": { - "id": 8979, + "id": 9598, "nodeType": "Block", - "src": "1772:42:18", + "src": "1772:42:19", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8975, + "id": 9594, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "1789:9:18", + "referencedDeclaration": 9571, + "src": "1789:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 8977, + "id": 9596, "indexExpression": { "argumentTypes": null, - "id": 8976, + "id": 9595, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8970, - "src": "1799:7:18", + "referencedDeclaration": 9589, + "src": "1799:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -647,37 +647,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1789:18:18", + "src": "1789:18:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8974, - "id": 8978, + "functionReturnParameters": 9593, + "id": 9597, "nodeType": "Return", - "src": "1782:25:18" + "src": "1782:25:19" } ] }, "documentation": "@dev See {IERC20-balanceOf}.", - "id": 8980, + "id": 9599, "implemented": true, "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 8971, + "id": 9590, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8970, + "id": 9589, "name": "account", "nodeType": "VariableDeclaration", - "scope": 8980, - "src": "1725:15:18", + "scope": 9599, + "src": "1725:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -685,10 +685,10 @@ "typeString": "address" }, "typeName": { - "id": 8969, + "id": 9588, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1725:7:18", + "src": "1725:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -699,19 +699,19 @@ "visibility": "internal" } ], - "src": "1724:17:18" + "src": "1724:17:19" }, "returnParameters": { - "id": 8974, + "id": 9593, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8973, + "id": 9592, "name": "", "nodeType": "VariableDeclaration", - "scope": 8980, - "src": "1763:7:18", + "scope": 9599, + "src": "1763:7:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -719,10 +719,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8972, + "id": 9591, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1763:7:18", + "src": "1763:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -732,19 +732,19 @@ "visibility": "internal" } ], - "src": "1762:9:18" + "src": "1762:9:19" }, - "scope": 9341, - "src": "1706:108:18", + "scope": 9960, + "src": "1706:108:19", "stateMutability": "view", - "superFunction": 9413, + "superFunction": 10032, "visibility": "public" }, { "body": { - "id": 8998, + "id": 9617, "nodeType": "Block", - "src": "2092:80:18", + "src": "2092:80:19", "statements": [ { "expression": { @@ -755,18 +755,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 8990, + "id": 9609, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "2112:10:18", + "referencedDeclaration": 9356, + "src": "2112:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 8991, + "id": 9610, "isConstant": false, "isLValue": false, "isPure": false, @@ -774,7 +774,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2112:12:18", + "src": "2112:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -782,12 +782,12 @@ }, { "argumentTypes": null, - "id": 8992, + "id": 9611, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8982, - "src": "2126:9:18", + "referencedDeclaration": 9601, + "src": "2126:9:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -795,12 +795,12 @@ }, { "argumentTypes": null, - "id": 8993, + "id": 9612, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8984, - "src": "2137:6:18", + "referencedDeclaration": 9603, + "src": "2137:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -822,18 +822,18 @@ "typeString": "uint256" } ], - "id": 8989, + "id": 9608, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9182, - "src": "2102:9:18", + "referencedDeclaration": 9801, + "src": "2102:9:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 8994, + "id": 9613, "isConstant": false, "isLValue": false, "isPure": false, @@ -841,28 +841,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2102:42:18", + "src": "2102:42:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8995, + "id": 9614, "nodeType": "ExpressionStatement", - "src": "2102:42:18" + "src": "2102:42:19" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 8996, + "id": 9615, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2161:4:18", + "src": "2161:4:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -870,31 +870,31 @@ }, "value": "true" }, - "functionReturnParameters": 8988, - "id": 8997, + "functionReturnParameters": 9607, + "id": 9616, "nodeType": "Return", - "src": "2154:11:18" + "src": "2154:11:19" } ] }, "documentation": "@dev See {IERC20-transfer}.\n * Requirements:\n * - `recipient` cannot be the zero address.\n- the caller must have a balance of at least `amount`.", - "id": 8999, + "id": 9618, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 8985, + "id": 9604, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8982, + "id": 9601, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 8999, - "src": "2035:17:18", + "scope": 9618, + "src": "2035:17:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -902,10 +902,10 @@ "typeString": "address" }, "typeName": { - "id": 8981, + "id": 9600, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2035:7:18", + "src": "2035:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -917,11 +917,11 @@ }, { "constant": false, - "id": 8984, + "id": 9603, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 8999, - "src": "2054:14:18", + "scope": 9618, + "src": "2054:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -929,10 +929,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8983, + "id": 9602, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2054:7:18", + "src": "2054:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -942,19 +942,19 @@ "visibility": "internal" } ], - "src": "2034:35:18" + "src": "2034:35:19" }, "returnParameters": { - "id": 8988, + "id": 9607, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8987, + "id": 9606, "name": "", "nodeType": "VariableDeclaration", - "scope": 8999, - "src": "2086:4:18", + "scope": 9618, + "src": "2086:4:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -962,10 +962,10 @@ "typeString": "bool" }, "typeName": { - "id": 8986, + "id": 9605, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2086:4:18", + "src": "2086:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -975,19 +975,19 @@ "visibility": "internal" } ], - "src": "2085:6:18" + "src": "2085:6:19" }, - "scope": 9341, - "src": "2017:155:18", + "scope": 9960, + "src": "2017:155:19", "stateMutability": "nonpayable", - "superFunction": 9422, + "superFunction": 10041, "visibility": "public" }, { "body": { - "id": 9014, + "id": 9633, "nodeType": "Block", - "src": "2311:51:18", + "src": "2311:51:19", "statements": [ { "expression": { @@ -996,26 +996,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9008, + "id": 9627, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8958, - "src": "2328:11:18", + "referencedDeclaration": 9577, + "src": "2328:11:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 9010, + "id": 9629, "indexExpression": { "argumentTypes": null, - "id": 9009, + "id": 9628, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9001, - "src": "2340:5:18", + "referencedDeclaration": 9620, + "src": "2340:5:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1026,21 +1026,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2328:18:18", + "src": "2328:18:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9012, + "id": 9631, "indexExpression": { "argumentTypes": null, - "id": 9011, + "id": 9630, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9003, - "src": "2347:7:18", + "referencedDeclaration": 9622, + "src": "2347:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1051,37 +1051,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2328:27:18", + "src": "2328:27:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 9007, - "id": 9013, + "functionReturnParameters": 9626, + "id": 9632, "nodeType": "Return", - "src": "2321:34:18" + "src": "2321:34:19" } ] }, "documentation": "@dev See {IERC20-allowance}.", - "id": 9015, + "id": 9634, "implemented": true, "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 9004, + "id": 9623, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9001, + "id": 9620, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 9015, - "src": "2249:13:18", + "scope": 9634, + "src": "2249:13:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1089,10 +1089,10 @@ "typeString": "address" }, "typeName": { - "id": 9000, + "id": 9619, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2249:7:18", + "src": "2249:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1104,11 +1104,11 @@ }, { "constant": false, - "id": 9003, + "id": 9622, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9015, - "src": "2264:15:18", + "scope": 9634, + "src": "2264:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1116,10 +1116,10 @@ "typeString": "address" }, "typeName": { - "id": 9002, + "id": 9621, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2264:7:18", + "src": "2264:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1130,19 +1130,19 @@ "visibility": "internal" } ], - "src": "2248:32:18" + "src": "2248:32:19" }, "returnParameters": { - "id": 9007, + "id": 9626, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9006, + "id": 9625, "name": "", "nodeType": "VariableDeclaration", - "scope": 9015, - "src": "2302:7:18", + "scope": 9634, + "src": "2302:7:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1150,10 +1150,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9005, + "id": 9624, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2302:7:18", + "src": "2302:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1163,19 +1163,19 @@ "visibility": "internal" } ], - "src": "2301:9:18" + "src": "2301:9:19" }, - "scope": 9341, - "src": "2230:132:18", + "scope": 9960, + "src": "2230:132:19", "stateMutability": "view", - "superFunction": 9431, + "superFunction": 10050, "visibility": "public" }, { "body": { - "id": 9033, + "id": 9652, "nodeType": "Block", - "src": "2572:77:18", + "src": "2572:77:19", "statements": [ { "expression": { @@ -1186,18 +1186,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 9025, + "id": 9644, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "2591:10:18", + "referencedDeclaration": 9356, + "src": "2591:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9026, + "id": 9645, "isConstant": false, "isLValue": false, "isPure": false, @@ -1205,7 +1205,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2591:12:18", + "src": "2591:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1213,12 +1213,12 @@ }, { "argumentTypes": null, - "id": 9027, + "id": 9646, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9017, - "src": "2605:7:18", + "referencedDeclaration": 9636, + "src": "2605:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1226,12 +1226,12 @@ }, { "argumentTypes": null, - "id": 9028, + "id": 9647, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9019, - "src": "2614:6:18", + "referencedDeclaration": 9638, + "src": "2614:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1253,18 +1253,18 @@ "typeString": "uint256" } ], - "id": 9024, + "id": 9643, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9311, - "src": "2582:8:18", + "referencedDeclaration": 9930, + "src": "2582:8:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9029, + "id": 9648, "isConstant": false, "isLValue": false, "isPure": false, @@ -1272,28 +1272,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2582:39:18", + "src": "2582:39:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9030, + "id": 9649, "nodeType": "ExpressionStatement", - "src": "2582:39:18" + "src": "2582:39:19" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 9031, + "id": 9650, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2638:4:18", + "src": "2638:4:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1301,31 +1301,31 @@ }, "value": "true" }, - "functionReturnParameters": 9023, - "id": 9032, + "functionReturnParameters": 9642, + "id": 9651, "nodeType": "Return", - "src": "2631:11:18" + "src": "2631:11:19" } ] }, "documentation": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 9034, + "id": 9653, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 9020, + "id": 9639, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9017, + "id": 9636, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9034, - "src": "2517:15:18", + "scope": 9653, + "src": "2517:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1333,10 +1333,10 @@ "typeString": "address" }, "typeName": { - "id": 9016, + "id": 9635, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2517:7:18", + "src": "2517:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1348,11 +1348,11 @@ }, { "constant": false, - "id": 9019, + "id": 9638, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9034, - "src": "2534:14:18", + "scope": 9653, + "src": "2534:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1360,10 +1360,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9018, + "id": 9637, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2534:7:18", + "src": "2534:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1373,19 +1373,19 @@ "visibility": "internal" } ], - "src": "2516:33:18" + "src": "2516:33:19" }, "returnParameters": { - "id": 9023, + "id": 9642, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9022, + "id": 9641, "name": "", "nodeType": "VariableDeclaration", - "scope": 9034, - "src": "2566:4:18", + "scope": 9653, + "src": "2566:4:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1393,10 +1393,10 @@ "typeString": "bool" }, "typeName": { - "id": 9021, + "id": 9640, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2566:4:18", + "src": "2566:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1406,19 +1406,19 @@ "visibility": "internal" } ], - "src": "2565:6:18" + "src": "2565:6:19" }, - "scope": 9341, - "src": "2500:149:18", + "scope": 9960, + "src": "2500:149:19", "stateMutability": "nonpayable", - "superFunction": 9440, + "superFunction": 10059, "visibility": "public" }, { "body": { - "id": 9069, + "id": 9688, "nodeType": "Block", - "src": "3202:205:18", + "src": "3202:205:19", "statements": [ { "expression": { @@ -1426,12 +1426,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9046, + "id": 9665, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9036, - "src": "3222:6:18", + "referencedDeclaration": 9655, + "src": "3222:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1439,12 +1439,12 @@ }, { "argumentTypes": null, - "id": 9047, + "id": 9666, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9038, - "src": "3230:9:18", + "referencedDeclaration": 9657, + "src": "3230:9:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1452,12 +1452,12 @@ }, { "argumentTypes": null, - "id": 9048, + "id": 9667, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9040, - "src": "3241:6:18", + "referencedDeclaration": 9659, + "src": "3241:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1479,18 +1479,18 @@ "typeString": "uint256" } ], - "id": 9045, + "id": 9664, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9182, - "src": "3212:9:18", + "referencedDeclaration": 9801, + "src": "3212:9:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9049, + "id": 9668, "isConstant": false, "isLValue": false, "isPure": false, @@ -1498,15 +1498,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3212:36:18", + "src": "3212:36:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9050, + "id": 9669, "nodeType": "ExpressionStatement", - "src": "3212:36:18" + "src": "3212:36:19" }, { "expression": { @@ -1514,12 +1514,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9052, + "id": 9671, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9036, - "src": "3267:6:18", + "referencedDeclaration": 9655, + "src": "3267:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1530,18 +1530,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 9053, + "id": 9672, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "3275:10:18", + "referencedDeclaration": 9356, + "src": "3275:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9054, + "id": 9673, "isConstant": false, "isLValue": false, "isPure": false, @@ -1549,7 +1549,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3275:12:18", + "src": "3275:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1560,12 +1560,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9062, + "id": 9681, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9040, - "src": "3327:6:18", + "referencedDeclaration": 9659, + "src": "3327:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1574,14 +1574,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 9063, + "id": 9682, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3335:42:18", + "src": "3335:42:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", @@ -1607,26 +1607,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9055, + "id": 9674, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8958, - "src": "3289:11:18", + "referencedDeclaration": 9577, + "src": "3289:11:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 9057, + "id": 9676, "indexExpression": { "argumentTypes": null, - "id": 9056, + "id": 9675, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9036, - "src": "3301:6:18", + "referencedDeclaration": 9655, + "src": "3301:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1637,30 +1637,30 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3289:19:18", + "src": "3289:19:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9060, + "id": 9679, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 9058, + "id": 9677, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "3309:10:18", + "referencedDeclaration": 9356, + "src": "3309:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9059, + "id": 9678, "isConstant": false, "isLValue": false, "isPure": false, @@ -1668,7 +1668,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3309:12:18", + "src": "3309:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1679,27 +1679,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3289:33:18", + "src": "3289:33:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9061, + "id": 9680, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8819, - "src": "3289:37:18", + "referencedDeclaration": 9438, + "src": "3289:37:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 9064, + "id": 9683, "isConstant": false, "isLValue": false, "isPure": false, @@ -1707,7 +1707,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3289:89:18", + "src": "3289:89:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1729,18 +1729,18 @@ "typeString": "uint256" } ], - "id": 9051, + "id": 9670, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9311, - "src": "3258:8:18", + "referencedDeclaration": 9930, + "src": "3258:8:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9065, + "id": 9684, "isConstant": false, "isLValue": false, "isPure": false, @@ -1748,28 +1748,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3258:121:18", + "src": "3258:121:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9066, + "id": 9685, "nodeType": "ExpressionStatement", - "src": "3258:121:18" + "src": "3258:121:19" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 9067, + "id": 9686, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3396:4:18", + "src": "3396:4:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1777,31 +1777,31 @@ }, "value": "true" }, - "functionReturnParameters": 9044, - "id": 9068, + "functionReturnParameters": 9663, + "id": 9687, "nodeType": "Return", - "src": "3389:11:18" + "src": "3389:11:19" } ] }, "documentation": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20};\n * Requirements:\n- `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for `sender`'s tokens of at least\n`amount`.", - "id": 9070, + "id": 9689, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 9041, + "id": 9660, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9036, + "id": 9655, "name": "sender", "nodeType": "VariableDeclaration", - "scope": 9070, - "src": "3129:14:18", + "scope": 9689, + "src": "3129:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1809,10 +1809,10 @@ "typeString": "address" }, "typeName": { - "id": 9035, + "id": 9654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3129:7:18", + "src": "3129:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1824,11 +1824,11 @@ }, { "constant": false, - "id": 9038, + "id": 9657, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 9070, - "src": "3145:17:18", + "scope": 9689, + "src": "3145:17:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1836,10 +1836,10 @@ "typeString": "address" }, "typeName": { - "id": 9037, + "id": 9656, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3145:7:18", + "src": "3145:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1851,11 +1851,11 @@ }, { "constant": false, - "id": 9040, + "id": 9659, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9070, - "src": "3164:14:18", + "scope": 9689, + "src": "3164:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1863,10 +1863,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9039, + "id": 9658, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3164:7:18", + "src": "3164:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1876,19 +1876,19 @@ "visibility": "internal" } ], - "src": "3128:51:18" + "src": "3128:51:19" }, "returnParameters": { - "id": 9044, + "id": 9663, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9043, + "id": 9662, "name": "", "nodeType": "VariableDeclaration", - "scope": 9070, - "src": "3196:4:18", + "scope": 9689, + "src": "3196:4:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1896,10 +1896,10 @@ "typeString": "bool" }, "typeName": { - "id": 9042, + "id": 9661, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3196:4:18", + "src": "3196:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1909,19 +1909,19 @@ "visibility": "internal" } ], - "src": "3195:6:18" + "src": "3195:6:19" }, - "scope": 9341, - "src": "3107:300:18", + "scope": 9960, + "src": "3107:300:19", "stateMutability": "nonpayable", - "superFunction": 9451, + "superFunction": 10070, "visibility": "public" }, { "body": { - "id": 9096, + "id": 9715, "nodeType": "Block", - "src": "3888:121:18", + "src": "3888:121:19", "statements": [ { "expression": { @@ -1932,18 +1932,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 9080, + "id": 9699, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "3907:10:18", + "referencedDeclaration": 9356, + "src": "3907:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9081, + "id": 9700, "isConstant": false, "isLValue": false, "isPure": false, @@ -1951,7 +1951,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3907:12:18", + "src": "3907:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1959,12 +1959,12 @@ }, { "argumentTypes": null, - "id": 9082, + "id": 9701, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9072, - "src": "3921:7:18", + "referencedDeclaration": 9691, + "src": "3921:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1975,12 +1975,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9090, + "id": 9709, "name": "addedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9074, - "src": "3969:10:18", + "referencedDeclaration": 9693, + "src": "3969:10:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2000,35 +2000,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9083, + "id": 9702, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8958, - "src": "3930:11:18", + "referencedDeclaration": 9577, + "src": "3930:11:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 9086, + "id": 9705, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 9084, + "id": 9703, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "3942:10:18", + "referencedDeclaration": 9356, + "src": "3942:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9085, + "id": 9704, "isConstant": false, "isLValue": false, "isPure": false, @@ -2036,7 +2036,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3942:12:18", + "src": "3942:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2047,21 +2047,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3930:25:18", + "src": "3930:25:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9088, + "id": 9707, "indexExpression": { "argumentTypes": null, - "id": 9087, + "id": 9706, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9072, - "src": "3956:7:18", + "referencedDeclaration": 9691, + "src": "3956:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2072,27 +2072,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3930:34:18", + "src": "3930:34:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9089, + "id": 9708, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "3930:38:18", + "referencedDeclaration": 9395, + "src": "3930:38:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9091, + "id": 9710, "isConstant": false, "isLValue": false, "isPure": false, @@ -2100,7 +2100,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3930:50:18", + "src": "3930:50:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2122,18 +2122,18 @@ "typeString": "uint256" } ], - "id": 9079, + "id": 9698, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9311, - "src": "3898:8:18", + "referencedDeclaration": 9930, + "src": "3898:8:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9092, + "id": 9711, "isConstant": false, "isLValue": false, "isPure": false, @@ -2141,28 +2141,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3898:83:18", + "src": "3898:83:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9093, + "id": 9712, "nodeType": "ExpressionStatement", - "src": "3898:83:18" + "src": "3898:83:19" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 9094, + "id": 9713, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3998:4:18", + "src": "3998:4:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2170,31 +2170,31 @@ }, "value": "true" }, - "functionReturnParameters": 9078, - "id": 9095, + "functionReturnParameters": 9697, + "id": 9714, "nodeType": "Return", - "src": "3991:11:18" + "src": "3991:11:19" } ] }, "documentation": "@dev Atomically increases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 9097, + "id": 9716, "implemented": true, "kind": "function", "modifiers": [], "name": "increaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 9075, + "id": 9694, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9072, + "id": 9691, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9097, - "src": "3829:15:18", + "scope": 9716, + "src": "3829:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2202,10 +2202,10 @@ "typeString": "address" }, "typeName": { - "id": 9071, + "id": 9690, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3829:7:18", + "src": "3829:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2217,11 +2217,11 @@ }, { "constant": false, - "id": 9074, + "id": 9693, "name": "addedValue", "nodeType": "VariableDeclaration", - "scope": 9097, - "src": "3846:18:18", + "scope": 9716, + "src": "3846:18:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2229,10 +2229,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9073, + "id": 9692, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3846:7:18", + "src": "3846:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2242,19 +2242,19 @@ "visibility": "internal" } ], - "src": "3828:37:18" + "src": "3828:37:19" }, "returnParameters": { - "id": 9078, + "id": 9697, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9077, + "id": 9696, "name": "", "nodeType": "VariableDeclaration", - "scope": 9097, - "src": "3882:4:18", + "scope": 9716, + "src": "3882:4:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2262,10 +2262,10 @@ "typeString": "bool" }, "typeName": { - "id": 9076, + "id": 9695, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3882:4:18", + "src": "3882:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2275,19 +2275,19 @@ "visibility": "internal" } ], - "src": "3881:6:18" + "src": "3881:6:19" }, - "scope": 9341, - "src": "3802:207:18", + "scope": 9960, + "src": "3802:207:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 9124, + "id": 9743, "nodeType": "Block", - "src": "4587:167:18", + "src": "4587:167:19", "statements": [ { "expression": { @@ -2298,18 +2298,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 9107, + "id": 9726, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "4606:10:18", + "referencedDeclaration": 9356, + "src": "4606:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9108, + "id": 9727, "isConstant": false, "isLValue": false, "isPure": false, @@ -2317,7 +2317,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4606:12:18", + "src": "4606:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2325,12 +2325,12 @@ }, { "argumentTypes": null, - "id": 9109, + "id": 9728, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9099, - "src": "4620:7:18", + "referencedDeclaration": 9718, + "src": "4620:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2341,12 +2341,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9117, + "id": 9736, "name": "subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9101, - "src": "4668:15:18", + "referencedDeclaration": 9720, + "src": "4668:15:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2355,14 +2355,14 @@ { "argumentTypes": null, "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 9118, + "id": 9737, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4685:39:18", + "src": "4685:39:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", @@ -2388,35 +2388,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9110, + "id": 9729, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8958, - "src": "4629:11:18", + "referencedDeclaration": 9577, + "src": "4629:11:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 9113, + "id": 9732, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 9111, + "id": 9730, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "4641:10:18", + "referencedDeclaration": 9356, + "src": "4641:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9112, + "id": 9731, "isConstant": false, "isLValue": false, "isPure": false, @@ -2424,7 +2424,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4641:12:18", + "src": "4641:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2435,21 +2435,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4629:25:18", + "src": "4629:25:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9115, + "id": 9734, "indexExpression": { "argumentTypes": null, - "id": 9114, + "id": 9733, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9099, - "src": "4655:7:18", + "referencedDeclaration": 9718, + "src": "4655:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2460,27 +2460,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4629:34:18", + "src": "4629:34:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9116, + "id": 9735, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8819, - "src": "4629:38:18", + "referencedDeclaration": 9438, + "src": "4629:38:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 9119, + "id": 9738, "isConstant": false, "isLValue": false, "isPure": false, @@ -2488,7 +2488,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4629:96:18", + "src": "4629:96:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2510,18 +2510,18 @@ "typeString": "uint256" } ], - "id": 9106, + "id": 9725, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9311, - "src": "4597:8:18", + "referencedDeclaration": 9930, + "src": "4597:8:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9120, + "id": 9739, "isConstant": false, "isLValue": false, "isPure": false, @@ -2529,28 +2529,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4597:129:18", + "src": "4597:129:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9121, + "id": 9740, "nodeType": "ExpressionStatement", - "src": "4597:129:18" + "src": "4597:129:19" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 9122, + "id": 9741, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4743:4:18", + "src": "4743:4:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2558,31 +2558,31 @@ }, "value": "true" }, - "functionReturnParameters": 9105, - "id": 9123, + "functionReturnParameters": 9724, + "id": 9742, "nodeType": "Return", - "src": "4736:11:18" + "src": "4736:11:19" } ] }, "documentation": "@dev Atomically decreases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.\n- `spender` must have allowance for the caller of at least\n`subtractedValue`.", - "id": 9125, + "id": 9744, "implemented": true, "kind": "function", "modifiers": [], "name": "decreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 9102, + "id": 9721, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9099, + "id": 9718, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9125, - "src": "4523:15:18", + "scope": 9744, + "src": "4523:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2590,10 +2590,10 @@ "typeString": "address" }, "typeName": { - "id": 9098, + "id": 9717, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4523:7:18", + "src": "4523:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2605,11 +2605,11 @@ }, { "constant": false, - "id": 9101, + "id": 9720, "name": "subtractedValue", "nodeType": "VariableDeclaration", - "scope": 9125, - "src": "4540:23:18", + "scope": 9744, + "src": "4540:23:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2617,10 +2617,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9100, + "id": 9719, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4540:7:18", + "src": "4540:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2630,19 +2630,19 @@ "visibility": "internal" } ], - "src": "4522:42:18" + "src": "4522:42:19" }, "returnParameters": { - "id": 9105, + "id": 9724, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9104, + "id": 9723, "name": "", "nodeType": "VariableDeclaration", - "scope": 9125, - "src": "4581:4:18", + "scope": 9744, + "src": "4581:4:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2650,10 +2650,10 @@ "typeString": "bool" }, "typeName": { - "id": 9103, + "id": 9722, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4581:4:18", + "src": "4581:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2663,19 +2663,19 @@ "visibility": "internal" } ], - "src": "4580:6:18" + "src": "4580:6:19" }, - "scope": 9341, - "src": "4496:258:18", + "scope": 9960, + "src": "4496:258:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 9181, + "id": 9800, "nodeType": "Block", - "src": "5307:385:18", + "src": "5307:385:19", "statements": [ { "expression": { @@ -2687,19 +2687,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9139, + "id": 9758, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9135, + "id": 9754, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9127, - "src": "5325:6:18", + "referencedDeclaration": 9746, + "src": "5325:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2713,14 +2713,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9137, + "id": 9756, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5343:1:18", + "src": "5343:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2736,20 +2736,20 @@ "typeString": "int_const 0" } ], - "id": 9136, + "id": 9755, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5335:7:18", + "src": "5335:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9138, + "id": 9757, "isConstant": false, "isLValue": false, "isPure": true, @@ -2757,13 +2757,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5335:10:18", + "src": "5335:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "5325:20:18", + "src": "5325:20:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2772,14 +2772,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 9140, + "id": 9759, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5347:39:18", + "src": "5347:39:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", @@ -2799,21 +2799,21 @@ "typeString": "literal_string \"ERC20: transfer from the zero address\"" } ], - "id": 9134, + "id": 9753, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "5317:7:18", + "referencedDeclaration": 11102, + "src": "5317:7:19", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9141, + "id": 9760, "isConstant": false, "isLValue": false, "isPure": false, @@ -2821,15 +2821,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5317:70:18", + "src": "5317:70:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9142, + "id": 9761, "nodeType": "ExpressionStatement", - "src": "5317:70:18" + "src": "5317:70:19" }, { "expression": { @@ -2841,19 +2841,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9148, + "id": 9767, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9144, + "id": 9763, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9129, - "src": "5405:9:18", + "referencedDeclaration": 9748, + "src": "5405:9:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2867,14 +2867,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9146, + "id": 9765, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5426:1:18", + "src": "5426:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2890,20 +2890,20 @@ "typeString": "int_const 0" } ], - "id": 9145, + "id": 9764, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5418:7:18", + "src": "5418:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9147, + "id": 9766, "isConstant": false, "isLValue": false, "isPure": true, @@ -2911,13 +2911,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5418:10:18", + "src": "5418:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "5405:23:18", + "src": "5405:23:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2926,14 +2926,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 9149, + "id": 9768, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5430:37:18", + "src": "5430:37:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", @@ -2953,21 +2953,21 @@ "typeString": "literal_string \"ERC20: transfer to the zero address\"" } ], - "id": 9143, + "id": 9762, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "5397:7:18", + "referencedDeclaration": 11102, + "src": "5397:7:19", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9150, + "id": 9769, "isConstant": false, "isLValue": false, "isPure": false, @@ -2975,20 +2975,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5397:71:18", + "src": "5397:71:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9151, + "id": 9770, "nodeType": "ExpressionStatement", - "src": "5397:71:18" + "src": "5397:71:19" }, { "expression": { "argumentTypes": null, - "id": 9162, + "id": 9781, "isConstant": false, "isLValue": false, "isPure": false, @@ -2997,26 +2997,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9152, + "id": 9771, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "5479:9:18", + "referencedDeclaration": 9571, + "src": "5479:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9154, + "id": 9773, "indexExpression": { "argumentTypes": null, - "id": 9153, + "id": 9772, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9127, - "src": "5489:6:18", + "referencedDeclaration": 9746, + "src": "5489:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3027,7 +3027,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5479:17:18", + "src": "5479:17:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3040,12 +3040,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9159, + "id": 9778, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9131, - "src": "5521:6:18", + "referencedDeclaration": 9750, + "src": "5521:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3054,14 +3054,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 9160, + "id": 9779, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5529:40:18", + "src": "5529:40:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", @@ -3085,26 +3085,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9155, + "id": 9774, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "5499:9:18", + "referencedDeclaration": 9571, + "src": "5499:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9157, + "id": 9776, "indexExpression": { "argumentTypes": null, - "id": 9156, + "id": 9775, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9127, - "src": "5509:6:18", + "referencedDeclaration": 9746, + "src": "5509:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3115,27 +3115,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5499:17:18", + "src": "5499:17:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9158, + "id": 9777, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8819, - "src": "5499:21:18", + "referencedDeclaration": 9438, + "src": "5499:21:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 9161, + "id": 9780, "isConstant": false, "isLValue": false, "isPure": false, @@ -3143,26 +3143,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5499:71:18", + "src": "5499:71:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5479:91:18", + "src": "5479:91:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9163, + "id": 9782, "nodeType": "ExpressionStatement", - "src": "5479:91:18" + "src": "5479:91:19" }, { "expression": { "argumentTypes": null, - "id": 9173, + "id": 9792, "isConstant": false, "isLValue": false, "isPure": false, @@ -3171,26 +3171,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9164, + "id": 9783, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "5580:9:18", + "referencedDeclaration": 9571, + "src": "5580:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9166, + "id": 9785, "indexExpression": { "argumentTypes": null, - "id": 9165, + "id": 9784, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9129, - "src": "5590:9:18", + "referencedDeclaration": 9748, + "src": "5590:9:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3201,7 +3201,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5580:20:18", + "src": "5580:20:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3214,12 +3214,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9171, + "id": 9790, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9131, - "src": "5628:6:18", + "referencedDeclaration": 9750, + "src": "5628:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3237,26 +3237,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9167, + "id": 9786, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "5603:9:18", + "referencedDeclaration": 9571, + "src": "5603:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9169, + "id": 9788, "indexExpression": { "argumentTypes": null, - "id": 9168, + "id": 9787, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9129, - "src": "5613:9:18", + "referencedDeclaration": 9748, + "src": "5613:9:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3267,27 +3267,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5603:20:18", + "src": "5603:20:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9170, + "id": 9789, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "5603:24:18", + "referencedDeclaration": 9395, + "src": "5603:24:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9172, + "id": 9791, "isConstant": false, "isLValue": false, "isPure": false, @@ -3295,21 +3295,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5603:32:18", + "src": "5603:32:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5580:55:18", + "src": "5580:55:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9174, + "id": 9793, "nodeType": "ExpressionStatement", - "src": "5580:55:18" + "src": "5580:55:19" }, { "eventCall": { @@ -3317,12 +3317,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9176, + "id": 9795, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9127, - "src": "5659:6:18", + "referencedDeclaration": 9746, + "src": "5659:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3330,12 +3330,12 @@ }, { "argumentTypes": null, - "id": 9177, + "id": 9796, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9129, - "src": "5667:9:18", + "referencedDeclaration": 9748, + "src": "5667:9:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3343,12 +3343,12 @@ }, { "argumentTypes": null, - "id": 9178, + "id": 9797, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9131, - "src": "5678:6:18", + "referencedDeclaration": 9750, + "src": "5678:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3370,18 +3370,18 @@ "typeString": "uint256" } ], - "id": 9175, + "id": 9794, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "5650:8:18", + "referencedDeclaration": 10078, + "src": "5650:8:19", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9179, + "id": 9798, "isConstant": false, "isLValue": false, "isPure": false, @@ -3389,36 +3389,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5650:35:18", + "src": "5650:35:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9180, + "id": 9799, "nodeType": "EmitStatement", - "src": "5645:40:18" + "src": "5645:40:19" } ] }, "documentation": "@dev Moves tokens `amount` from `sender` to `recipient`.\n * This is internal function is equivalent to {transfer}, and can be used to\ne.g. implement automatic token fees, slashing mechanisms, etc.\n * Emits a {Transfer} event.\n * Requirements:\n * - `sender` cannot be the zero address.\n- `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.", - "id": 9182, + "id": 9801, "implemented": true, "kind": "function", "modifiers": [], "name": "_transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 9132, + "id": 9751, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9127, + "id": 9746, "name": "sender", "nodeType": "VariableDeclaration", - "scope": 9182, - "src": "5247:14:18", + "scope": 9801, + "src": "5247:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3426,10 +3426,10 @@ "typeString": "address" }, "typeName": { - "id": 9126, + "id": 9745, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5247:7:18", + "src": "5247:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3441,11 +3441,11 @@ }, { "constant": false, - "id": 9129, + "id": 9748, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 9182, - "src": "5263:17:18", + "scope": 9801, + "src": "5263:17:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3453,10 +3453,10 @@ "typeString": "address" }, "typeName": { - "id": 9128, + "id": 9747, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5263:7:18", + "src": "5263:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3468,11 +3468,11 @@ }, { "constant": false, - "id": 9131, + "id": 9750, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9182, - "src": "5282:14:18", + "scope": 9801, + "src": "5282:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3480,10 +3480,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9130, + "id": 9749, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5282:7:18", + "src": "5282:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3493,25 +3493,25 @@ "visibility": "internal" } ], - "src": "5246:51:18" + "src": "5246:51:19" }, "returnParameters": { - "id": 9133, + "id": 9752, "nodeType": "ParameterList", "parameters": [], - "src": "5307:0:18" + "src": "5307:0:19" }, - "scope": 9341, - "src": "5228:464:18", + "scope": 9960, + "src": "5228:464:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 9224, + "id": 9843, "nodeType": "Block", - "src": "6019:245:18", + "src": "6019:245:19", "statements": [ { "expression": { @@ -3523,19 +3523,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9194, + "id": 9813, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9190, + "id": 9809, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9184, - "src": "6037:7:18", + "referencedDeclaration": 9803, + "src": "6037:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3549,14 +3549,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9192, + "id": 9811, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6056:1:18", + "src": "6056:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3572,20 +3572,20 @@ "typeString": "int_const 0" } ], - "id": 9191, + "id": 9810, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6048:7:18", + "src": "6048:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9193, + "id": 9812, "isConstant": false, "isLValue": false, "isPure": true, @@ -3593,13 +3593,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6048:10:18", + "src": "6048:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "6037:21:18", + "src": "6037:21:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3608,14 +3608,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 9195, + "id": 9814, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6060:33:18", + "src": "6060:33:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", @@ -3635,21 +3635,21 @@ "typeString": "literal_string \"ERC20: mint to the zero address\"" } ], - "id": 9189, + "id": 9808, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "6029:7:18", + "referencedDeclaration": 11102, + "src": "6029:7:19", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9196, + "id": 9815, "isConstant": false, "isLValue": false, "isPure": false, @@ -3657,32 +3657,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6029:65:18", + "src": "6029:65:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9197, + "id": 9816, "nodeType": "ExpressionStatement", - "src": "6029:65:18" + "src": "6029:65:19" }, { "expression": { "argumentTypes": null, - "id": 9203, + "id": 9822, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 9198, + "id": 9817, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8960, - "src": "6105:12:18", + "referencedDeclaration": 9579, + "src": "6105:12:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3695,12 +3695,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9201, + "id": 9820, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9186, - "src": "6137:6:18", + "referencedDeclaration": 9805, + "src": "6137:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3716,32 +3716,32 @@ ], "expression": { "argumentTypes": null, - "id": 9199, + "id": 9818, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8960, - "src": "6120:12:18", + "referencedDeclaration": 9579, + "src": "6120:12:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9200, + "id": 9819, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "6120:16:18", + "referencedDeclaration": 9395, + "src": "6120:16:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9202, + "id": 9821, "isConstant": false, "isLValue": false, "isPure": false, @@ -3749,26 +3749,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6120:24:18", + "src": "6120:24:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6105:39:18", + "src": "6105:39:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9204, + "id": 9823, "nodeType": "ExpressionStatement", - "src": "6105:39:18" + "src": "6105:39:19" }, { "expression": { "argumentTypes": null, - "id": 9214, + "id": 9833, "isConstant": false, "isLValue": false, "isPure": false, @@ -3777,26 +3777,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9205, + "id": 9824, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "6154:9:18", + "referencedDeclaration": 9571, + "src": "6154:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9207, + "id": 9826, "indexExpression": { "argumentTypes": null, - "id": 9206, + "id": 9825, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9184, - "src": "6164:7:18", + "referencedDeclaration": 9803, + "src": "6164:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3807,7 +3807,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6154:18:18", + "src": "6154:18:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3820,12 +3820,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9212, + "id": 9831, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9186, - "src": "6198:6:18", + "referencedDeclaration": 9805, + "src": "6198:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3843,26 +3843,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9208, + "id": 9827, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "6175:9:18", + "referencedDeclaration": 9571, + "src": "6175:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9210, + "id": 9829, "indexExpression": { "argumentTypes": null, - "id": 9209, + "id": 9828, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9184, - "src": "6185:7:18", + "referencedDeclaration": 9803, + "src": "6185:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3873,27 +3873,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6175:18:18", + "src": "6175:18:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9211, + "id": 9830, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "6175:22:18", + "referencedDeclaration": 9395, + "src": "6175:22:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9213, + "id": 9832, "isConstant": false, "isLValue": false, "isPure": false, @@ -3901,21 +3901,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6175:30:18", + "src": "6175:30:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6154:51:18", + "src": "6154:51:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9215, + "id": 9834, "nodeType": "ExpressionStatement", - "src": "6154:51:18" + "src": "6154:51:19" }, { "eventCall": { @@ -3927,14 +3927,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9218, + "id": 9837, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6237:1:18", + "src": "6237:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3950,20 +3950,20 @@ "typeString": "int_const 0" } ], - "id": 9217, + "id": 9836, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6229:7:18", + "src": "6229:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9219, + "id": 9838, "isConstant": false, "isLValue": false, "isPure": true, @@ -3971,7 +3971,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6229:10:18", + "src": "6229:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -3979,12 +3979,12 @@ }, { "argumentTypes": null, - "id": 9220, + "id": 9839, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9184, - "src": "6241:7:18", + "referencedDeclaration": 9803, + "src": "6241:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3992,12 +3992,12 @@ }, { "argumentTypes": null, - "id": 9221, + "id": 9840, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9186, - "src": "6250:6:18", + "referencedDeclaration": 9805, + "src": "6250:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4019,18 +4019,18 @@ "typeString": "uint256" } ], - "id": 9216, + "id": 9835, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "6220:8:18", + "referencedDeclaration": 10078, + "src": "6220:8:19", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9222, + "id": 9841, "isConstant": false, "isLValue": false, "isPure": false, @@ -4038,36 +4038,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6220:37:18", + "src": "6220:37:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9223, + "id": 9842, "nodeType": "EmitStatement", - "src": "6215:42:18" + "src": "6215:42:19" } ] }, "documentation": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements\n * - `to` cannot be the zero address.", - "id": 9225, + "id": 9844, "implemented": true, "kind": "function", "modifiers": [], "name": "_mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 9187, + "id": 9806, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9184, + "id": 9803, "name": "account", "nodeType": "VariableDeclaration", - "scope": 9225, - "src": "5977:15:18", + "scope": 9844, + "src": "5977:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4075,10 +4075,10 @@ "typeString": "address" }, "typeName": { - "id": 9183, + "id": 9802, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5977:7:18", + "src": "5977:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4090,11 +4090,11 @@ }, { "constant": false, - "id": 9186, + "id": 9805, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9225, - "src": "5994:14:18", + "scope": 9844, + "src": "5994:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4102,10 +4102,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9185, + "id": 9804, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5994:7:18", + "src": "5994:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4115,25 +4115,25 @@ "visibility": "internal" } ], - "src": "5976:33:18" + "src": "5976:33:19" }, "returnParameters": { - "id": 9188, + "id": 9807, "nodeType": "ParameterList", "parameters": [], - "src": "6019:0:18" + "src": "6019:0:19" }, - "scope": 9341, - "src": "5962:302:18", + "scope": 9960, + "src": "5962:302:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 9268, + "id": 9887, "nodeType": "Block", - "src": "6641:285:18", + "src": "6641:285:19", "statements": [ { "expression": { @@ -4145,19 +4145,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9237, + "id": 9856, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9233, + "id": 9852, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9227, - "src": "6659:7:18", + "referencedDeclaration": 9846, + "src": "6659:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4171,14 +4171,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9235, + "id": 9854, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6678:1:18", + "src": "6678:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4194,20 +4194,20 @@ "typeString": "int_const 0" } ], - "id": 9234, + "id": 9853, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6670:7:18", + "src": "6670:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9236, + "id": 9855, "isConstant": false, "isLValue": false, "isPure": true, @@ -4215,13 +4215,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6670:10:18", + "src": "6670:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "6659:21:18", + "src": "6659:21:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4230,14 +4230,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 9238, + "id": 9857, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6682:35:18", + "src": "6682:35:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", @@ -4257,21 +4257,21 @@ "typeString": "literal_string \"ERC20: burn from the zero address\"" } ], - "id": 9232, + "id": 9851, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "6651:7:18", + "referencedDeclaration": 11102, + "src": "6651:7:19", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9239, + "id": 9858, "isConstant": false, "isLValue": false, "isPure": false, @@ -4279,20 +4279,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6651:67:18", + "src": "6651:67:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9240, + "id": 9859, "nodeType": "ExpressionStatement", - "src": "6651:67:18" + "src": "6651:67:19" }, { "expression": { "argumentTypes": null, - "id": 9251, + "id": 9870, "isConstant": false, "isLValue": false, "isPure": false, @@ -4301,26 +4301,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9241, + "id": 9860, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "6729:9:18", + "referencedDeclaration": 9571, + "src": "6729:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9243, + "id": 9862, "indexExpression": { "argumentTypes": null, - "id": 9242, + "id": 9861, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9227, - "src": "6739:7:18", + "referencedDeclaration": 9846, + "src": "6739:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4331,7 +4331,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6729:18:18", + "src": "6729:18:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4344,12 +4344,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9248, + "id": 9867, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9229, - "src": "6773:6:18", + "referencedDeclaration": 9848, + "src": "6773:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4358,14 +4358,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 9249, + "id": 9868, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6781:36:18", + "src": "6781:36:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", @@ -4389,26 +4389,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9244, + "id": 9863, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "6750:9:18", + "referencedDeclaration": 9571, + "src": "6750:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9246, + "id": 9865, "indexExpression": { "argumentTypes": null, - "id": 9245, + "id": 9864, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9227, - "src": "6760:7:18", + "referencedDeclaration": 9846, + "src": "6760:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4419,27 +4419,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6750:18:18", + "src": "6750:18:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9247, + "id": 9866, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8819, - "src": "6750:22:18", + "referencedDeclaration": 9438, + "src": "6750:22:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 9250, + "id": 9869, "isConstant": false, "isLValue": false, "isPure": false, @@ -4447,38 +4447,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6750:68:18", + "src": "6750:68:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6729:89:18", + "src": "6729:89:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9252, + "id": 9871, "nodeType": "ExpressionStatement", - "src": "6729:89:18" + "src": "6729:89:19" }, { "expression": { "argumentTypes": null, - "id": 9258, + "id": 9877, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 9253, + "id": 9872, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8960, - "src": "6828:12:18", + "referencedDeclaration": 9579, + "src": "6828:12:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4491,12 +4491,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9256, + "id": 9875, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9229, - "src": "6860:6:18", + "referencedDeclaration": 9848, + "src": "6860:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4512,32 +4512,32 @@ ], "expression": { "argumentTypes": null, - "id": 9254, + "id": 9873, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8960, - "src": "6843:12:18", + "referencedDeclaration": 9579, + "src": "6843:12:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9255, + "id": 9874, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8792, - "src": "6843:16:18", + "referencedDeclaration": 9411, + "src": "6843:16:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9257, + "id": 9876, "isConstant": false, "isLValue": false, "isPure": false, @@ -4545,21 +4545,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6843:24:18", + "src": "6843:24:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6828:39:18", + "src": "6828:39:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9259, + "id": 9878, "nodeType": "ExpressionStatement", - "src": "6828:39:18" + "src": "6828:39:19" }, { "eventCall": { @@ -4567,12 +4567,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9261, + "id": 9880, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9227, - "src": "6891:7:18", + "referencedDeclaration": 9846, + "src": "6891:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4584,14 +4584,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9263, + "id": 9882, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6908:1:18", + "src": "6908:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4607,20 +4607,20 @@ "typeString": "int_const 0" } ], - "id": 9262, + "id": 9881, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6900:7:18", + "src": "6900:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9264, + "id": 9883, "isConstant": false, "isLValue": false, "isPure": true, @@ -4628,7 +4628,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6900:10:18", + "src": "6900:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -4636,12 +4636,12 @@ }, { "argumentTypes": null, - "id": 9265, + "id": 9884, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9229, - "src": "6912:6:18", + "referencedDeclaration": 9848, + "src": "6912:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4663,18 +4663,18 @@ "typeString": "uint256" } ], - "id": 9260, + "id": 9879, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "6882:8:18", + "referencedDeclaration": 10078, + "src": "6882:8:19", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9266, + "id": 9885, "isConstant": false, "isLValue": false, "isPure": false, @@ -4682,36 +4682,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6882:37:18", + "src": "6882:37:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9267, + "id": 9886, "nodeType": "EmitStatement", - "src": "6877:42:18" + "src": "6877:42:19" } ] }, "documentation": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens.", - "id": 9269, + "id": 9888, "implemented": true, "kind": "function", "modifiers": [], "name": "_burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 9230, + "id": 9849, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9227, + "id": 9846, "name": "account", "nodeType": "VariableDeclaration", - "scope": 9269, - "src": "6599:15:18", + "scope": 9888, + "src": "6599:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4719,10 +4719,10 @@ "typeString": "address" }, "typeName": { - "id": 9226, + "id": 9845, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6599:7:18", + "src": "6599:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4734,11 +4734,11 @@ }, { "constant": false, - "id": 9229, + "id": 9848, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9269, - "src": "6616:14:18", + "scope": 9888, + "src": "6616:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4746,10 +4746,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9228, + "id": 9847, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6616:7:18", + "src": "6616:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4759,25 +4759,25 @@ "visibility": "internal" } ], - "src": "6598:33:18" + "src": "6598:33:19" }, "returnParameters": { - "id": 9231, + "id": 9850, "nodeType": "ParameterList", "parameters": [], - "src": "6641:0:18" + "src": "6641:0:19" }, - "scope": 9341, - "src": "6584:342:18", + "scope": 9960, + "src": "6584:342:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 9310, + "id": 9929, "nodeType": "Block", - "src": "7426:257:18", + "src": "7426:257:19", "statements": [ { "expression": { @@ -4789,19 +4789,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9283, + "id": 9902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9279, + "id": 9898, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9271, - "src": "7444:5:18", + "referencedDeclaration": 9890, + "src": "7444:5:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4815,14 +4815,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9281, + "id": 9900, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7461:1:18", + "src": "7461:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4838,20 +4838,20 @@ "typeString": "int_const 0" } ], - "id": 9280, + "id": 9899, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7453:7:18", + "src": "7453:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9282, + "id": 9901, "isConstant": false, "isLValue": false, "isPure": true, @@ -4859,13 +4859,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7453:10:18", + "src": "7453:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7444:19:18", + "src": "7444:19:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4874,14 +4874,14 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 9284, + "id": 9903, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7465:38:18", + "src": "7465:38:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", @@ -4901,21 +4901,21 @@ "typeString": "literal_string \"ERC20: approve from the zero address\"" } ], - "id": 9278, + "id": 9897, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "7436:7:18", + "referencedDeclaration": 11102, + "src": "7436:7:19", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9285, + "id": 9904, "isConstant": false, "isLValue": false, "isPure": false, @@ -4923,15 +4923,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7436:68:18", + "src": "7436:68:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9286, + "id": 9905, "nodeType": "ExpressionStatement", - "src": "7436:68:18" + "src": "7436:68:19" }, { "expression": { @@ -4943,19 +4943,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9292, + "id": 9911, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9288, + "id": 9907, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9273, - "src": "7522:7:18", + "referencedDeclaration": 9892, + "src": "7522:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4969,14 +4969,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9290, + "id": 9909, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7541:1:18", + "src": "7541:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4992,20 +4992,20 @@ "typeString": "int_const 0" } ], - "id": 9289, + "id": 9908, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7533:7:18", + "src": "7533:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9291, + "id": 9910, "isConstant": false, "isLValue": false, "isPure": true, @@ -5013,13 +5013,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7533:10:18", + "src": "7533:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7522:21:18", + "src": "7522:21:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5028,14 +5028,14 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 9293, + "id": 9912, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7545:36:18", + "src": "7545:36:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", @@ -5055,21 +5055,21 @@ "typeString": "literal_string \"ERC20: approve to the zero address\"" } ], - "id": 9287, + "id": 9906, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "7514:7:18", + "referencedDeclaration": 11102, + "src": "7514:7:19", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9294, + "id": 9913, "isConstant": false, "isLValue": false, "isPure": false, @@ -5077,20 +5077,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7514:68:18", + "src": "7514:68:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9295, + "id": 9914, "nodeType": "ExpressionStatement", - "src": "7514:68:18" + "src": "7514:68:19" }, { "expression": { "argumentTypes": null, - "id": 9302, + "id": 9921, "isConstant": false, "isLValue": false, "isPure": false, @@ -5101,26 +5101,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9296, + "id": 9915, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8958, - "src": "7593:11:18", + "referencedDeclaration": 9577, + "src": "7593:11:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 9299, + "id": 9918, "indexExpression": { "argumentTypes": null, - "id": 9297, + "id": 9916, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9271, - "src": "7605:5:18", + "referencedDeclaration": 9890, + "src": "7605:5:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5131,21 +5131,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7593:18:18", + "src": "7593:18:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9300, + "id": 9919, "indexExpression": { "argumentTypes": null, - "id": 9298, + "id": 9917, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9273, - "src": "7612:7:18", + "referencedDeclaration": 9892, + "src": "7612:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5156,7 +5156,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7593:27:18", + "src": "7593:27:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5166,26 +5166,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 9301, + "id": 9920, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9275, - "src": "7623:6:18", + "referencedDeclaration": 9894, + "src": "7623:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7593:36:18", + "src": "7593:36:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9303, + "id": 9922, "nodeType": "ExpressionStatement", - "src": "7593:36:18" + "src": "7593:36:19" }, { "eventCall": { @@ -5193,12 +5193,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9305, + "id": 9924, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9271, - "src": "7653:5:18", + "referencedDeclaration": 9890, + "src": "7653:5:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5206,12 +5206,12 @@ }, { "argumentTypes": null, - "id": 9306, + "id": 9925, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9273, - "src": "7660:7:18", + "referencedDeclaration": 9892, + "src": "7660:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5219,12 +5219,12 @@ }, { "argumentTypes": null, - "id": 9307, + "id": 9926, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9275, - "src": "7669:6:18", + "referencedDeclaration": 9894, + "src": "7669:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5246,18 +5246,18 @@ "typeString": "uint256" } ], - "id": 9304, + "id": 9923, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "7644:8:18", + "referencedDeclaration": 10086, + "src": "7644:8:19", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9308, + "id": 9927, "isConstant": false, "isLValue": false, "isPure": false, @@ -5265,36 +5265,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7644:32:18", + "src": "7644:32:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9309, + "id": 9928, "nodeType": "EmitStatement", - "src": "7639:37:18" + "src": "7639:37:19" } ] }, "documentation": "@dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n * This is internal function is equivalent to `approve`, and can be used to\ne.g. set automatic allowances for certain subsystems, etc.\n * Emits an {Approval} event.\n * Requirements:\n * - `owner` cannot be the zero address.\n- `spender` cannot be the zero address.", - "id": 9311, + "id": 9930, "implemented": true, "kind": "function", "modifiers": [], "name": "_approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 9276, + "id": 9895, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9271, + "id": 9890, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 9311, - "src": "7369:13:18", + "scope": 9930, + "src": "7369:13:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5302,10 +5302,10 @@ "typeString": "address" }, "typeName": { - "id": 9270, + "id": 9889, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7369:7:18", + "src": "7369:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5317,11 +5317,11 @@ }, { "constant": false, - "id": 9273, + "id": 9892, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9311, - "src": "7384:15:18", + "scope": 9930, + "src": "7384:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5329,10 +5329,10 @@ "typeString": "address" }, "typeName": { - "id": 9272, + "id": 9891, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7384:7:18", + "src": "7384:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5344,11 +5344,11 @@ }, { "constant": false, - "id": 9275, + "id": 9894, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9311, - "src": "7401:14:18", + "scope": 9930, + "src": "7401:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5356,10 +5356,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9274, + "id": 9893, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7401:7:18", + "src": "7401:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5369,25 +5369,25 @@ "visibility": "internal" } ], - "src": "7368:48:18" + "src": "7368:48:19" }, "returnParameters": { - "id": 9277, + "id": 9896, "nodeType": "ParameterList", "parameters": [], - "src": "7426:0:18" + "src": "7426:0:19" }, - "scope": 9341, - "src": "7351:332:18", + "scope": 9960, + "src": "7351:332:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 9339, + "id": 9958, "nodeType": "Block", - "src": "7922:168:18", + "src": "7922:168:19", "statements": [ { "expression": { @@ -5395,12 +5395,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9319, + "id": 9938, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9313, - "src": "7938:7:18", + "referencedDeclaration": 9932, + "src": "7938:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5408,12 +5408,12 @@ }, { "argumentTypes": null, - "id": 9320, + "id": 9939, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9315, - "src": "7947:6:18", + "referencedDeclaration": 9934, + "src": "7947:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5431,18 +5431,18 @@ "typeString": "uint256" } ], - "id": 9318, + "id": 9937, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9269, - "src": "7932:5:18", + "referencedDeclaration": 9888, + "src": "7932:5:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 9321, + "id": 9940, "isConstant": false, "isLValue": false, "isPure": false, @@ -5450,15 +5450,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7932:22:18", + "src": "7932:22:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9322, + "id": 9941, "nodeType": "ExpressionStatement", - "src": "7932:22:18" + "src": "7932:22:19" }, { "expression": { @@ -5466,12 +5466,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9324, + "id": 9943, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9313, - "src": "7973:7:18", + "referencedDeclaration": 9932, + "src": "7973:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5482,18 +5482,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 9325, + "id": 9944, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "7982:10:18", + "referencedDeclaration": 9356, + "src": "7982:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9326, + "id": 9945, "isConstant": false, "isLValue": false, "isPure": false, @@ -5501,7 +5501,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7982:12:18", + "src": "7982:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -5512,12 +5512,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9334, + "id": 9953, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9315, - "src": "8035:6:18", + "referencedDeclaration": 9934, + "src": "8035:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5526,14 +5526,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 9335, + "id": 9954, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8043:38:18", + "src": "8043:38:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", @@ -5559,26 +5559,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9327, + "id": 9946, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8958, - "src": "7996:11:18", + "referencedDeclaration": 9577, + "src": "7996:11:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 9329, + "id": 9948, "indexExpression": { "argumentTypes": null, - "id": 9328, + "id": 9947, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9313, - "src": "8008:7:18", + "referencedDeclaration": 9932, + "src": "8008:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5589,30 +5589,30 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7996:20:18", + "src": "7996:20:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9332, + "id": 9951, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 9330, + "id": 9949, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "8017:10:18", + "referencedDeclaration": 9356, + "src": "8017:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9331, + "id": 9950, "isConstant": false, "isLValue": false, "isPure": false, @@ -5620,7 +5620,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8017:12:18", + "src": "8017:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -5631,27 +5631,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7996:34:18", + "src": "7996:34:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9333, + "id": 9952, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8819, - "src": "7996:38:18", + "referencedDeclaration": 9438, + "src": "7996:38:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 9336, + "id": 9955, "isConstant": false, "isLValue": false, "isPure": false, @@ -5659,7 +5659,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7996:86:18", + "src": "7996:86:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5681,18 +5681,18 @@ "typeString": "uint256" } ], - "id": 9323, + "id": 9942, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9311, - "src": "7964:8:18", + "referencedDeclaration": 9930, + "src": "7964:8:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9337, + "id": 9956, "isConstant": false, "isLValue": false, "isPure": false, @@ -5700,36 +5700,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7964:119:18", + "src": "7964:119:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9338, + "id": 9957, "nodeType": "ExpressionStatement", - "src": "7964:119:18" + "src": "7964:119:19" } ] }, "documentation": "@dev Destroys `amount` tokens from `account`.`amount` is then deducted\nfrom the caller's allowance.\n * See {_burn} and {_approve}.", - "id": 9340, + "id": 9959, "implemented": true, "kind": "function", "modifiers": [], "name": "_burnFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 9316, + "id": 9935, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9313, + "id": 9932, "name": "account", "nodeType": "VariableDeclaration", - "scope": 9340, - "src": "7880:15:18", + "scope": 9959, + "src": "7880:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5737,10 +5737,10 @@ "typeString": "address" }, "typeName": { - "id": 9312, + "id": 9931, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7880:7:18", + "src": "7880:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5752,11 +5752,11 @@ }, { "constant": false, - "id": 9315, + "id": 9934, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9340, - "src": "7897:14:18", + "scope": 9959, + "src": "7897:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5764,10 +5764,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9314, + "id": 9933, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7897:7:18", + "src": "7897:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5777,39 +5777,39 @@ "visibility": "internal" } ], - "src": "7879:33:18" + "src": "7879:33:19" }, "returnParameters": { - "id": 9317, + "id": 9936, "nodeType": "ParameterList", "parameters": [], - "src": "7922:0:18" + "src": "7922:0:19" }, - "scope": 9341, - "src": "7861:229:18", + "scope": 9960, + "src": "7861:229:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 9342, - "src": "1268:6824:18" + "scope": 9961, + "src": "1268:6824:19" } ], - "src": "0:8093:18" + "src": "0:8093:19" }, "legacyAST": { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "exportedSymbols": { "ERC20": [ - 9341 + 9960 ] }, - "id": 9342, + "id": 9961, "nodeType": "SourceUnit", "nodes": [ { - "id": 8938, + "id": 9557, "literals": [ "solidity", "^", @@ -5817,38 +5817,38 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "0:23:18" + "src": "0:23:19" }, { "absolutePath": "openzeppelin-solidity/contracts/GSN/Context.sol", "file": "../../GSN/Context.sol", - "id": 8939, + "id": 9558, "nodeType": "ImportDirective", - "scope": 9342, - "sourceUnit": 8750, - "src": "25:31:18", + "scope": 9961, + "sourceUnit": 9369, + "src": "25:31:19", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 8940, + "id": 9559, "nodeType": "ImportDirective", - "scope": 9342, - "sourceUnit": 9469, - "src": "57:22:18", + "scope": 9961, + "sourceUnit": 10088, + "src": "57:22:19", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 8941, + "id": 9560, "nodeType": "ImportDirective", - "scope": 9342, - "sourceUnit": 8937, - "src": "80:33:18", + "scope": 9961, + "sourceUnit": 9556, + "src": "80:33:19", "symbolAliases": [], "unitAlias": "" }, @@ -5858,76 +5858,76 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 8942, + "id": 9561, "name": "Context", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8749, - "src": "1286:7:18", + "referencedDeclaration": 9368, + "src": "1286:7:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$8749", + "typeIdentifier": "t_contract$_Context_$9368", "typeString": "contract Context" } }, - "id": 8943, + "id": 9562, "nodeType": "InheritanceSpecifier", - "src": "1286:7:18" + "src": "1286:7:19" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 8944, + "id": 9563, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9468, - "src": "1295:6:18", + "referencedDeclaration": 10087, + "src": "1295:6:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9468", + "typeIdentifier": "t_contract$_IERC20_$10087", "typeString": "contract IERC20" } }, - "id": 8945, + "id": 9564, "nodeType": "InheritanceSpecifier", - "src": "1295:6:18" + "src": "1295:6:19" } ], "contractDependencies": [ - 8749, - 9468 + 9368, + 10087 ], "contractKind": "contract", "documentation": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20Mintable}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}.", "fullyImplemented": true, - "id": 9341, + "id": 9960, "linearizedBaseContracts": [ - 9341, - 9468, - 8749 + 9960, + 10087, + 9368 ], "name": "ERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 8948, + "id": 9567, "libraryName": { "contractScope": null, - "id": 8946, + "id": 9565, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8936, - "src": "1314:8:18", + "referencedDeclaration": 9555, + "src": "1314:8:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8936", + "typeIdentifier": "t_contract$_SafeMath_$9555", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "1308:27:18", + "src": "1308:27:19", "typeName": { - "id": 8947, + "id": 9566, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1327:7:18", + "src": "1327:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5936,11 +5936,11 @@ }, { "constant": false, - "id": 8952, + "id": 9571, "name": "_balances", "nodeType": "VariableDeclaration", - "scope": 9341, - "src": "1341:46:18", + "scope": 9960, + "src": "1341:46:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5948,28 +5948,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 8951, + "id": 9570, "keyType": { - "id": 8949, + "id": 9568, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1350:7:18", + "src": "1350:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1341:28:18", + "src": "1341:28:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 8950, + "id": 9569, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1361:7:18", + "src": "1361:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5981,11 +5981,11 @@ }, { "constant": false, - "id": 8958, + "id": 9577, "name": "_allowances", "nodeType": "VariableDeclaration", - "scope": 9341, - "src": "1394:69:18", + "scope": 9960, + "src": "1394:69:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5993,46 +5993,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 8957, + "id": 9576, "keyType": { - "id": 8953, + "id": 9572, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1403:7:18", + "src": "1403:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1394:49:18", + "src": "1394:49:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 8956, + "id": 9575, "keyType": { - "id": 8954, + "id": 9573, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1423:7:18", + "src": "1423:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1414:28:18", + "src": "1414:28:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 8955, + "id": 9574, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1434:7:18", + "src": "1434:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6045,11 +6045,11 @@ }, { "constant": false, - "id": 8960, + "id": 9579, "name": "_totalSupply", "nodeType": "VariableDeclaration", - "scope": 9341, - "src": "1470:28:18", + "scope": 9960, + "src": "1470:28:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -6057,10 +6057,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8959, + "id": 9578, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1470:7:18", + "src": "1470:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6071,55 +6071,55 @@ }, { "body": { - "id": 8967, + "id": 9586, "nodeType": "Block", - "src": "1612:36:18", + "src": "1612:36:19", "statements": [ { "expression": { "argumentTypes": null, - "id": 8965, + "id": 9584, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8960, - "src": "1629:12:18", + "referencedDeclaration": 9579, + "src": "1629:12:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8964, - "id": 8966, + "functionReturnParameters": 9583, + "id": 9585, "nodeType": "Return", - "src": "1622:19:18" + "src": "1622:19:19" } ] }, "documentation": "@dev See {IERC20-totalSupply}.", - "id": 8968, + "id": 9587, "implemented": true, "kind": "function", "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 8961, + "id": 9580, "nodeType": "ParameterList", "parameters": [], - "src": "1579:2:18" + "src": "1579:2:19" }, "returnParameters": { - "id": 8964, + "id": 9583, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8963, + "id": 9582, "name": "", "nodeType": "VariableDeclaration", - "scope": 8968, - "src": "1603:7:18", + "scope": 9587, + "src": "1603:7:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6127,10 +6127,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8962, + "id": 9581, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1603:7:18", + "src": "1603:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6140,45 +6140,45 @@ "visibility": "internal" } ], - "src": "1602:9:18" + "src": "1602:9:19" }, - "scope": 9341, - "src": "1559:89:18", + "scope": 9960, + "src": "1559:89:19", "stateMutability": "view", - "superFunction": 9406, + "superFunction": 10025, "visibility": "public" }, { "body": { - "id": 8979, + "id": 9598, "nodeType": "Block", - "src": "1772:42:18", + "src": "1772:42:19", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8975, + "id": 9594, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "1789:9:18", + "referencedDeclaration": 9571, + "src": "1789:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 8977, + "id": 9596, "indexExpression": { "argumentTypes": null, - "id": 8976, + "id": 9595, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8970, - "src": "1799:7:18", + "referencedDeclaration": 9589, + "src": "1799:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6189,37 +6189,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1789:18:18", + "src": "1789:18:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8974, - "id": 8978, + "functionReturnParameters": 9593, + "id": 9597, "nodeType": "Return", - "src": "1782:25:18" + "src": "1782:25:19" } ] }, "documentation": "@dev See {IERC20-balanceOf}.", - "id": 8980, + "id": 9599, "implemented": true, "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 8971, + "id": 9590, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8970, + "id": 9589, "name": "account", "nodeType": "VariableDeclaration", - "scope": 8980, - "src": "1725:15:18", + "scope": 9599, + "src": "1725:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6227,10 +6227,10 @@ "typeString": "address" }, "typeName": { - "id": 8969, + "id": 9588, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1725:7:18", + "src": "1725:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6241,19 +6241,19 @@ "visibility": "internal" } ], - "src": "1724:17:18" + "src": "1724:17:19" }, "returnParameters": { - "id": 8974, + "id": 9593, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8973, + "id": 9592, "name": "", "nodeType": "VariableDeclaration", - "scope": 8980, - "src": "1763:7:18", + "scope": 9599, + "src": "1763:7:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6261,10 +6261,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8972, + "id": 9591, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1763:7:18", + "src": "1763:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6274,19 +6274,19 @@ "visibility": "internal" } ], - "src": "1762:9:18" + "src": "1762:9:19" }, - "scope": 9341, - "src": "1706:108:18", + "scope": 9960, + "src": "1706:108:19", "stateMutability": "view", - "superFunction": 9413, + "superFunction": 10032, "visibility": "public" }, { "body": { - "id": 8998, + "id": 9617, "nodeType": "Block", - "src": "2092:80:18", + "src": "2092:80:19", "statements": [ { "expression": { @@ -6297,18 +6297,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 8990, + "id": 9609, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "2112:10:18", + "referencedDeclaration": 9356, + "src": "2112:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 8991, + "id": 9610, "isConstant": false, "isLValue": false, "isPure": false, @@ -6316,7 +6316,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2112:12:18", + "src": "2112:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -6324,12 +6324,12 @@ }, { "argumentTypes": null, - "id": 8992, + "id": 9611, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8982, - "src": "2126:9:18", + "referencedDeclaration": 9601, + "src": "2126:9:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6337,12 +6337,12 @@ }, { "argumentTypes": null, - "id": 8993, + "id": 9612, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8984, - "src": "2137:6:18", + "referencedDeclaration": 9603, + "src": "2137:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6364,18 +6364,18 @@ "typeString": "uint256" } ], - "id": 8989, + "id": 9608, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9182, - "src": "2102:9:18", + "referencedDeclaration": 9801, + "src": "2102:9:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 8994, + "id": 9613, "isConstant": false, "isLValue": false, "isPure": false, @@ -6383,28 +6383,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2102:42:18", + "src": "2102:42:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8995, + "id": 9614, "nodeType": "ExpressionStatement", - "src": "2102:42:18" + "src": "2102:42:19" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 8996, + "id": 9615, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2161:4:18", + "src": "2161:4:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6412,31 +6412,31 @@ }, "value": "true" }, - "functionReturnParameters": 8988, - "id": 8997, + "functionReturnParameters": 9607, + "id": 9616, "nodeType": "Return", - "src": "2154:11:18" + "src": "2154:11:19" } ] }, "documentation": "@dev See {IERC20-transfer}.\n * Requirements:\n * - `recipient` cannot be the zero address.\n- the caller must have a balance of at least `amount`.", - "id": 8999, + "id": 9618, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 8985, + "id": 9604, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8982, + "id": 9601, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 8999, - "src": "2035:17:18", + "scope": 9618, + "src": "2035:17:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6444,10 +6444,10 @@ "typeString": "address" }, "typeName": { - "id": 8981, + "id": 9600, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2035:7:18", + "src": "2035:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6459,11 +6459,11 @@ }, { "constant": false, - "id": 8984, + "id": 9603, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 8999, - "src": "2054:14:18", + "scope": 9618, + "src": "2054:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6471,10 +6471,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8983, + "id": 9602, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2054:7:18", + "src": "2054:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6484,19 +6484,19 @@ "visibility": "internal" } ], - "src": "2034:35:18" + "src": "2034:35:19" }, "returnParameters": { - "id": 8988, + "id": 9607, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8987, + "id": 9606, "name": "", "nodeType": "VariableDeclaration", - "scope": 8999, - "src": "2086:4:18", + "scope": 9618, + "src": "2086:4:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6504,10 +6504,10 @@ "typeString": "bool" }, "typeName": { - "id": 8986, + "id": 9605, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2086:4:18", + "src": "2086:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6517,19 +6517,19 @@ "visibility": "internal" } ], - "src": "2085:6:18" + "src": "2085:6:19" }, - "scope": 9341, - "src": "2017:155:18", + "scope": 9960, + "src": "2017:155:19", "stateMutability": "nonpayable", - "superFunction": 9422, + "superFunction": 10041, "visibility": "public" }, { "body": { - "id": 9014, + "id": 9633, "nodeType": "Block", - "src": "2311:51:18", + "src": "2311:51:19", "statements": [ { "expression": { @@ -6538,26 +6538,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9008, + "id": 9627, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8958, - "src": "2328:11:18", + "referencedDeclaration": 9577, + "src": "2328:11:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 9010, + "id": 9629, "indexExpression": { "argumentTypes": null, - "id": 9009, + "id": 9628, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9001, - "src": "2340:5:18", + "referencedDeclaration": 9620, + "src": "2340:5:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6568,21 +6568,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2328:18:18", + "src": "2328:18:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9012, + "id": 9631, "indexExpression": { "argumentTypes": null, - "id": 9011, + "id": 9630, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9003, - "src": "2347:7:18", + "referencedDeclaration": 9622, + "src": "2347:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6593,37 +6593,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2328:27:18", + "src": "2328:27:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 9007, - "id": 9013, + "functionReturnParameters": 9626, + "id": 9632, "nodeType": "Return", - "src": "2321:34:18" + "src": "2321:34:19" } ] }, "documentation": "@dev See {IERC20-allowance}.", - "id": 9015, + "id": 9634, "implemented": true, "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 9004, + "id": 9623, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9001, + "id": 9620, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 9015, - "src": "2249:13:18", + "scope": 9634, + "src": "2249:13:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6631,10 +6631,10 @@ "typeString": "address" }, "typeName": { - "id": 9000, + "id": 9619, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2249:7:18", + "src": "2249:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6646,11 +6646,11 @@ }, { "constant": false, - "id": 9003, + "id": 9622, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9015, - "src": "2264:15:18", + "scope": 9634, + "src": "2264:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6658,10 +6658,10 @@ "typeString": "address" }, "typeName": { - "id": 9002, + "id": 9621, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2264:7:18", + "src": "2264:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6672,19 +6672,19 @@ "visibility": "internal" } ], - "src": "2248:32:18" + "src": "2248:32:19" }, "returnParameters": { - "id": 9007, + "id": 9626, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9006, + "id": 9625, "name": "", "nodeType": "VariableDeclaration", - "scope": 9015, - "src": "2302:7:18", + "scope": 9634, + "src": "2302:7:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6692,10 +6692,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9005, + "id": 9624, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2302:7:18", + "src": "2302:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6705,19 +6705,19 @@ "visibility": "internal" } ], - "src": "2301:9:18" + "src": "2301:9:19" }, - "scope": 9341, - "src": "2230:132:18", + "scope": 9960, + "src": "2230:132:19", "stateMutability": "view", - "superFunction": 9431, + "superFunction": 10050, "visibility": "public" }, { "body": { - "id": 9033, + "id": 9652, "nodeType": "Block", - "src": "2572:77:18", + "src": "2572:77:19", "statements": [ { "expression": { @@ -6728,18 +6728,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 9025, + "id": 9644, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "2591:10:18", + "referencedDeclaration": 9356, + "src": "2591:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9026, + "id": 9645, "isConstant": false, "isLValue": false, "isPure": false, @@ -6747,7 +6747,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2591:12:18", + "src": "2591:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -6755,12 +6755,12 @@ }, { "argumentTypes": null, - "id": 9027, + "id": 9646, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9017, - "src": "2605:7:18", + "referencedDeclaration": 9636, + "src": "2605:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6768,12 +6768,12 @@ }, { "argumentTypes": null, - "id": 9028, + "id": 9647, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9019, - "src": "2614:6:18", + "referencedDeclaration": 9638, + "src": "2614:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6795,18 +6795,18 @@ "typeString": "uint256" } ], - "id": 9024, + "id": 9643, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9311, - "src": "2582:8:18", + "referencedDeclaration": 9930, + "src": "2582:8:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9029, + "id": 9648, "isConstant": false, "isLValue": false, "isPure": false, @@ -6814,28 +6814,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2582:39:18", + "src": "2582:39:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9030, + "id": 9649, "nodeType": "ExpressionStatement", - "src": "2582:39:18" + "src": "2582:39:19" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 9031, + "id": 9650, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2638:4:18", + "src": "2638:4:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6843,31 +6843,31 @@ }, "value": "true" }, - "functionReturnParameters": 9023, - "id": 9032, + "functionReturnParameters": 9642, + "id": 9651, "nodeType": "Return", - "src": "2631:11:18" + "src": "2631:11:19" } ] }, "documentation": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 9034, + "id": 9653, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 9020, + "id": 9639, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9017, + "id": 9636, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9034, - "src": "2517:15:18", + "scope": 9653, + "src": "2517:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6875,10 +6875,10 @@ "typeString": "address" }, "typeName": { - "id": 9016, + "id": 9635, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2517:7:18", + "src": "2517:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6890,11 +6890,11 @@ }, { "constant": false, - "id": 9019, + "id": 9638, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9034, - "src": "2534:14:18", + "scope": 9653, + "src": "2534:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6902,10 +6902,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9018, + "id": 9637, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2534:7:18", + "src": "2534:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6915,19 +6915,19 @@ "visibility": "internal" } ], - "src": "2516:33:18" + "src": "2516:33:19" }, "returnParameters": { - "id": 9023, + "id": 9642, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9022, + "id": 9641, "name": "", "nodeType": "VariableDeclaration", - "scope": 9034, - "src": "2566:4:18", + "scope": 9653, + "src": "2566:4:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6935,10 +6935,10 @@ "typeString": "bool" }, "typeName": { - "id": 9021, + "id": 9640, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2566:4:18", + "src": "2566:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6948,19 +6948,19 @@ "visibility": "internal" } ], - "src": "2565:6:18" + "src": "2565:6:19" }, - "scope": 9341, - "src": "2500:149:18", + "scope": 9960, + "src": "2500:149:19", "stateMutability": "nonpayable", - "superFunction": 9440, + "superFunction": 10059, "visibility": "public" }, { "body": { - "id": 9069, + "id": 9688, "nodeType": "Block", - "src": "3202:205:18", + "src": "3202:205:19", "statements": [ { "expression": { @@ -6968,12 +6968,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9046, + "id": 9665, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9036, - "src": "3222:6:18", + "referencedDeclaration": 9655, + "src": "3222:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6981,12 +6981,12 @@ }, { "argumentTypes": null, - "id": 9047, + "id": 9666, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9038, - "src": "3230:9:18", + "referencedDeclaration": 9657, + "src": "3230:9:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6994,12 +6994,12 @@ }, { "argumentTypes": null, - "id": 9048, + "id": 9667, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9040, - "src": "3241:6:18", + "referencedDeclaration": 9659, + "src": "3241:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7021,18 +7021,18 @@ "typeString": "uint256" } ], - "id": 9045, + "id": 9664, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9182, - "src": "3212:9:18", + "referencedDeclaration": 9801, + "src": "3212:9:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9049, + "id": 9668, "isConstant": false, "isLValue": false, "isPure": false, @@ -7040,15 +7040,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3212:36:18", + "src": "3212:36:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9050, + "id": 9669, "nodeType": "ExpressionStatement", - "src": "3212:36:18" + "src": "3212:36:19" }, { "expression": { @@ -7056,12 +7056,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9052, + "id": 9671, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9036, - "src": "3267:6:18", + "referencedDeclaration": 9655, + "src": "3267:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7072,18 +7072,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 9053, + "id": 9672, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "3275:10:18", + "referencedDeclaration": 9356, + "src": "3275:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9054, + "id": 9673, "isConstant": false, "isLValue": false, "isPure": false, @@ -7091,7 +7091,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3275:12:18", + "src": "3275:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -7102,12 +7102,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9062, + "id": 9681, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9040, - "src": "3327:6:18", + "referencedDeclaration": 9659, + "src": "3327:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7116,14 +7116,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 9063, + "id": 9682, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3335:42:18", + "src": "3335:42:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", @@ -7149,26 +7149,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9055, + "id": 9674, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8958, - "src": "3289:11:18", + "referencedDeclaration": 9577, + "src": "3289:11:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 9057, + "id": 9676, "indexExpression": { "argumentTypes": null, - "id": 9056, + "id": 9675, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9036, - "src": "3301:6:18", + "referencedDeclaration": 9655, + "src": "3301:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7179,30 +7179,30 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3289:19:18", + "src": "3289:19:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9060, + "id": 9679, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 9058, + "id": 9677, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "3309:10:18", + "referencedDeclaration": 9356, + "src": "3309:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9059, + "id": 9678, "isConstant": false, "isLValue": false, "isPure": false, @@ -7210,7 +7210,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3309:12:18", + "src": "3309:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -7221,27 +7221,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3289:33:18", + "src": "3289:33:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9061, + "id": 9680, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8819, - "src": "3289:37:18", + "referencedDeclaration": 9438, + "src": "3289:37:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 9064, + "id": 9683, "isConstant": false, "isLValue": false, "isPure": false, @@ -7249,7 +7249,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3289:89:18", + "src": "3289:89:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7271,18 +7271,18 @@ "typeString": "uint256" } ], - "id": 9051, + "id": 9670, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9311, - "src": "3258:8:18", + "referencedDeclaration": 9930, + "src": "3258:8:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9065, + "id": 9684, "isConstant": false, "isLValue": false, "isPure": false, @@ -7290,28 +7290,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3258:121:18", + "src": "3258:121:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9066, + "id": 9685, "nodeType": "ExpressionStatement", - "src": "3258:121:18" + "src": "3258:121:19" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 9067, + "id": 9686, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3396:4:18", + "src": "3396:4:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7319,31 +7319,31 @@ }, "value": "true" }, - "functionReturnParameters": 9044, - "id": 9068, + "functionReturnParameters": 9663, + "id": 9687, "nodeType": "Return", - "src": "3389:11:18" + "src": "3389:11:19" } ] }, "documentation": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20};\n * Requirements:\n- `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for `sender`'s tokens of at least\n`amount`.", - "id": 9070, + "id": 9689, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 9041, + "id": 9660, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9036, + "id": 9655, "name": "sender", "nodeType": "VariableDeclaration", - "scope": 9070, - "src": "3129:14:18", + "scope": 9689, + "src": "3129:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7351,10 +7351,10 @@ "typeString": "address" }, "typeName": { - "id": 9035, + "id": 9654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3129:7:18", + "src": "3129:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7366,11 +7366,11 @@ }, { "constant": false, - "id": 9038, + "id": 9657, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 9070, - "src": "3145:17:18", + "scope": 9689, + "src": "3145:17:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7378,10 +7378,10 @@ "typeString": "address" }, "typeName": { - "id": 9037, + "id": 9656, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3145:7:18", + "src": "3145:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7393,11 +7393,11 @@ }, { "constant": false, - "id": 9040, + "id": 9659, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9070, - "src": "3164:14:18", + "scope": 9689, + "src": "3164:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7405,10 +7405,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9039, + "id": 9658, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3164:7:18", + "src": "3164:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7418,19 +7418,19 @@ "visibility": "internal" } ], - "src": "3128:51:18" + "src": "3128:51:19" }, "returnParameters": { - "id": 9044, + "id": 9663, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9043, + "id": 9662, "name": "", "nodeType": "VariableDeclaration", - "scope": 9070, - "src": "3196:4:18", + "scope": 9689, + "src": "3196:4:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7438,10 +7438,10 @@ "typeString": "bool" }, "typeName": { - "id": 9042, + "id": 9661, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3196:4:18", + "src": "3196:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7451,19 +7451,19 @@ "visibility": "internal" } ], - "src": "3195:6:18" + "src": "3195:6:19" }, - "scope": 9341, - "src": "3107:300:18", + "scope": 9960, + "src": "3107:300:19", "stateMutability": "nonpayable", - "superFunction": 9451, + "superFunction": 10070, "visibility": "public" }, { "body": { - "id": 9096, + "id": 9715, "nodeType": "Block", - "src": "3888:121:18", + "src": "3888:121:19", "statements": [ { "expression": { @@ -7474,18 +7474,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 9080, + "id": 9699, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "3907:10:18", + "referencedDeclaration": 9356, + "src": "3907:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9081, + "id": 9700, "isConstant": false, "isLValue": false, "isPure": false, @@ -7493,7 +7493,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3907:12:18", + "src": "3907:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -7501,12 +7501,12 @@ }, { "argumentTypes": null, - "id": 9082, + "id": 9701, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9072, - "src": "3921:7:18", + "referencedDeclaration": 9691, + "src": "3921:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7517,12 +7517,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9090, + "id": 9709, "name": "addedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9074, - "src": "3969:10:18", + "referencedDeclaration": 9693, + "src": "3969:10:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7542,35 +7542,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9083, + "id": 9702, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8958, - "src": "3930:11:18", + "referencedDeclaration": 9577, + "src": "3930:11:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 9086, + "id": 9705, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 9084, + "id": 9703, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "3942:10:18", + "referencedDeclaration": 9356, + "src": "3942:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9085, + "id": 9704, "isConstant": false, "isLValue": false, "isPure": false, @@ -7578,7 +7578,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3942:12:18", + "src": "3942:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -7589,21 +7589,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3930:25:18", + "src": "3930:25:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9088, + "id": 9707, "indexExpression": { "argumentTypes": null, - "id": 9087, + "id": 9706, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9072, - "src": "3956:7:18", + "referencedDeclaration": 9691, + "src": "3956:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7614,27 +7614,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3930:34:18", + "src": "3930:34:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9089, + "id": 9708, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "3930:38:18", + "referencedDeclaration": 9395, + "src": "3930:38:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9091, + "id": 9710, "isConstant": false, "isLValue": false, "isPure": false, @@ -7642,7 +7642,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3930:50:18", + "src": "3930:50:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7664,18 +7664,18 @@ "typeString": "uint256" } ], - "id": 9079, + "id": 9698, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9311, - "src": "3898:8:18", + "referencedDeclaration": 9930, + "src": "3898:8:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9092, + "id": 9711, "isConstant": false, "isLValue": false, "isPure": false, @@ -7683,28 +7683,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3898:83:18", + "src": "3898:83:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9093, + "id": 9712, "nodeType": "ExpressionStatement", - "src": "3898:83:18" + "src": "3898:83:19" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 9094, + "id": 9713, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3998:4:18", + "src": "3998:4:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7712,31 +7712,31 @@ }, "value": "true" }, - "functionReturnParameters": 9078, - "id": 9095, + "functionReturnParameters": 9697, + "id": 9714, "nodeType": "Return", - "src": "3991:11:18" + "src": "3991:11:19" } ] }, "documentation": "@dev Atomically increases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 9097, + "id": 9716, "implemented": true, "kind": "function", "modifiers": [], "name": "increaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 9075, + "id": 9694, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9072, + "id": 9691, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9097, - "src": "3829:15:18", + "scope": 9716, + "src": "3829:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7744,10 +7744,10 @@ "typeString": "address" }, "typeName": { - "id": 9071, + "id": 9690, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3829:7:18", + "src": "3829:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7759,11 +7759,11 @@ }, { "constant": false, - "id": 9074, + "id": 9693, "name": "addedValue", "nodeType": "VariableDeclaration", - "scope": 9097, - "src": "3846:18:18", + "scope": 9716, + "src": "3846:18:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7771,10 +7771,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9073, + "id": 9692, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3846:7:18", + "src": "3846:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7784,19 +7784,19 @@ "visibility": "internal" } ], - "src": "3828:37:18" + "src": "3828:37:19" }, "returnParameters": { - "id": 9078, + "id": 9697, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9077, + "id": 9696, "name": "", "nodeType": "VariableDeclaration", - "scope": 9097, - "src": "3882:4:18", + "scope": 9716, + "src": "3882:4:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7804,10 +7804,10 @@ "typeString": "bool" }, "typeName": { - "id": 9076, + "id": 9695, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3882:4:18", + "src": "3882:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7817,19 +7817,19 @@ "visibility": "internal" } ], - "src": "3881:6:18" + "src": "3881:6:19" }, - "scope": 9341, - "src": "3802:207:18", + "scope": 9960, + "src": "3802:207:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 9124, + "id": 9743, "nodeType": "Block", - "src": "4587:167:18", + "src": "4587:167:19", "statements": [ { "expression": { @@ -7840,18 +7840,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 9107, + "id": 9726, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "4606:10:18", + "referencedDeclaration": 9356, + "src": "4606:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9108, + "id": 9727, "isConstant": false, "isLValue": false, "isPure": false, @@ -7859,7 +7859,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4606:12:18", + "src": "4606:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -7867,12 +7867,12 @@ }, { "argumentTypes": null, - "id": 9109, + "id": 9728, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9099, - "src": "4620:7:18", + "referencedDeclaration": 9718, + "src": "4620:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7883,12 +7883,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9117, + "id": 9736, "name": "subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9101, - "src": "4668:15:18", + "referencedDeclaration": 9720, + "src": "4668:15:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7897,14 +7897,14 @@ { "argumentTypes": null, "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 9118, + "id": 9737, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4685:39:18", + "src": "4685:39:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", @@ -7930,35 +7930,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9110, + "id": 9729, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8958, - "src": "4629:11:18", + "referencedDeclaration": 9577, + "src": "4629:11:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 9113, + "id": 9732, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 9111, + "id": 9730, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "4641:10:18", + "referencedDeclaration": 9356, + "src": "4641:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9112, + "id": 9731, "isConstant": false, "isLValue": false, "isPure": false, @@ -7966,7 +7966,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4641:12:18", + "src": "4641:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -7977,21 +7977,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4629:25:18", + "src": "4629:25:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9115, + "id": 9734, "indexExpression": { "argumentTypes": null, - "id": 9114, + "id": 9733, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9099, - "src": "4655:7:18", + "referencedDeclaration": 9718, + "src": "4655:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8002,27 +8002,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4629:34:18", + "src": "4629:34:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9116, + "id": 9735, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8819, - "src": "4629:38:18", + "referencedDeclaration": 9438, + "src": "4629:38:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 9119, + "id": 9738, "isConstant": false, "isLValue": false, "isPure": false, @@ -8030,7 +8030,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4629:96:18", + "src": "4629:96:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8052,18 +8052,18 @@ "typeString": "uint256" } ], - "id": 9106, + "id": 9725, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9311, - "src": "4597:8:18", + "referencedDeclaration": 9930, + "src": "4597:8:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9120, + "id": 9739, "isConstant": false, "isLValue": false, "isPure": false, @@ -8071,28 +8071,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4597:129:18", + "src": "4597:129:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9121, + "id": 9740, "nodeType": "ExpressionStatement", - "src": "4597:129:18" + "src": "4597:129:19" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 9122, + "id": 9741, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4743:4:18", + "src": "4743:4:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8100,31 +8100,31 @@ }, "value": "true" }, - "functionReturnParameters": 9105, - "id": 9123, + "functionReturnParameters": 9724, + "id": 9742, "nodeType": "Return", - "src": "4736:11:18" + "src": "4736:11:19" } ] }, "documentation": "@dev Atomically decreases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.\n- `spender` must have allowance for the caller of at least\n`subtractedValue`.", - "id": 9125, + "id": 9744, "implemented": true, "kind": "function", "modifiers": [], "name": "decreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 9102, + "id": 9721, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9099, + "id": 9718, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9125, - "src": "4523:15:18", + "scope": 9744, + "src": "4523:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8132,10 +8132,10 @@ "typeString": "address" }, "typeName": { - "id": 9098, + "id": 9717, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4523:7:18", + "src": "4523:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8147,11 +8147,11 @@ }, { "constant": false, - "id": 9101, + "id": 9720, "name": "subtractedValue", "nodeType": "VariableDeclaration", - "scope": 9125, - "src": "4540:23:18", + "scope": 9744, + "src": "4540:23:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8159,10 +8159,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9100, + "id": 9719, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4540:7:18", + "src": "4540:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8172,19 +8172,19 @@ "visibility": "internal" } ], - "src": "4522:42:18" + "src": "4522:42:19" }, "returnParameters": { - "id": 9105, + "id": 9724, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9104, + "id": 9723, "name": "", "nodeType": "VariableDeclaration", - "scope": 9125, - "src": "4581:4:18", + "scope": 9744, + "src": "4581:4:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8192,10 +8192,10 @@ "typeString": "bool" }, "typeName": { - "id": 9103, + "id": 9722, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4581:4:18", + "src": "4581:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8205,19 +8205,19 @@ "visibility": "internal" } ], - "src": "4580:6:18" + "src": "4580:6:19" }, - "scope": 9341, - "src": "4496:258:18", + "scope": 9960, + "src": "4496:258:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 9181, + "id": 9800, "nodeType": "Block", - "src": "5307:385:18", + "src": "5307:385:19", "statements": [ { "expression": { @@ -8229,19 +8229,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9139, + "id": 9758, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9135, + "id": 9754, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9127, - "src": "5325:6:18", + "referencedDeclaration": 9746, + "src": "5325:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8255,14 +8255,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9137, + "id": 9756, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5343:1:18", + "src": "5343:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8278,20 +8278,20 @@ "typeString": "int_const 0" } ], - "id": 9136, + "id": 9755, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5335:7:18", + "src": "5335:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9138, + "id": 9757, "isConstant": false, "isLValue": false, "isPure": true, @@ -8299,13 +8299,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5335:10:18", + "src": "5335:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "5325:20:18", + "src": "5325:20:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8314,14 +8314,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 9140, + "id": 9759, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5347:39:18", + "src": "5347:39:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", @@ -8341,21 +8341,21 @@ "typeString": "literal_string \"ERC20: transfer from the zero address\"" } ], - "id": 9134, + "id": 9753, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "5317:7:18", + "referencedDeclaration": 11102, + "src": "5317:7:19", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9141, + "id": 9760, "isConstant": false, "isLValue": false, "isPure": false, @@ -8363,15 +8363,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5317:70:18", + "src": "5317:70:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9142, + "id": 9761, "nodeType": "ExpressionStatement", - "src": "5317:70:18" + "src": "5317:70:19" }, { "expression": { @@ -8383,19 +8383,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9148, + "id": 9767, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9144, + "id": 9763, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9129, - "src": "5405:9:18", + "referencedDeclaration": 9748, + "src": "5405:9:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8409,14 +8409,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9146, + "id": 9765, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5426:1:18", + "src": "5426:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8432,20 +8432,20 @@ "typeString": "int_const 0" } ], - "id": 9145, + "id": 9764, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5418:7:18", + "src": "5418:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9147, + "id": 9766, "isConstant": false, "isLValue": false, "isPure": true, @@ -8453,13 +8453,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5418:10:18", + "src": "5418:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "5405:23:18", + "src": "5405:23:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8468,14 +8468,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 9149, + "id": 9768, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5430:37:18", + "src": "5430:37:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", @@ -8495,21 +8495,21 @@ "typeString": "literal_string \"ERC20: transfer to the zero address\"" } ], - "id": 9143, + "id": 9762, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "5397:7:18", + "referencedDeclaration": 11102, + "src": "5397:7:19", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9150, + "id": 9769, "isConstant": false, "isLValue": false, "isPure": false, @@ -8517,20 +8517,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5397:71:18", + "src": "5397:71:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9151, + "id": 9770, "nodeType": "ExpressionStatement", - "src": "5397:71:18" + "src": "5397:71:19" }, { "expression": { "argumentTypes": null, - "id": 9162, + "id": 9781, "isConstant": false, "isLValue": false, "isPure": false, @@ -8539,26 +8539,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9152, + "id": 9771, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "5479:9:18", + "referencedDeclaration": 9571, + "src": "5479:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9154, + "id": 9773, "indexExpression": { "argumentTypes": null, - "id": 9153, + "id": 9772, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9127, - "src": "5489:6:18", + "referencedDeclaration": 9746, + "src": "5489:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8569,7 +8569,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5479:17:18", + "src": "5479:17:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8582,12 +8582,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9159, + "id": 9778, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9131, - "src": "5521:6:18", + "referencedDeclaration": 9750, + "src": "5521:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8596,14 +8596,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 9160, + "id": 9779, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5529:40:18", + "src": "5529:40:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", @@ -8627,26 +8627,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9155, + "id": 9774, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "5499:9:18", + "referencedDeclaration": 9571, + "src": "5499:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9157, + "id": 9776, "indexExpression": { "argumentTypes": null, - "id": 9156, + "id": 9775, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9127, - "src": "5509:6:18", + "referencedDeclaration": 9746, + "src": "5509:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8657,27 +8657,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5499:17:18", + "src": "5499:17:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9158, + "id": 9777, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8819, - "src": "5499:21:18", + "referencedDeclaration": 9438, + "src": "5499:21:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 9161, + "id": 9780, "isConstant": false, "isLValue": false, "isPure": false, @@ -8685,26 +8685,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5499:71:18", + "src": "5499:71:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5479:91:18", + "src": "5479:91:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9163, + "id": 9782, "nodeType": "ExpressionStatement", - "src": "5479:91:18" + "src": "5479:91:19" }, { "expression": { "argumentTypes": null, - "id": 9173, + "id": 9792, "isConstant": false, "isLValue": false, "isPure": false, @@ -8713,26 +8713,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9164, + "id": 9783, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "5580:9:18", + "referencedDeclaration": 9571, + "src": "5580:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9166, + "id": 9785, "indexExpression": { "argumentTypes": null, - "id": 9165, + "id": 9784, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9129, - "src": "5590:9:18", + "referencedDeclaration": 9748, + "src": "5590:9:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8743,7 +8743,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5580:20:18", + "src": "5580:20:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8756,12 +8756,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9171, + "id": 9790, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9131, - "src": "5628:6:18", + "referencedDeclaration": 9750, + "src": "5628:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8779,26 +8779,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9167, + "id": 9786, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "5603:9:18", + "referencedDeclaration": 9571, + "src": "5603:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9169, + "id": 9788, "indexExpression": { "argumentTypes": null, - "id": 9168, + "id": 9787, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9129, - "src": "5613:9:18", + "referencedDeclaration": 9748, + "src": "5613:9:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8809,27 +8809,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5603:20:18", + "src": "5603:20:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9170, + "id": 9789, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "5603:24:18", + "referencedDeclaration": 9395, + "src": "5603:24:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9172, + "id": 9791, "isConstant": false, "isLValue": false, "isPure": false, @@ -8837,21 +8837,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5603:32:18", + "src": "5603:32:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5580:55:18", + "src": "5580:55:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9174, + "id": 9793, "nodeType": "ExpressionStatement", - "src": "5580:55:18" + "src": "5580:55:19" }, { "eventCall": { @@ -8859,12 +8859,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9176, + "id": 9795, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9127, - "src": "5659:6:18", + "referencedDeclaration": 9746, + "src": "5659:6:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8872,12 +8872,12 @@ }, { "argumentTypes": null, - "id": 9177, + "id": 9796, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9129, - "src": "5667:9:18", + "referencedDeclaration": 9748, + "src": "5667:9:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8885,12 +8885,12 @@ }, { "argumentTypes": null, - "id": 9178, + "id": 9797, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9131, - "src": "5678:6:18", + "referencedDeclaration": 9750, + "src": "5678:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8912,18 +8912,18 @@ "typeString": "uint256" } ], - "id": 9175, + "id": 9794, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "5650:8:18", + "referencedDeclaration": 10078, + "src": "5650:8:19", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9179, + "id": 9798, "isConstant": false, "isLValue": false, "isPure": false, @@ -8931,36 +8931,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5650:35:18", + "src": "5650:35:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9180, + "id": 9799, "nodeType": "EmitStatement", - "src": "5645:40:18" + "src": "5645:40:19" } ] }, "documentation": "@dev Moves tokens `amount` from `sender` to `recipient`.\n * This is internal function is equivalent to {transfer}, and can be used to\ne.g. implement automatic token fees, slashing mechanisms, etc.\n * Emits a {Transfer} event.\n * Requirements:\n * - `sender` cannot be the zero address.\n- `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.", - "id": 9182, + "id": 9801, "implemented": true, "kind": "function", "modifiers": [], "name": "_transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 9132, + "id": 9751, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9127, + "id": 9746, "name": "sender", "nodeType": "VariableDeclaration", - "scope": 9182, - "src": "5247:14:18", + "scope": 9801, + "src": "5247:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8968,10 +8968,10 @@ "typeString": "address" }, "typeName": { - "id": 9126, + "id": 9745, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5247:7:18", + "src": "5247:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8983,11 +8983,11 @@ }, { "constant": false, - "id": 9129, + "id": 9748, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 9182, - "src": "5263:17:18", + "scope": 9801, + "src": "5263:17:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8995,10 +8995,10 @@ "typeString": "address" }, "typeName": { - "id": 9128, + "id": 9747, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5263:7:18", + "src": "5263:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9010,11 +9010,11 @@ }, { "constant": false, - "id": 9131, + "id": 9750, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9182, - "src": "5282:14:18", + "scope": 9801, + "src": "5282:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9022,10 +9022,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9130, + "id": 9749, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5282:7:18", + "src": "5282:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9035,25 +9035,25 @@ "visibility": "internal" } ], - "src": "5246:51:18" + "src": "5246:51:19" }, "returnParameters": { - "id": 9133, + "id": 9752, "nodeType": "ParameterList", "parameters": [], - "src": "5307:0:18" + "src": "5307:0:19" }, - "scope": 9341, - "src": "5228:464:18", + "scope": 9960, + "src": "5228:464:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 9224, + "id": 9843, "nodeType": "Block", - "src": "6019:245:18", + "src": "6019:245:19", "statements": [ { "expression": { @@ -9065,19 +9065,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9194, + "id": 9813, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9190, + "id": 9809, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9184, - "src": "6037:7:18", + "referencedDeclaration": 9803, + "src": "6037:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9091,14 +9091,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9192, + "id": 9811, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6056:1:18", + "src": "6056:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9114,20 +9114,20 @@ "typeString": "int_const 0" } ], - "id": 9191, + "id": 9810, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6048:7:18", + "src": "6048:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9193, + "id": 9812, "isConstant": false, "isLValue": false, "isPure": true, @@ -9135,13 +9135,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6048:10:18", + "src": "6048:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "6037:21:18", + "src": "6037:21:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9150,14 +9150,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 9195, + "id": 9814, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6060:33:18", + "src": "6060:33:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", @@ -9177,21 +9177,21 @@ "typeString": "literal_string \"ERC20: mint to the zero address\"" } ], - "id": 9189, + "id": 9808, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "6029:7:18", + "referencedDeclaration": 11102, + "src": "6029:7:19", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9196, + "id": 9815, "isConstant": false, "isLValue": false, "isPure": false, @@ -9199,32 +9199,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6029:65:18", + "src": "6029:65:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9197, + "id": 9816, "nodeType": "ExpressionStatement", - "src": "6029:65:18" + "src": "6029:65:19" }, { "expression": { "argumentTypes": null, - "id": 9203, + "id": 9822, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 9198, + "id": 9817, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8960, - "src": "6105:12:18", + "referencedDeclaration": 9579, + "src": "6105:12:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9237,12 +9237,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9201, + "id": 9820, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9186, - "src": "6137:6:18", + "referencedDeclaration": 9805, + "src": "6137:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9258,32 +9258,32 @@ ], "expression": { "argumentTypes": null, - "id": 9199, + "id": 9818, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8960, - "src": "6120:12:18", + "referencedDeclaration": 9579, + "src": "6120:12:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9200, + "id": 9819, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "6120:16:18", + "referencedDeclaration": 9395, + "src": "6120:16:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9202, + "id": 9821, "isConstant": false, "isLValue": false, "isPure": false, @@ -9291,26 +9291,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6120:24:18", + "src": "6120:24:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6105:39:18", + "src": "6105:39:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9204, + "id": 9823, "nodeType": "ExpressionStatement", - "src": "6105:39:18" + "src": "6105:39:19" }, { "expression": { "argumentTypes": null, - "id": 9214, + "id": 9833, "isConstant": false, "isLValue": false, "isPure": false, @@ -9319,26 +9319,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9205, + "id": 9824, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "6154:9:18", + "referencedDeclaration": 9571, + "src": "6154:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9207, + "id": 9826, "indexExpression": { "argumentTypes": null, - "id": 9206, + "id": 9825, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9184, - "src": "6164:7:18", + "referencedDeclaration": 9803, + "src": "6164:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9349,7 +9349,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6154:18:18", + "src": "6154:18:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9362,12 +9362,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9212, + "id": 9831, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9186, - "src": "6198:6:18", + "referencedDeclaration": 9805, + "src": "6198:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9385,26 +9385,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9208, + "id": 9827, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "6175:9:18", + "referencedDeclaration": 9571, + "src": "6175:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9210, + "id": 9829, "indexExpression": { "argumentTypes": null, - "id": 9209, + "id": 9828, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9184, - "src": "6185:7:18", + "referencedDeclaration": 9803, + "src": "6185:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9415,27 +9415,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6175:18:18", + "src": "6175:18:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9211, + "id": 9830, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "6175:22:18", + "referencedDeclaration": 9395, + "src": "6175:22:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9213, + "id": 9832, "isConstant": false, "isLValue": false, "isPure": false, @@ -9443,21 +9443,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6175:30:18", + "src": "6175:30:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6154:51:18", + "src": "6154:51:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9215, + "id": 9834, "nodeType": "ExpressionStatement", - "src": "6154:51:18" + "src": "6154:51:19" }, { "eventCall": { @@ -9469,14 +9469,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9218, + "id": 9837, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6237:1:18", + "src": "6237:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9492,20 +9492,20 @@ "typeString": "int_const 0" } ], - "id": 9217, + "id": 9836, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6229:7:18", + "src": "6229:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9219, + "id": 9838, "isConstant": false, "isLValue": false, "isPure": true, @@ -9513,7 +9513,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6229:10:18", + "src": "6229:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -9521,12 +9521,12 @@ }, { "argumentTypes": null, - "id": 9220, + "id": 9839, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9184, - "src": "6241:7:18", + "referencedDeclaration": 9803, + "src": "6241:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9534,12 +9534,12 @@ }, { "argumentTypes": null, - "id": 9221, + "id": 9840, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9186, - "src": "6250:6:18", + "referencedDeclaration": 9805, + "src": "6250:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9561,18 +9561,18 @@ "typeString": "uint256" } ], - "id": 9216, + "id": 9835, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "6220:8:18", + "referencedDeclaration": 10078, + "src": "6220:8:19", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9222, + "id": 9841, "isConstant": false, "isLValue": false, "isPure": false, @@ -9580,36 +9580,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6220:37:18", + "src": "6220:37:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9223, + "id": 9842, "nodeType": "EmitStatement", - "src": "6215:42:18" + "src": "6215:42:19" } ] }, "documentation": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements\n * - `to` cannot be the zero address.", - "id": 9225, + "id": 9844, "implemented": true, "kind": "function", "modifiers": [], "name": "_mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 9187, + "id": 9806, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9184, + "id": 9803, "name": "account", "nodeType": "VariableDeclaration", - "scope": 9225, - "src": "5977:15:18", + "scope": 9844, + "src": "5977:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9617,10 +9617,10 @@ "typeString": "address" }, "typeName": { - "id": 9183, + "id": 9802, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5977:7:18", + "src": "5977:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9632,11 +9632,11 @@ }, { "constant": false, - "id": 9186, + "id": 9805, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9225, - "src": "5994:14:18", + "scope": 9844, + "src": "5994:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9644,10 +9644,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9185, + "id": 9804, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5994:7:18", + "src": "5994:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9657,25 +9657,25 @@ "visibility": "internal" } ], - "src": "5976:33:18" + "src": "5976:33:19" }, "returnParameters": { - "id": 9188, + "id": 9807, "nodeType": "ParameterList", "parameters": [], - "src": "6019:0:18" + "src": "6019:0:19" }, - "scope": 9341, - "src": "5962:302:18", + "scope": 9960, + "src": "5962:302:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 9268, + "id": 9887, "nodeType": "Block", - "src": "6641:285:18", + "src": "6641:285:19", "statements": [ { "expression": { @@ -9687,19 +9687,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9237, + "id": 9856, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9233, + "id": 9852, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9227, - "src": "6659:7:18", + "referencedDeclaration": 9846, + "src": "6659:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9713,14 +9713,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9235, + "id": 9854, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6678:1:18", + "src": "6678:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9736,20 +9736,20 @@ "typeString": "int_const 0" } ], - "id": 9234, + "id": 9853, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6670:7:18", + "src": "6670:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9236, + "id": 9855, "isConstant": false, "isLValue": false, "isPure": true, @@ -9757,13 +9757,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6670:10:18", + "src": "6670:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "6659:21:18", + "src": "6659:21:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9772,14 +9772,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 9238, + "id": 9857, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6682:35:18", + "src": "6682:35:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", @@ -9799,21 +9799,21 @@ "typeString": "literal_string \"ERC20: burn from the zero address\"" } ], - "id": 9232, + "id": 9851, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "6651:7:18", + "referencedDeclaration": 11102, + "src": "6651:7:19", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9239, + "id": 9858, "isConstant": false, "isLValue": false, "isPure": false, @@ -9821,20 +9821,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6651:67:18", + "src": "6651:67:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9240, + "id": 9859, "nodeType": "ExpressionStatement", - "src": "6651:67:18" + "src": "6651:67:19" }, { "expression": { "argumentTypes": null, - "id": 9251, + "id": 9870, "isConstant": false, "isLValue": false, "isPure": false, @@ -9843,26 +9843,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9241, + "id": 9860, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "6729:9:18", + "referencedDeclaration": 9571, + "src": "6729:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9243, + "id": 9862, "indexExpression": { "argumentTypes": null, - "id": 9242, + "id": 9861, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9227, - "src": "6739:7:18", + "referencedDeclaration": 9846, + "src": "6739:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9873,7 +9873,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6729:18:18", + "src": "6729:18:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9886,12 +9886,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9248, + "id": 9867, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9229, - "src": "6773:6:18", + "referencedDeclaration": 9848, + "src": "6773:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9900,14 +9900,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 9249, + "id": 9868, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6781:36:18", + "src": "6781:36:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", @@ -9931,26 +9931,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9244, + "id": 9863, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "6750:9:18", + "referencedDeclaration": 9571, + "src": "6750:9:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9246, + "id": 9865, "indexExpression": { "argumentTypes": null, - "id": 9245, + "id": 9864, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9227, - "src": "6760:7:18", + "referencedDeclaration": 9846, + "src": "6760:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9961,27 +9961,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6750:18:18", + "src": "6750:18:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9247, + "id": 9866, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8819, - "src": "6750:22:18", + "referencedDeclaration": 9438, + "src": "6750:22:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 9250, + "id": 9869, "isConstant": false, "isLValue": false, "isPure": false, @@ -9989,38 +9989,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6750:68:18", + "src": "6750:68:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6729:89:18", + "src": "6729:89:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9252, + "id": 9871, "nodeType": "ExpressionStatement", - "src": "6729:89:18" + "src": "6729:89:19" }, { "expression": { "argumentTypes": null, - "id": 9258, + "id": 9877, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 9253, + "id": 9872, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8960, - "src": "6828:12:18", + "referencedDeclaration": 9579, + "src": "6828:12:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10033,12 +10033,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9256, + "id": 9875, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9229, - "src": "6860:6:18", + "referencedDeclaration": 9848, + "src": "6860:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10054,32 +10054,32 @@ ], "expression": { "argumentTypes": null, - "id": 9254, + "id": 9873, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8960, - "src": "6843:12:18", + "referencedDeclaration": 9579, + "src": "6843:12:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9255, + "id": 9874, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8792, - "src": "6843:16:18", + "referencedDeclaration": 9411, + "src": "6843:16:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9257, + "id": 9876, "isConstant": false, "isLValue": false, "isPure": false, @@ -10087,21 +10087,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6843:24:18", + "src": "6843:24:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6828:39:18", + "src": "6828:39:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9259, + "id": 9878, "nodeType": "ExpressionStatement", - "src": "6828:39:18" + "src": "6828:39:19" }, { "eventCall": { @@ -10109,12 +10109,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9261, + "id": 9880, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9227, - "src": "6891:7:18", + "referencedDeclaration": 9846, + "src": "6891:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10126,14 +10126,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9263, + "id": 9882, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6908:1:18", + "src": "6908:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10149,20 +10149,20 @@ "typeString": "int_const 0" } ], - "id": 9262, + "id": 9881, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6900:7:18", + "src": "6900:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9264, + "id": 9883, "isConstant": false, "isLValue": false, "isPure": true, @@ -10170,7 +10170,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6900:10:18", + "src": "6900:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -10178,12 +10178,12 @@ }, { "argumentTypes": null, - "id": 9265, + "id": 9884, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9229, - "src": "6912:6:18", + "referencedDeclaration": 9848, + "src": "6912:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10205,18 +10205,18 @@ "typeString": "uint256" } ], - "id": 9260, + "id": 9879, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "6882:8:18", + "referencedDeclaration": 10078, + "src": "6882:8:19", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9266, + "id": 9885, "isConstant": false, "isLValue": false, "isPure": false, @@ -10224,36 +10224,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6882:37:18", + "src": "6882:37:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9267, + "id": 9886, "nodeType": "EmitStatement", - "src": "6877:42:18" + "src": "6877:42:19" } ] }, "documentation": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens.", - "id": 9269, + "id": 9888, "implemented": true, "kind": "function", "modifiers": [], "name": "_burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 9230, + "id": 9849, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9227, + "id": 9846, "name": "account", "nodeType": "VariableDeclaration", - "scope": 9269, - "src": "6599:15:18", + "scope": 9888, + "src": "6599:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10261,10 +10261,10 @@ "typeString": "address" }, "typeName": { - "id": 9226, + "id": 9845, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6599:7:18", + "src": "6599:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10276,11 +10276,11 @@ }, { "constant": false, - "id": 9229, + "id": 9848, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9269, - "src": "6616:14:18", + "scope": 9888, + "src": "6616:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10288,10 +10288,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9228, + "id": 9847, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6616:7:18", + "src": "6616:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10301,25 +10301,25 @@ "visibility": "internal" } ], - "src": "6598:33:18" + "src": "6598:33:19" }, "returnParameters": { - "id": 9231, + "id": 9850, "nodeType": "ParameterList", "parameters": [], - "src": "6641:0:18" + "src": "6641:0:19" }, - "scope": 9341, - "src": "6584:342:18", + "scope": 9960, + "src": "6584:342:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 9310, + "id": 9929, "nodeType": "Block", - "src": "7426:257:18", + "src": "7426:257:19", "statements": [ { "expression": { @@ -10331,19 +10331,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9283, + "id": 9902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9279, + "id": 9898, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9271, - "src": "7444:5:18", + "referencedDeclaration": 9890, + "src": "7444:5:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10357,14 +10357,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9281, + "id": 9900, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7461:1:18", + "src": "7461:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10380,20 +10380,20 @@ "typeString": "int_const 0" } ], - "id": 9280, + "id": 9899, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7453:7:18", + "src": "7453:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9282, + "id": 9901, "isConstant": false, "isLValue": false, "isPure": true, @@ -10401,13 +10401,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7453:10:18", + "src": "7453:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7444:19:18", + "src": "7444:19:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10416,14 +10416,14 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 9284, + "id": 9903, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7465:38:18", + "src": "7465:38:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", @@ -10443,21 +10443,21 @@ "typeString": "literal_string \"ERC20: approve from the zero address\"" } ], - "id": 9278, + "id": 9897, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "7436:7:18", + "referencedDeclaration": 11102, + "src": "7436:7:19", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9285, + "id": 9904, "isConstant": false, "isLValue": false, "isPure": false, @@ -10465,15 +10465,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7436:68:18", + "src": "7436:68:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9286, + "id": 9905, "nodeType": "ExpressionStatement", - "src": "7436:68:18" + "src": "7436:68:19" }, { "expression": { @@ -10485,19 +10485,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9292, + "id": 9911, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9288, + "id": 9907, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9273, - "src": "7522:7:18", + "referencedDeclaration": 9892, + "src": "7522:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10511,14 +10511,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9290, + "id": 9909, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7541:1:18", + "src": "7541:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10534,20 +10534,20 @@ "typeString": "int_const 0" } ], - "id": 9289, + "id": 9908, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7533:7:18", + "src": "7533:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 9291, + "id": 9910, "isConstant": false, "isLValue": false, "isPure": true, @@ -10555,13 +10555,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7533:10:18", + "src": "7533:10:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7522:21:18", + "src": "7522:21:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10570,14 +10570,14 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 9293, + "id": 9912, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7545:36:18", + "src": "7545:36:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", @@ -10597,21 +10597,21 @@ "typeString": "literal_string \"ERC20: approve to the zero address\"" } ], - "id": 9287, + "id": 9906, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "7514:7:18", + "referencedDeclaration": 11102, + "src": "7514:7:19", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9294, + "id": 9913, "isConstant": false, "isLValue": false, "isPure": false, @@ -10619,20 +10619,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7514:68:18", + "src": "7514:68:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9295, + "id": 9914, "nodeType": "ExpressionStatement", - "src": "7514:68:18" + "src": "7514:68:19" }, { "expression": { "argumentTypes": null, - "id": 9302, + "id": 9921, "isConstant": false, "isLValue": false, "isPure": false, @@ -10643,26 +10643,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9296, + "id": 9915, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8958, - "src": "7593:11:18", + "referencedDeclaration": 9577, + "src": "7593:11:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 9299, + "id": 9918, "indexExpression": { "argumentTypes": null, - "id": 9297, + "id": 9916, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9271, - "src": "7605:5:18", + "referencedDeclaration": 9890, + "src": "7605:5:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10673,21 +10673,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7593:18:18", + "src": "7593:18:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9300, + "id": 9919, "indexExpression": { "argumentTypes": null, - "id": 9298, + "id": 9917, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9273, - "src": "7612:7:18", + "referencedDeclaration": 9892, + "src": "7612:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10698,7 +10698,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7593:27:18", + "src": "7593:27:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10708,26 +10708,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 9301, + "id": 9920, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9275, - "src": "7623:6:18", + "referencedDeclaration": 9894, + "src": "7623:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7593:36:18", + "src": "7593:36:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9303, + "id": 9922, "nodeType": "ExpressionStatement", - "src": "7593:36:18" + "src": "7593:36:19" }, { "eventCall": { @@ -10735,12 +10735,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9305, + "id": 9924, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9271, - "src": "7653:5:18", + "referencedDeclaration": 9890, + "src": "7653:5:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10748,12 +10748,12 @@ }, { "argumentTypes": null, - "id": 9306, + "id": 9925, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9273, - "src": "7660:7:18", + "referencedDeclaration": 9892, + "src": "7660:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10761,12 +10761,12 @@ }, { "argumentTypes": null, - "id": 9307, + "id": 9926, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9275, - "src": "7669:6:18", + "referencedDeclaration": 9894, + "src": "7669:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10788,18 +10788,18 @@ "typeString": "uint256" } ], - "id": 9304, + "id": 9923, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9467, - "src": "7644:8:18", + "referencedDeclaration": 10086, + "src": "7644:8:19", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9308, + "id": 9927, "isConstant": false, "isLValue": false, "isPure": false, @@ -10807,36 +10807,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7644:32:18", + "src": "7644:32:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9309, + "id": 9928, "nodeType": "EmitStatement", - "src": "7639:37:18" + "src": "7639:37:19" } ] }, "documentation": "@dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n * This is internal function is equivalent to `approve`, and can be used to\ne.g. set automatic allowances for certain subsystems, etc.\n * Emits an {Approval} event.\n * Requirements:\n * - `owner` cannot be the zero address.\n- `spender` cannot be the zero address.", - "id": 9311, + "id": 9930, "implemented": true, "kind": "function", "modifiers": [], "name": "_approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 9276, + "id": 9895, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9271, + "id": 9890, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 9311, - "src": "7369:13:18", + "scope": 9930, + "src": "7369:13:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10844,10 +10844,10 @@ "typeString": "address" }, "typeName": { - "id": 9270, + "id": 9889, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7369:7:18", + "src": "7369:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10859,11 +10859,11 @@ }, { "constant": false, - "id": 9273, + "id": 9892, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9311, - "src": "7384:15:18", + "scope": 9930, + "src": "7384:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10871,10 +10871,10 @@ "typeString": "address" }, "typeName": { - "id": 9272, + "id": 9891, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7384:7:18", + "src": "7384:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10886,11 +10886,11 @@ }, { "constant": false, - "id": 9275, + "id": 9894, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9311, - "src": "7401:14:18", + "scope": 9930, + "src": "7401:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10898,10 +10898,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9274, + "id": 9893, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7401:7:18", + "src": "7401:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10911,25 +10911,25 @@ "visibility": "internal" } ], - "src": "7368:48:18" + "src": "7368:48:19" }, "returnParameters": { - "id": 9277, + "id": 9896, "nodeType": "ParameterList", "parameters": [], - "src": "7426:0:18" + "src": "7426:0:19" }, - "scope": 9341, - "src": "7351:332:18", + "scope": 9960, + "src": "7351:332:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 9339, + "id": 9958, "nodeType": "Block", - "src": "7922:168:18", + "src": "7922:168:19", "statements": [ { "expression": { @@ -10937,12 +10937,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9319, + "id": 9938, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9313, - "src": "7938:7:18", + "referencedDeclaration": 9932, + "src": "7938:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10950,12 +10950,12 @@ }, { "argumentTypes": null, - "id": 9320, + "id": 9939, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9315, - "src": "7947:6:18", + "referencedDeclaration": 9934, + "src": "7947:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10973,18 +10973,18 @@ "typeString": "uint256" } ], - "id": 9318, + "id": 9937, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9269, - "src": "7932:5:18", + "referencedDeclaration": 9888, + "src": "7932:5:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 9321, + "id": 9940, "isConstant": false, "isLValue": false, "isPure": false, @@ -10992,15 +10992,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7932:22:18", + "src": "7932:22:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9322, + "id": 9941, "nodeType": "ExpressionStatement", - "src": "7932:22:18" + "src": "7932:22:19" }, { "expression": { @@ -11008,12 +11008,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9324, + "id": 9943, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9313, - "src": "7973:7:18", + "referencedDeclaration": 9932, + "src": "7973:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11024,18 +11024,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 9325, + "id": 9944, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "7982:10:18", + "referencedDeclaration": 9356, + "src": "7982:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9326, + "id": 9945, "isConstant": false, "isLValue": false, "isPure": false, @@ -11043,7 +11043,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7982:12:18", + "src": "7982:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -11054,12 +11054,12 @@ "arguments": [ { "argumentTypes": null, - "id": 9334, + "id": 9953, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9315, - "src": "8035:6:18", + "referencedDeclaration": 9934, + "src": "8035:6:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11068,14 +11068,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 9335, + "id": 9954, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8043:38:18", + "src": "8043:38:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", @@ -11101,26 +11101,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9327, + "id": 9946, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8958, - "src": "7996:11:18", + "referencedDeclaration": 9577, + "src": "7996:11:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 9329, + "id": 9948, "indexExpression": { "argumentTypes": null, - "id": 9328, + "id": 9947, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9313, - "src": "8008:7:18", + "referencedDeclaration": 9932, + "src": "8008:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11131,30 +11131,30 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7996:20:18", + "src": "7996:20:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 9332, + "id": 9951, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 9330, + "id": 9949, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8737, - "src": "8017:10:18", + "referencedDeclaration": 9356, + "src": "8017:10:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 9331, + "id": 9950, "isConstant": false, "isLValue": false, "isPure": false, @@ -11162,7 +11162,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8017:12:18", + "src": "8017:12:19", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -11173,27 +11173,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7996:34:18", + "src": "7996:34:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9333, + "id": 9952, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8819, - "src": "7996:38:18", + "referencedDeclaration": 9438, + "src": "7996:38:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 9336, + "id": 9955, "isConstant": false, "isLValue": false, "isPure": false, @@ -11201,7 +11201,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7996:86:18", + "src": "7996:86:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11223,18 +11223,18 @@ "typeString": "uint256" } ], - "id": 9323, + "id": 9942, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9311, - "src": "7964:8:18", + "referencedDeclaration": 9930, + "src": "7964:8:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 9337, + "id": 9956, "isConstant": false, "isLValue": false, "isPure": false, @@ -11242,36 +11242,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7964:119:18", + "src": "7964:119:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9338, + "id": 9957, "nodeType": "ExpressionStatement", - "src": "7964:119:18" + "src": "7964:119:19" } ] }, "documentation": "@dev Destroys `amount` tokens from `account`.`amount` is then deducted\nfrom the caller's allowance.\n * See {_burn} and {_approve}.", - "id": 9340, + "id": 9959, "implemented": true, "kind": "function", "modifiers": [], "name": "_burnFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 9316, + "id": 9935, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9313, + "id": 9932, "name": "account", "nodeType": "VariableDeclaration", - "scope": 9340, - "src": "7880:15:18", + "scope": 9959, + "src": "7880:15:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11279,10 +11279,10 @@ "typeString": "address" }, "typeName": { - "id": 9312, + "id": 9931, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7880:7:18", + "src": "7880:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11294,11 +11294,11 @@ }, { "constant": false, - "id": 9315, + "id": 9934, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9340, - "src": "7897:14:18", + "scope": 9959, + "src": "7897:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11306,10 +11306,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9314, + "id": 9933, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7897:7:18", + "src": "7897:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11319,34 +11319,34 @@ "visibility": "internal" } ], - "src": "7879:33:18" + "src": "7879:33:19" }, "returnParameters": { - "id": 9317, + "id": 9936, "nodeType": "ParameterList", "parameters": [], - "src": "7922:0:18" + "src": "7922:0:19" }, - "scope": 9341, - "src": "7861:229:18", + "scope": 9960, + "src": "7861:229:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 9342, - "src": "1268:6824:18" + "scope": 9961, + "src": "1268:6824:19" } ], - "src": "0:8093:18" + "src": "0:8093:19" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.590Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.481Z", "devdoc": { "details": "Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20Mintable}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.", "methods": { diff --git a/build/contracts/ERC20Detailed.json b/build/contracts/ERC20Detailed.json index b5ad002..c8d2686 100644 --- a/build/contracts/ERC20Detailed.json +++ b/build/contracts/ERC20Detailed.json @@ -275,14 +275,14 @@ "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol", "exportedSymbols": { "ERC20Detailed": [ - 9399 + 10018 ] }, - "id": 9400, + "id": 10019, "nodeType": "SourceUnit", "nodes": [ { - "id": 9343, + "id": 9962, "literals": [ "solidity", "^", @@ -290,16 +290,16 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "0:23:19" + "src": "0:23:20" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 9344, + "id": 9963, "nodeType": "ImportDirective", - "scope": 9400, - "sourceUnit": 9469, - "src": "25:22:19", + "scope": 10019, + "sourceUnit": 10088, + "src": "25:22:20", "symbolAliases": [], "unitAlias": "" }, @@ -309,42 +309,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 9345, + "id": 9964, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9468, - "src": "135:6:19", + "referencedDeclaration": 10087, + "src": "135:6:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9468", + "typeIdentifier": "t_contract$_IERC20_$10087", "typeString": "contract IERC20" } }, - "id": 9346, + "id": 9965, "nodeType": "InheritanceSpecifier", - "src": "135:6:19" + "src": "135:6:20" } ], "contractDependencies": [ - 9468 + 10087 ], "contractKind": "contract", "documentation": "@dev Optional functions from the ERC20 standard.", "fullyImplemented": false, - "id": 9399, + "id": 10018, "linearizedBaseContracts": [ - 9399, - 9468 + 10018, + 10087 ], "name": "ERC20Detailed", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 9348, + "id": 9967, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 9399, - "src": "148:20:19", + "scope": 10018, + "src": "148:20:20", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -352,10 +352,10 @@ "typeString": "string" }, "typeName": { - "id": 9347, + "id": 9966, "name": "string", "nodeType": "ElementaryTypeName", - "src": "148:6:19", + "src": "148:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -366,11 +366,11 @@ }, { "constant": false, - "id": 9350, + "id": 9969, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 9399, - "src": "174:22:19", + "scope": 10018, + "src": "174:22:20", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -378,10 +378,10 @@ "typeString": "string" }, "typeName": { - "id": 9349, + "id": 9968, "name": "string", "nodeType": "ElementaryTypeName", - "src": "174:6:19", + "src": "174:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -392,11 +392,11 @@ }, { "constant": false, - "id": 9352, + "id": 9971, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 9399, - "src": "202:23:19", + "scope": 10018, + "src": "202:23:20", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -404,10 +404,10 @@ "typeString": "uint8" }, "typeName": { - "id": 9351, + "id": 9970, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "202:5:19", + "src": "202:5:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -418,26 +418,26 @@ }, { "body": { - "id": 9373, + "id": 9992, "nodeType": "Block", - "src": "494:85:19", + "src": "494:85:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 9363, + "id": 9982, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 9361, + "id": 9980, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9348, - "src": "504:5:19", + "referencedDeclaration": 9967, + "src": "504:5:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -447,43 +447,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 9362, + "id": 9981, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9354, - "src": "512:4:19", + "referencedDeclaration": 9973, + "src": "512:4:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "504:12:19", + "src": "504:12:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 9364, + "id": 9983, "nodeType": "ExpressionStatement", - "src": "504:12:19" + "src": "504:12:20" }, { "expression": { "argumentTypes": null, - "id": 9367, + "id": 9986, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 9365, + "id": 9984, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9350, - "src": "526:7:19", + "referencedDeclaration": 9969, + "src": "526:7:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -493,43 +493,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 9366, + "id": 9985, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9356, - "src": "536:6:19", + "referencedDeclaration": 9975, + "src": "536:6:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "526:16:19", + "src": "526:16:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 9368, + "id": 9987, "nodeType": "ExpressionStatement", - "src": "526:16:19" + "src": "526:16:20" }, { "expression": { "argumentTypes": null, - "id": 9371, + "id": 9990, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 9369, + "id": 9988, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9352, - "src": "552:9:19", + "referencedDeclaration": 9971, + "src": "552:9:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -539,47 +539,47 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 9370, + "id": 9989, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9358, - "src": "564:8:19", + "referencedDeclaration": 9977, + "src": "564:8:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "552:20:19", + "src": "552:20:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 9372, + "id": 9991, "nodeType": "ExpressionStatement", - "src": "552:20:19" + "src": "552:20:20" } ] }, "documentation": "@dev Sets the values for `name`, `symbol`, and `decimals`. All three of\nthese values are immutable: they can only be set once during\nconstruction.", - "id": 9374, + "id": 9993, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 9359, + "id": 9978, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9354, + "id": 9973, "name": "name", "nodeType": "VariableDeclaration", - "scope": 9374, - "src": "429:18:19", + "scope": 9993, + "src": "429:18:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -587,10 +587,10 @@ "typeString": "string" }, "typeName": { - "id": 9353, + "id": 9972, "name": "string", "nodeType": "ElementaryTypeName", - "src": "429:6:19", + "src": "429:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -601,11 +601,11 @@ }, { "constant": false, - "id": 9356, + "id": 9975, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 9374, - "src": "449:20:19", + "scope": 9993, + "src": "449:20:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -613,10 +613,10 @@ "typeString": "string" }, "typeName": { - "id": 9355, + "id": 9974, "name": "string", "nodeType": "ElementaryTypeName", - "src": "449:6:19", + "src": "449:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -627,11 +627,11 @@ }, { "constant": false, - "id": 9358, + "id": 9977, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 9374, - "src": "471:14:19", + "scope": 9993, + "src": "471:14:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -639,10 +639,10 @@ "typeString": "uint8" }, "typeName": { - "id": 9357, + "id": 9976, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "471:5:19", + "src": "471:5:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -652,71 +652,71 @@ "visibility": "internal" } ], - "src": "428:58:19" + "src": "428:58:20" }, "returnParameters": { - "id": 9360, + "id": 9979, "nodeType": "ParameterList", "parameters": [], - "src": "494:0:19" + "src": "494:0:20" }, - "scope": 9399, - "src": "416:163:19", + "scope": 10018, + "src": "416:163:20", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 9381, + "id": 10000, "nodeType": "Block", - "src": "696:29:19", + "src": "696:29:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 9379, + "id": 9998, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9348, - "src": "713:5:19", + "referencedDeclaration": 9967, + "src": "713:5:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 9378, - "id": 9380, + "functionReturnParameters": 9997, + "id": 9999, "nodeType": "Return", - "src": "706:12:19" + "src": "706:12:20" } ] }, "documentation": "@dev Returns the name of the token.", - "id": 9382, + "id": 10001, "implemented": true, "kind": "function", "modifiers": [], "name": "name", "nodeType": "FunctionDefinition", "parameters": { - "id": 9375, + "id": 9994, "nodeType": "ParameterList", "parameters": [], - "src": "657:2:19" + "src": "657:2:20" }, "returnParameters": { - "id": 9378, + "id": 9997, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9377, + "id": 9996, "name": "", "nodeType": "VariableDeclaration", - "scope": 9382, - "src": "681:13:19", + "scope": 10001, + "src": "681:13:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -724,10 +724,10 @@ "typeString": "string" }, "typeName": { - "id": 9376, + "id": 9995, "name": "string", "nodeType": "ElementaryTypeName", - "src": "681:6:19", + "src": "681:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -737,65 +737,65 @@ "visibility": "internal" } ], - "src": "680:15:19" + "src": "680:15:20" }, - "scope": 9399, - "src": "644:81:19", + "scope": 10018, + "src": "644:81:20", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 9389, + "id": 10008, "nodeType": "Block", - "src": "892:31:19", + "src": "892:31:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 9387, + "id": 10006, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9350, - "src": "909:7:19", + "referencedDeclaration": 9969, + "src": "909:7:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 9386, - "id": 9388, + "functionReturnParameters": 10005, + "id": 10007, "nodeType": "Return", - "src": "902:14:19" + "src": "902:14:20" } ] }, "documentation": "@dev Returns the symbol of the token, usually a shorter version of the\nname.", - "id": 9390, + "id": 10009, "implemented": true, "kind": "function", "modifiers": [], "name": "symbol", "nodeType": "FunctionDefinition", "parameters": { - "id": 9383, + "id": 10002, "nodeType": "ParameterList", "parameters": [], - "src": "853:2:19" + "src": "853:2:20" }, "returnParameters": { - "id": 9386, + "id": 10005, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9385, + "id": 10004, "name": "", "nodeType": "VariableDeclaration", - "scope": 9390, - "src": "877:13:19", + "scope": 10009, + "src": "877:13:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -803,10 +803,10 @@ "typeString": "string" }, "typeName": { - "id": 9384, + "id": 10003, "name": "string", "nodeType": "ElementaryTypeName", - "src": "877:6:19", + "src": "877:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -816,65 +816,65 @@ "visibility": "internal" } ], - "src": "876:15:19" + "src": "876:15:20" }, - "scope": 9399, - "src": "838:85:19", + "scope": 10018, + "src": "838:85:20", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 9397, + "id": 10016, "nodeType": "Block", - "src": "1520:33:19", + "src": "1520:33:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 9395, + "id": 10014, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9352, - "src": "1537:9:19", + "referencedDeclaration": 9971, + "src": "1537:9:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 9394, - "id": 9396, + "functionReturnParameters": 10013, + "id": 10015, "nodeType": "Return", - "src": "1530:16:19" + "src": "1530:16:20" } ] }, "documentation": "@dev Returns the number of decimals used to get its user representation.\nFor example, if `decimals` equals `2`, a balance of `505` tokens should\nbe displayed to a user as `5,05` (`505 / 10 ** 2`).\n * Tokens usually opt for a value of 18, imitating the relationship between\nEther and Wei.\n * NOTE: This information is only used for _display_ purposes: it in\nno way affects any of the arithmetic of the contract, including\n{IERC20-balanceOf} and {IERC20-transfer}.", - "id": 9398, + "id": 10017, "implemented": true, "kind": "function", "modifiers": [], "name": "decimals", "nodeType": "FunctionDefinition", "parameters": { - "id": 9391, + "id": 10010, "nodeType": "ParameterList", "parameters": [], - "src": "1489:2:19" + "src": "1489:2:20" }, "returnParameters": { - "id": 9394, + "id": 10013, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9393, + "id": 10012, "name": "", "nodeType": "VariableDeclaration", - "scope": 9398, - "src": "1513:5:19", + "scope": 10017, + "src": "1513:5:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -882,10 +882,10 @@ "typeString": "uint8" }, "typeName": { - "id": 9392, + "id": 10011, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1513:5:19", + "src": "1513:5:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -895,33 +895,33 @@ "visibility": "internal" } ], - "src": "1512:7:19" + "src": "1512:7:20" }, - "scope": 9399, - "src": "1472:81:19", + "scope": 10018, + "src": "1472:81:20", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 9400, - "src": "109:1446:19" + "scope": 10019, + "src": "109:1446:20" } ], - "src": "0:1556:19" + "src": "0:1556:20" }, "legacyAST": { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol", "exportedSymbols": { "ERC20Detailed": [ - 9399 + 10018 ] }, - "id": 9400, + "id": 10019, "nodeType": "SourceUnit", "nodes": [ { - "id": 9343, + "id": 9962, "literals": [ "solidity", "^", @@ -929,16 +929,16 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "0:23:19" + "src": "0:23:20" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 9344, + "id": 9963, "nodeType": "ImportDirective", - "scope": 9400, - "sourceUnit": 9469, - "src": "25:22:19", + "scope": 10019, + "sourceUnit": 10088, + "src": "25:22:20", "symbolAliases": [], "unitAlias": "" }, @@ -948,42 +948,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 9345, + "id": 9964, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9468, - "src": "135:6:19", + "referencedDeclaration": 10087, + "src": "135:6:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9468", + "typeIdentifier": "t_contract$_IERC20_$10087", "typeString": "contract IERC20" } }, - "id": 9346, + "id": 9965, "nodeType": "InheritanceSpecifier", - "src": "135:6:19" + "src": "135:6:20" } ], "contractDependencies": [ - 9468 + 10087 ], "contractKind": "contract", "documentation": "@dev Optional functions from the ERC20 standard.", "fullyImplemented": false, - "id": 9399, + "id": 10018, "linearizedBaseContracts": [ - 9399, - 9468 + 10018, + 10087 ], "name": "ERC20Detailed", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 9348, + "id": 9967, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 9399, - "src": "148:20:19", + "scope": 10018, + "src": "148:20:20", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -991,10 +991,10 @@ "typeString": "string" }, "typeName": { - "id": 9347, + "id": 9966, "name": "string", "nodeType": "ElementaryTypeName", - "src": "148:6:19", + "src": "148:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1005,11 +1005,11 @@ }, { "constant": false, - "id": 9350, + "id": 9969, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 9399, - "src": "174:22:19", + "scope": 10018, + "src": "174:22:20", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1017,10 +1017,10 @@ "typeString": "string" }, "typeName": { - "id": 9349, + "id": 9968, "name": "string", "nodeType": "ElementaryTypeName", - "src": "174:6:19", + "src": "174:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1031,11 +1031,11 @@ }, { "constant": false, - "id": 9352, + "id": 9971, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 9399, - "src": "202:23:19", + "scope": 10018, + "src": "202:23:20", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1043,10 +1043,10 @@ "typeString": "uint8" }, "typeName": { - "id": 9351, + "id": 9970, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "202:5:19", + "src": "202:5:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1057,26 +1057,26 @@ }, { "body": { - "id": 9373, + "id": 9992, "nodeType": "Block", - "src": "494:85:19", + "src": "494:85:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 9363, + "id": 9982, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 9361, + "id": 9980, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9348, - "src": "504:5:19", + "referencedDeclaration": 9967, + "src": "504:5:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1086,43 +1086,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 9362, + "id": 9981, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9354, - "src": "512:4:19", + "referencedDeclaration": 9973, + "src": "512:4:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "504:12:19", + "src": "504:12:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 9364, + "id": 9983, "nodeType": "ExpressionStatement", - "src": "504:12:19" + "src": "504:12:20" }, { "expression": { "argumentTypes": null, - "id": 9367, + "id": 9986, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 9365, + "id": 9984, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9350, - "src": "526:7:19", + "referencedDeclaration": 9969, + "src": "526:7:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1132,43 +1132,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 9366, + "id": 9985, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9356, - "src": "536:6:19", + "referencedDeclaration": 9975, + "src": "536:6:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "526:16:19", + "src": "526:16:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 9368, + "id": 9987, "nodeType": "ExpressionStatement", - "src": "526:16:19" + "src": "526:16:20" }, { "expression": { "argumentTypes": null, - "id": 9371, + "id": 9990, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 9369, + "id": 9988, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9352, - "src": "552:9:19", + "referencedDeclaration": 9971, + "src": "552:9:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1178,47 +1178,47 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 9370, + "id": 9989, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9358, - "src": "564:8:19", + "referencedDeclaration": 9977, + "src": "564:8:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "552:20:19", + "src": "552:20:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 9372, + "id": 9991, "nodeType": "ExpressionStatement", - "src": "552:20:19" + "src": "552:20:20" } ] }, "documentation": "@dev Sets the values for `name`, `symbol`, and `decimals`. All three of\nthese values are immutable: they can only be set once during\nconstruction.", - "id": 9374, + "id": 9993, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 9359, + "id": 9978, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9354, + "id": 9973, "name": "name", "nodeType": "VariableDeclaration", - "scope": 9374, - "src": "429:18:19", + "scope": 9993, + "src": "429:18:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1226,10 +1226,10 @@ "typeString": "string" }, "typeName": { - "id": 9353, + "id": 9972, "name": "string", "nodeType": "ElementaryTypeName", - "src": "429:6:19", + "src": "429:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1240,11 +1240,11 @@ }, { "constant": false, - "id": 9356, + "id": 9975, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 9374, - "src": "449:20:19", + "scope": 9993, + "src": "449:20:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1252,10 +1252,10 @@ "typeString": "string" }, "typeName": { - "id": 9355, + "id": 9974, "name": "string", "nodeType": "ElementaryTypeName", - "src": "449:6:19", + "src": "449:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1266,11 +1266,11 @@ }, { "constant": false, - "id": 9358, + "id": 9977, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 9374, - "src": "471:14:19", + "scope": 9993, + "src": "471:14:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1278,10 +1278,10 @@ "typeString": "uint8" }, "typeName": { - "id": 9357, + "id": 9976, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "471:5:19", + "src": "471:5:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1291,71 +1291,71 @@ "visibility": "internal" } ], - "src": "428:58:19" + "src": "428:58:20" }, "returnParameters": { - "id": 9360, + "id": 9979, "nodeType": "ParameterList", "parameters": [], - "src": "494:0:19" + "src": "494:0:20" }, - "scope": 9399, - "src": "416:163:19", + "scope": 10018, + "src": "416:163:20", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 9381, + "id": 10000, "nodeType": "Block", - "src": "696:29:19", + "src": "696:29:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 9379, + "id": 9998, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9348, - "src": "713:5:19", + "referencedDeclaration": 9967, + "src": "713:5:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 9378, - "id": 9380, + "functionReturnParameters": 9997, + "id": 9999, "nodeType": "Return", - "src": "706:12:19" + "src": "706:12:20" } ] }, "documentation": "@dev Returns the name of the token.", - "id": 9382, + "id": 10001, "implemented": true, "kind": "function", "modifiers": [], "name": "name", "nodeType": "FunctionDefinition", "parameters": { - "id": 9375, + "id": 9994, "nodeType": "ParameterList", "parameters": [], - "src": "657:2:19" + "src": "657:2:20" }, "returnParameters": { - "id": 9378, + "id": 9997, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9377, + "id": 9996, "name": "", "nodeType": "VariableDeclaration", - "scope": 9382, - "src": "681:13:19", + "scope": 10001, + "src": "681:13:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1363,10 +1363,10 @@ "typeString": "string" }, "typeName": { - "id": 9376, + "id": 9995, "name": "string", "nodeType": "ElementaryTypeName", - "src": "681:6:19", + "src": "681:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1376,65 +1376,65 @@ "visibility": "internal" } ], - "src": "680:15:19" + "src": "680:15:20" }, - "scope": 9399, - "src": "644:81:19", + "scope": 10018, + "src": "644:81:20", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 9389, + "id": 10008, "nodeType": "Block", - "src": "892:31:19", + "src": "892:31:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 9387, + "id": 10006, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9350, - "src": "909:7:19", + "referencedDeclaration": 9969, + "src": "909:7:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 9386, - "id": 9388, + "functionReturnParameters": 10005, + "id": 10007, "nodeType": "Return", - "src": "902:14:19" + "src": "902:14:20" } ] }, "documentation": "@dev Returns the symbol of the token, usually a shorter version of the\nname.", - "id": 9390, + "id": 10009, "implemented": true, "kind": "function", "modifiers": [], "name": "symbol", "nodeType": "FunctionDefinition", "parameters": { - "id": 9383, + "id": 10002, "nodeType": "ParameterList", "parameters": [], - "src": "853:2:19" + "src": "853:2:20" }, "returnParameters": { - "id": 9386, + "id": 10005, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9385, + "id": 10004, "name": "", "nodeType": "VariableDeclaration", - "scope": 9390, - "src": "877:13:19", + "scope": 10009, + "src": "877:13:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1442,10 +1442,10 @@ "typeString": "string" }, "typeName": { - "id": 9384, + "id": 10003, "name": "string", "nodeType": "ElementaryTypeName", - "src": "877:6:19", + "src": "877:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1455,65 +1455,65 @@ "visibility": "internal" } ], - "src": "876:15:19" + "src": "876:15:20" }, - "scope": 9399, - "src": "838:85:19", + "scope": 10018, + "src": "838:85:20", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 9397, + "id": 10016, "nodeType": "Block", - "src": "1520:33:19", + "src": "1520:33:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 9395, + "id": 10014, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9352, - "src": "1537:9:19", + "referencedDeclaration": 9971, + "src": "1537:9:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 9394, - "id": 9396, + "functionReturnParameters": 10013, + "id": 10015, "nodeType": "Return", - "src": "1530:16:19" + "src": "1530:16:20" } ] }, "documentation": "@dev Returns the number of decimals used to get its user representation.\nFor example, if `decimals` equals `2`, a balance of `505` tokens should\nbe displayed to a user as `5,05` (`505 / 10 ** 2`).\n * Tokens usually opt for a value of 18, imitating the relationship between\nEther and Wei.\n * NOTE: This information is only used for _display_ purposes: it in\nno way affects any of the arithmetic of the contract, including\n{IERC20-balanceOf} and {IERC20-transfer}.", - "id": 9398, + "id": 10017, "implemented": true, "kind": "function", "modifiers": [], "name": "decimals", "nodeType": "FunctionDefinition", "parameters": { - "id": 9391, + "id": 10010, "nodeType": "ParameterList", "parameters": [], - "src": "1489:2:19" + "src": "1489:2:20" }, "returnParameters": { - "id": 9394, + "id": 10013, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9393, + "id": 10012, "name": "", "nodeType": "VariableDeclaration", - "scope": 9398, - "src": "1513:5:19", + "scope": 10017, + "src": "1513:5:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1521,10 +1521,10 @@ "typeString": "uint8" }, "typeName": { - "id": 9392, + "id": 10011, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1513:5:19", + "src": "1513:5:20", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1534,28 +1534,28 @@ "visibility": "internal" } ], - "src": "1512:7:19" + "src": "1512:7:20" }, - "scope": 9399, - "src": "1472:81:19", + "scope": 10018, + "src": "1472:81:20", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 9400, - "src": "109:1446:19" + "scope": 10019, + "src": "109:1446:20" } ], - "src": "0:1556:19" + "src": "0:1556:20" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.594Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.485Z", "devdoc": { "details": "Optional functions from the ERC20 standard.", "methods": { diff --git a/build/contracts/IERC20.json b/build/contracts/IERC20.json index cfafd03..33439ef 100644 --- a/build/contracts/IERC20.json +++ b/build/contracts/IERC20.json @@ -208,14 +208,14 @@ "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 9468 + 10087 ] }, - "id": 9469, + "id": 10088, "nodeType": "SourceUnit", "nodes": [ { - "id": 9401, + "id": 10020, "literals": [ "solidity", "^", @@ -223,7 +223,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "0:23:20" + "src": "0:23:21" }, { "baseContracts": [], @@ -231,9 +231,9 @@ "contractKind": "interface", "documentation": "@dev Interface of the ERC20 standard as defined in the EIP. Does not include\nthe optional functions; to access them see {ERC20Detailed}.", "fullyImplemented": false, - "id": 9468, + "id": 10087, "linearizedBaseContracts": [ - 9468 + 10087 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -241,29 +241,29 @@ { "body": null, "documentation": "@dev Returns the amount of tokens in existence.", - "id": 9406, + "id": 10025, "implemented": false, "kind": "function", "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 9402, + "id": 10021, "nodeType": "ParameterList", "parameters": [], - "src": "290:2:20" + "src": "290:2:21" }, "returnParameters": { - "id": 9405, + "id": 10024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9404, + "id": 10023, "name": "", "nodeType": "VariableDeclaration", - "scope": 9406, - "src": "316:7:20", + "scope": 10025, + "src": "316:7:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -271,10 +271,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9403, + "id": 10022, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "316:7:20", + "src": "316:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -284,10 +284,10 @@ "visibility": "internal" } ], - "src": "315:9:20" + "src": "315:9:21" }, - "scope": 9468, - "src": "270:55:20", + "scope": 10087, + "src": "270:55:21", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -295,23 +295,23 @@ { "body": null, "documentation": "@dev Returns the amount of tokens owned by `account`.", - "id": 9413, + "id": 10032, "implemented": false, "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 9409, + "id": 10028, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9408, + "id": 10027, "name": "account", "nodeType": "VariableDeclaration", - "scope": 9413, - "src": "427:15:20", + "scope": 10032, + "src": "427:15:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -319,10 +319,10 @@ "typeString": "address" }, "typeName": { - "id": 9407, + "id": 10026, "name": "address", "nodeType": "ElementaryTypeName", - "src": "427:7:20", + "src": "427:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -333,19 +333,19 @@ "visibility": "internal" } ], - "src": "426:17:20" + "src": "426:17:21" }, "returnParameters": { - "id": 9412, + "id": 10031, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9411, + "id": 10030, "name": "", "nodeType": "VariableDeclaration", - "scope": 9413, - "src": "467:7:20", + "scope": 10032, + "src": "467:7:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -353,10 +353,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9410, + "id": 10029, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "467:7:20", + "src": "467:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -366,10 +366,10 @@ "visibility": "internal" } ], - "src": "466:9:20" + "src": "466:9:21" }, - "scope": 9468, - "src": "408:68:20", + "scope": 10087, + "src": "408:68:21", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -377,23 +377,23 @@ { "body": null, "documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 9422, + "id": 10041, "implemented": false, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 9418, + "id": 10037, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9415, + "id": 10034, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 9422, - "src": "714:17:20", + "scope": 10041, + "src": "714:17:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -401,10 +401,10 @@ "typeString": "address" }, "typeName": { - "id": 9414, + "id": 10033, "name": "address", "nodeType": "ElementaryTypeName", - "src": "714:7:20", + "src": "714:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -416,11 +416,11 @@ }, { "constant": false, - "id": 9417, + "id": 10036, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9422, - "src": "733:14:20", + "scope": 10041, + "src": "733:14:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -428,10 +428,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9416, + "id": 10035, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "733:7:20", + "src": "733:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -441,19 +441,19 @@ "visibility": "internal" } ], - "src": "713:35:20" + "src": "713:35:21" }, "returnParameters": { - "id": 9421, + "id": 10040, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9420, + "id": 10039, "name": "", "nodeType": "VariableDeclaration", - "scope": 9422, - "src": "767:4:20", + "scope": 10041, + "src": "767:4:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -461,10 +461,10 @@ "typeString": "bool" }, "typeName": { - "id": 9419, + "id": 10038, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "767:4:20", + "src": "767:4:21", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -474,10 +474,10 @@ "visibility": "internal" } ], - "src": "766:6:20" + "src": "766:6:21" }, - "scope": 9468, - "src": "696:77:20", + "scope": 10087, + "src": "696:77:21", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -485,23 +485,23 @@ { "body": null, "documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called.", - "id": 9431, + "id": 10050, "implemented": false, "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 9427, + "id": 10046, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9424, + "id": 10043, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 9431, - "src": "1067:13:20", + "scope": 10050, + "src": "1067:13:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -509,10 +509,10 @@ "typeString": "address" }, "typeName": { - "id": 9423, + "id": 10042, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1067:7:20", + "src": "1067:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -524,11 +524,11 @@ }, { "constant": false, - "id": 9426, + "id": 10045, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9431, - "src": "1082:15:20", + "scope": 10050, + "src": "1082:15:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -536,10 +536,10 @@ "typeString": "address" }, "typeName": { - "id": 9425, + "id": 10044, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1082:7:20", + "src": "1082:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -550,19 +550,19 @@ "visibility": "internal" } ], - "src": "1066:32:20" + "src": "1066:32:21" }, "returnParameters": { - "id": 9430, + "id": 10049, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9429, + "id": 10048, "name": "", "nodeType": "VariableDeclaration", - "scope": 9431, - "src": "1122:7:20", + "scope": 10050, + "src": "1122:7:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -570,10 +570,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9428, + "id": 10047, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1122:7:20", + "src": "1122:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -583,10 +583,10 @@ "visibility": "internal" } ], - "src": "1121:9:20" + "src": "1121:9:21" }, - "scope": 9468, - "src": "1048:83:20", + "scope": 10087, + "src": "1048:83:21", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -594,23 +594,23 @@ { "body": null, "documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event.", - "id": 9440, + "id": 10059, "implemented": false, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 9436, + "id": 10055, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9433, + "id": 10052, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9440, - "src": "1801:15:20", + "scope": 10059, + "src": "1801:15:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -618,10 +618,10 @@ "typeString": "address" }, "typeName": { - "id": 9432, + "id": 10051, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1801:7:20", + "src": "1801:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -633,11 +633,11 @@ }, { "constant": false, - "id": 9435, + "id": 10054, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9440, - "src": "1818:14:20", + "scope": 10059, + "src": "1818:14:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -645,10 +645,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9434, + "id": 10053, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1818:7:20", + "src": "1818:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -658,19 +658,19 @@ "visibility": "internal" } ], - "src": "1800:33:20" + "src": "1800:33:21" }, "returnParameters": { - "id": 9439, + "id": 10058, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9438, + "id": 10057, "name": "", "nodeType": "VariableDeclaration", - "scope": 9440, - "src": "1852:4:20", + "scope": 10059, + "src": "1852:4:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -678,10 +678,10 @@ "typeString": "bool" }, "typeName": { - "id": 9437, + "id": 10056, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1852:4:20", + "src": "1852:4:21", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -691,10 +691,10 @@ "visibility": "internal" } ], - "src": "1851:6:20" + "src": "1851:6:21" }, - "scope": 9468, - "src": "1784:74:20", + "scope": 10087, + "src": "1784:74:21", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -702,23 +702,23 @@ { "body": null, "documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 9451, + "id": 10070, "implemented": false, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 9447, + "id": 10066, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9442, + "id": 10061, "name": "sender", "nodeType": "VariableDeclaration", - "scope": 9451, - "src": "2187:14:20", + "scope": 10070, + "src": "2187:14:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -726,10 +726,10 @@ "typeString": "address" }, "typeName": { - "id": 9441, + "id": 10060, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2187:7:20", + "src": "2187:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -741,11 +741,11 @@ }, { "constant": false, - "id": 9444, + "id": 10063, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 9451, - "src": "2203:17:20", + "scope": 10070, + "src": "2203:17:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -753,10 +753,10 @@ "typeString": "address" }, "typeName": { - "id": 9443, + "id": 10062, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2203:7:20", + "src": "2203:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -768,11 +768,11 @@ }, { "constant": false, - "id": 9446, + "id": 10065, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9451, - "src": "2222:14:20", + "scope": 10070, + "src": "2222:14:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -780,10 +780,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9445, + "id": 10064, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2222:7:20", + "src": "2222:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -793,19 +793,19 @@ "visibility": "internal" } ], - "src": "2186:51:20" + "src": "2186:51:21" }, "returnParameters": { - "id": 9450, + "id": 10069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9449, + "id": 10068, "name": "", "nodeType": "VariableDeclaration", - "scope": 9451, - "src": "2256:4:20", + "scope": 10070, + "src": "2256:4:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -813,10 +813,10 @@ "typeString": "bool" }, "typeName": { - "id": 9448, + "id": 10067, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2256:4:20", + "src": "2256:4:21", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -826,10 +826,10 @@ "visibility": "internal" } ], - "src": "2255:6:20" + "src": "2255:6:21" }, - "scope": 9468, - "src": "2165:97:20", + "scope": 10087, + "src": "2165:97:21", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -837,21 +837,21 @@ { "anonymous": false, "documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.", - "id": 9459, + "id": 10078, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 9458, + "id": 10077, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9453, + "id": 10072, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 9459, - "src": "2446:20:20", + "scope": 10078, + "src": "2446:20:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -859,10 +859,10 @@ "typeString": "address" }, "typeName": { - "id": 9452, + "id": 10071, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2446:7:20", + "src": "2446:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -874,12 +874,12 @@ }, { "constant": false, - "id": 9455, + "id": 10074, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 9459, - "src": "2468:18:20", + "scope": 10078, + "src": "2468:18:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -887,10 +887,10 @@ "typeString": "address" }, "typeName": { - "id": 9454, + "id": 10073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2468:7:20", + "src": "2468:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -902,12 +902,12 @@ }, { "constant": false, - "id": 9457, + "id": 10076, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 9459, - "src": "2488:13:20", + "scope": 10078, + "src": "2488:13:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -915,10 +915,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9456, + "id": 10075, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2488:7:20", + "src": "2488:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -928,28 +928,28 @@ "visibility": "internal" } ], - "src": "2445:57:20" + "src": "2445:57:21" }, - "src": "2431:72:20" + "src": "2431:72:21" }, { "anonymous": false, "documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance.", - "id": 9467, + "id": 10086, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 9466, + "id": 10085, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9461, + "id": 10080, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 9467, - "src": "2677:21:20", + "scope": 10086, + "src": "2677:21:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -957,10 +957,10 @@ "typeString": "address" }, "typeName": { - "id": 9460, + "id": 10079, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2677:7:20", + "src": "2677:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -972,12 +972,12 @@ }, { "constant": false, - "id": 9463, + "id": 10082, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9467, - "src": "2700:23:20", + "scope": 10086, + "src": "2700:23:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -985,10 +985,10 @@ "typeString": "address" }, "typeName": { - "id": 9462, + "id": 10081, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2700:7:20", + "src": "2700:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1000,12 +1000,12 @@ }, { "constant": false, - "id": 9465, + "id": 10084, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 9467, - "src": "2725:13:20", + "scope": 10086, + "src": "2725:13:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1013,10 +1013,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9464, + "id": 10083, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2725:7:20", + "src": "2725:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1026,29 +1026,29 @@ "visibility": "internal" } ], - "src": "2676:63:20" + "src": "2676:63:21" }, - "src": "2662:78:20" + "src": "2662:78:21" } ], - "scope": 9469, - "src": "176:2566:20" + "scope": 10088, + "src": "176:2566:21" } ], - "src": "0:2743:20" + "src": "0:2743:21" }, "legacyAST": { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 9468 + 10087 ] }, - "id": 9469, + "id": 10088, "nodeType": "SourceUnit", "nodes": [ { - "id": 9401, + "id": 10020, "literals": [ "solidity", "^", @@ -1056,7 +1056,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "0:23:20" + "src": "0:23:21" }, { "baseContracts": [], @@ -1064,9 +1064,9 @@ "contractKind": "interface", "documentation": "@dev Interface of the ERC20 standard as defined in the EIP. Does not include\nthe optional functions; to access them see {ERC20Detailed}.", "fullyImplemented": false, - "id": 9468, + "id": 10087, "linearizedBaseContracts": [ - 9468 + 10087 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -1074,29 +1074,29 @@ { "body": null, "documentation": "@dev Returns the amount of tokens in existence.", - "id": 9406, + "id": 10025, "implemented": false, "kind": "function", "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 9402, + "id": 10021, "nodeType": "ParameterList", "parameters": [], - "src": "290:2:20" + "src": "290:2:21" }, "returnParameters": { - "id": 9405, + "id": 10024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9404, + "id": 10023, "name": "", "nodeType": "VariableDeclaration", - "scope": 9406, - "src": "316:7:20", + "scope": 10025, + "src": "316:7:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1104,10 +1104,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9403, + "id": 10022, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "316:7:20", + "src": "316:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1117,10 +1117,10 @@ "visibility": "internal" } ], - "src": "315:9:20" + "src": "315:9:21" }, - "scope": 9468, - "src": "270:55:20", + "scope": 10087, + "src": "270:55:21", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -1128,23 +1128,23 @@ { "body": null, "documentation": "@dev Returns the amount of tokens owned by `account`.", - "id": 9413, + "id": 10032, "implemented": false, "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 9409, + "id": 10028, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9408, + "id": 10027, "name": "account", "nodeType": "VariableDeclaration", - "scope": 9413, - "src": "427:15:20", + "scope": 10032, + "src": "427:15:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1152,10 +1152,10 @@ "typeString": "address" }, "typeName": { - "id": 9407, + "id": 10026, "name": "address", "nodeType": "ElementaryTypeName", - "src": "427:7:20", + "src": "427:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1166,19 +1166,19 @@ "visibility": "internal" } ], - "src": "426:17:20" + "src": "426:17:21" }, "returnParameters": { - "id": 9412, + "id": 10031, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9411, + "id": 10030, "name": "", "nodeType": "VariableDeclaration", - "scope": 9413, - "src": "467:7:20", + "scope": 10032, + "src": "467:7:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1186,10 +1186,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9410, + "id": 10029, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "467:7:20", + "src": "467:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1199,10 +1199,10 @@ "visibility": "internal" } ], - "src": "466:9:20" + "src": "466:9:21" }, - "scope": 9468, - "src": "408:68:20", + "scope": 10087, + "src": "408:68:21", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -1210,23 +1210,23 @@ { "body": null, "documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 9422, + "id": 10041, "implemented": false, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 9418, + "id": 10037, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9415, + "id": 10034, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 9422, - "src": "714:17:20", + "scope": 10041, + "src": "714:17:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1234,10 +1234,10 @@ "typeString": "address" }, "typeName": { - "id": 9414, + "id": 10033, "name": "address", "nodeType": "ElementaryTypeName", - "src": "714:7:20", + "src": "714:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1249,11 +1249,11 @@ }, { "constant": false, - "id": 9417, + "id": 10036, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9422, - "src": "733:14:20", + "scope": 10041, + "src": "733:14:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1261,10 +1261,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9416, + "id": 10035, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "733:7:20", + "src": "733:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1274,19 +1274,19 @@ "visibility": "internal" } ], - "src": "713:35:20" + "src": "713:35:21" }, "returnParameters": { - "id": 9421, + "id": 10040, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9420, + "id": 10039, "name": "", "nodeType": "VariableDeclaration", - "scope": 9422, - "src": "767:4:20", + "scope": 10041, + "src": "767:4:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1294,10 +1294,10 @@ "typeString": "bool" }, "typeName": { - "id": 9419, + "id": 10038, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "767:4:20", + "src": "767:4:21", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1307,10 +1307,10 @@ "visibility": "internal" } ], - "src": "766:6:20" + "src": "766:6:21" }, - "scope": 9468, - "src": "696:77:20", + "scope": 10087, + "src": "696:77:21", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1318,23 +1318,23 @@ { "body": null, "documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called.", - "id": 9431, + "id": 10050, "implemented": false, "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 9427, + "id": 10046, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9424, + "id": 10043, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 9431, - "src": "1067:13:20", + "scope": 10050, + "src": "1067:13:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1342,10 +1342,10 @@ "typeString": "address" }, "typeName": { - "id": 9423, + "id": 10042, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1067:7:20", + "src": "1067:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1357,11 +1357,11 @@ }, { "constant": false, - "id": 9426, + "id": 10045, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9431, - "src": "1082:15:20", + "scope": 10050, + "src": "1082:15:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1369,10 +1369,10 @@ "typeString": "address" }, "typeName": { - "id": 9425, + "id": 10044, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1082:7:20", + "src": "1082:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1383,19 +1383,19 @@ "visibility": "internal" } ], - "src": "1066:32:20" + "src": "1066:32:21" }, "returnParameters": { - "id": 9430, + "id": 10049, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9429, + "id": 10048, "name": "", "nodeType": "VariableDeclaration", - "scope": 9431, - "src": "1122:7:20", + "scope": 10050, + "src": "1122:7:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1403,10 +1403,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9428, + "id": 10047, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1122:7:20", + "src": "1122:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1416,10 +1416,10 @@ "visibility": "internal" } ], - "src": "1121:9:20" + "src": "1121:9:21" }, - "scope": 9468, - "src": "1048:83:20", + "scope": 10087, + "src": "1048:83:21", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -1427,23 +1427,23 @@ { "body": null, "documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event.", - "id": 9440, + "id": 10059, "implemented": false, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 9436, + "id": 10055, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9433, + "id": 10052, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9440, - "src": "1801:15:20", + "scope": 10059, + "src": "1801:15:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1451,10 +1451,10 @@ "typeString": "address" }, "typeName": { - "id": 9432, + "id": 10051, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1801:7:20", + "src": "1801:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1466,11 +1466,11 @@ }, { "constant": false, - "id": 9435, + "id": 10054, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9440, - "src": "1818:14:20", + "scope": 10059, + "src": "1818:14:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1478,10 +1478,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9434, + "id": 10053, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1818:7:20", + "src": "1818:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1491,19 +1491,19 @@ "visibility": "internal" } ], - "src": "1800:33:20" + "src": "1800:33:21" }, "returnParameters": { - "id": 9439, + "id": 10058, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9438, + "id": 10057, "name": "", "nodeType": "VariableDeclaration", - "scope": 9440, - "src": "1852:4:20", + "scope": 10059, + "src": "1852:4:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1511,10 +1511,10 @@ "typeString": "bool" }, "typeName": { - "id": 9437, + "id": 10056, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1852:4:20", + "src": "1852:4:21", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1524,10 +1524,10 @@ "visibility": "internal" } ], - "src": "1851:6:20" + "src": "1851:6:21" }, - "scope": 9468, - "src": "1784:74:20", + "scope": 10087, + "src": "1784:74:21", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1535,23 +1535,23 @@ { "body": null, "documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 9451, + "id": 10070, "implemented": false, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 9447, + "id": 10066, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9442, + "id": 10061, "name": "sender", "nodeType": "VariableDeclaration", - "scope": 9451, - "src": "2187:14:20", + "scope": 10070, + "src": "2187:14:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1559,10 +1559,10 @@ "typeString": "address" }, "typeName": { - "id": 9441, + "id": 10060, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2187:7:20", + "src": "2187:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1574,11 +1574,11 @@ }, { "constant": false, - "id": 9444, + "id": 10063, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 9451, - "src": "2203:17:20", + "scope": 10070, + "src": "2203:17:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1586,10 +1586,10 @@ "typeString": "address" }, "typeName": { - "id": 9443, + "id": 10062, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2203:7:20", + "src": "2203:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1601,11 +1601,11 @@ }, { "constant": false, - "id": 9446, + "id": 10065, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 9451, - "src": "2222:14:20", + "scope": 10070, + "src": "2222:14:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1613,10 +1613,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9445, + "id": 10064, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2222:7:20", + "src": "2222:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1626,19 +1626,19 @@ "visibility": "internal" } ], - "src": "2186:51:20" + "src": "2186:51:21" }, "returnParameters": { - "id": 9450, + "id": 10069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9449, + "id": 10068, "name": "", "nodeType": "VariableDeclaration", - "scope": 9451, - "src": "2256:4:20", + "scope": 10070, + "src": "2256:4:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1646,10 +1646,10 @@ "typeString": "bool" }, "typeName": { - "id": 9448, + "id": 10067, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2256:4:20", + "src": "2256:4:21", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1659,10 +1659,10 @@ "visibility": "internal" } ], - "src": "2255:6:20" + "src": "2255:6:21" }, - "scope": 9468, - "src": "2165:97:20", + "scope": 10087, + "src": "2165:97:21", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1670,21 +1670,21 @@ { "anonymous": false, "documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.", - "id": 9459, + "id": 10078, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 9458, + "id": 10077, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9453, + "id": 10072, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 9459, - "src": "2446:20:20", + "scope": 10078, + "src": "2446:20:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1692,10 +1692,10 @@ "typeString": "address" }, "typeName": { - "id": 9452, + "id": 10071, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2446:7:20", + "src": "2446:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1707,12 +1707,12 @@ }, { "constant": false, - "id": 9455, + "id": 10074, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 9459, - "src": "2468:18:20", + "scope": 10078, + "src": "2468:18:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1720,10 +1720,10 @@ "typeString": "address" }, "typeName": { - "id": 9454, + "id": 10073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2468:7:20", + "src": "2468:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1735,12 +1735,12 @@ }, { "constant": false, - "id": 9457, + "id": 10076, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 9459, - "src": "2488:13:20", + "scope": 10078, + "src": "2488:13:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1748,10 +1748,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9456, + "id": 10075, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2488:7:20", + "src": "2488:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1761,28 +1761,28 @@ "visibility": "internal" } ], - "src": "2445:57:20" + "src": "2445:57:21" }, - "src": "2431:72:20" + "src": "2431:72:21" }, { "anonymous": false, "documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance.", - "id": 9467, + "id": 10086, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 9466, + "id": 10085, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9461, + "id": 10080, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 9467, - "src": "2677:21:20", + "scope": 10086, + "src": "2677:21:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1790,10 +1790,10 @@ "typeString": "address" }, "typeName": { - "id": 9460, + "id": 10079, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2677:7:20", + "src": "2677:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1805,12 +1805,12 @@ }, { "constant": false, - "id": 9463, + "id": 10082, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 9467, - "src": "2700:23:20", + "scope": 10086, + "src": "2700:23:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1818,10 +1818,10 @@ "typeString": "address" }, "typeName": { - "id": 9462, + "id": 10081, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2700:7:20", + "src": "2700:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1833,12 +1833,12 @@ }, { "constant": false, - "id": 9465, + "id": 10084, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 9467, - "src": "2725:13:20", + "scope": 10086, + "src": "2725:13:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1846,10 +1846,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9464, + "id": 10083, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2725:7:20", + "src": "2725:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1859,24 +1859,24 @@ "visibility": "internal" } ], - "src": "2676:63:20" + "src": "2676:63:21" }, - "src": "2662:78:20" + "src": "2662:78:21" } ], - "scope": 9469, - "src": "176:2566:20" + "scope": 10088, + "src": "176:2566:21" } ], - "src": "0:2743:20" + "src": "0:2743:21" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.595Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.486Z", "devdoc": { "details": "Interface of the ERC20 standard as defined in the EIP. Does not include the optional functions; to access them see {ERC20Detailed}.", "methods": { diff --git a/build/contracts/Initializable.json b/build/contracts/Initializable.json index c877a00..dddbbc5 100644 --- a/build/contracts/Initializable.json +++ b/build/contracts/Initializable.json @@ -4,22 +4,22 @@ "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Helper contract to support initializer functions. To use it, replace the constructor with a function that has the `initializer` modifier. WARNING: Unlike constructors, initializer functions must be manually invoked. This applies both to deploying an Initializable contract, as well as extending an Initializable contract via inheritance. WARNING: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or ensure that all initializers are idempotent, because this is not dealt with automatically as with constructors.\",\"methods\":{},\"title\":\"Initializable\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/upgrades/contracts/Initializable.sol\":\"Initializable\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0xf79d9851c085aa8412e87d7a26d3485488fe12538ecb4e317ce41fc1f2c3a16a\",\"urls\":[\"bzz-raw://6af1a35ad6aed2169ce9f44095438b3192cd6066903908f769d5c49a06a0caf8\",\"dweb:/ipfs/QmaH41CwJ7WrMQwSnbfCKuL2pd8bxF7sbGSLPZb6JaHBFF\"]}},\"version\":1}", "bytecode": "0x6080604052348015600f57600080fd5b50603e80601d6000396000f3fe6080604052600080fdfea265627a7a723158203776f8f765188f61e4036fe307e4c6ae04fbe36a50cf428e4f47ab4a9274e1b464736f6c634300050d0032", "deployedBytecode": "0x6080604052600080fdfea265627a7a723158203776f8f765188f61e4036fe307e4c6ae04fbe36a50cf428e4f47ab4a9274e1b464736f6c634300050d0032", - "sourceMap": "657:1326:15:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;657:1326:15;;;;;;;", - "deployedSourceMap": "657:1326:15:-;;;;;", + "sourceMap": "657:1326:16:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;657:1326:16;;;;;;;", + "deployedSourceMap": "657:1326:16:-;;;;;", "source": "pragma solidity >=0.4.24 <0.6.0;\n\n\n/**\n * @title Initializable\n *\n * @dev Helper contract to support initializer functions. To use it, replace\n * the constructor with a function that has the `initializer` modifier.\n * WARNING: Unlike constructors, initializer functions must be manually\n * invoked. This applies both to deploying an Initializable contract, as well\n * as extending an Initializable contract via inheritance.\n * WARNING: When used with inheritance, manual care must be taken to not invoke\n * a parent initializer twice, or ensure that all initializers are idempotent,\n * because this is not dealt with automatically as with constructors.\n */\ncontract Initializable {\n\n /**\n * @dev Indicates that the contract has been initialized.\n */\n bool private initialized;\n\n /**\n * @dev Indicates that the contract is in the process of being initialized.\n */\n bool private initializing;\n\n /**\n * @dev Modifier to use in the initializer function of a contract.\n */\n modifier initializer() {\n require(initializing || isConstructor() || !initialized, \"Contract instance has already been initialized\");\n\n bool isTopLevelCall = !initializing;\n if (isTopLevelCall) {\n initializing = true;\n initialized = true;\n }\n\n _;\n\n if (isTopLevelCall) {\n initializing = false;\n }\n }\n\n /// @dev Returns true if and only if the function is running in the constructor\n function isConstructor() private view returns (bool) {\n // extcodesize checks the size of the code stored in an address, and\n // address returns the current address. Since the code is still not\n // deployed when running a constructor, any checks on its code size will\n // yield zero, making it an effective way to detect if a contract is\n // under construction or not.\n uint256 cs;\n assembly { cs := extcodesize(address) }\n return cs == 0;\n }\n\n // Reserved storage space to allow for layout changes in the future.\n uint256[50] private ______gap;\n}\n", "sourcePath": "@openzeppelin/upgrades/contracts/Initializable.sol", "ast": { "absolutePath": "@openzeppelin/upgrades/contracts/Initializable.sol", "exportedSymbols": { "Initializable": [ - 8722 + 9341 ] }, - "id": 8723, + "id": 9342, "nodeType": "SourceUnit", "nodes": [ { - "id": 8661, + "id": 9280, "literals": [ "solidity", ">=", @@ -30,7 +30,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "0:32:15" + "src": "0:32:16" }, { "baseContracts": [], @@ -38,20 +38,20 @@ "contractKind": "contract", "documentation": "@title Initializable\n * @dev Helper contract to support initializer functions. To use it, replace\nthe constructor with a function that has the `initializer` modifier.\nWARNING: Unlike constructors, initializer functions must be manually\ninvoked. This applies both to deploying an Initializable contract, as well\nas extending an Initializable contract via inheritance.\nWARNING: When used with inheritance, manual care must be taken to not invoke\na parent initializer twice, or ensure that all initializers are idempotent,\nbecause this is not dealt with automatically as with constructors.", "fullyImplemented": true, - "id": 8722, + "id": 9341, "linearizedBaseContracts": [ - 8722 + 9341 ], "name": "Initializable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 8663, + "id": 9282, "name": "initialized", "nodeType": "VariableDeclaration", - "scope": 8722, - "src": "757:24:15", + "scope": 9341, + "src": "757:24:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -59,10 +59,10 @@ "typeString": "bool" }, "typeName": { - "id": 8662, + "id": 9281, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "757:4:15", + "src": "757:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -73,11 +73,11 @@ }, { "constant": false, - "id": 8665, + "id": 9284, "name": "initializing", "nodeType": "VariableDeclaration", - "scope": 8722, - "src": "876:25:15", + "scope": 9341, + "src": "876:25:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -85,10 +85,10 @@ "typeString": "bool" }, "typeName": { - "id": 8664, + "id": 9283, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "876:4:15", + "src": "876:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -99,9 +99,9 @@ }, { "body": { - "id": 8702, + "id": 9321, "nodeType": "Block", - "src": "1010:313:15", + "src": "1010:313:16", "statements": [ { "expression": { @@ -113,7 +113,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8674, + "id": 9293, "isConstant": false, "isLValue": false, "isPure": false, @@ -124,19 +124,19 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8671, + "id": 9290, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8668, + "id": 9287, "name": "initializing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "1024:12:15", + "referencedDeclaration": 9284, + "src": "1024:12:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -149,18 +149,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 8669, + "id": 9288, "name": "isConstructor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8717, - "src": "1040:13:15", + "referencedDeclaration": 9336, + "src": "1040:13:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, - "id": 8670, + "id": 9289, "isConstant": false, "isLValue": false, "isPure": false, @@ -168,13 +168,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1040:15:15", + "src": "1040:15:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1024:31:15", + "src": "1024:31:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -184,7 +184,7 @@ "operator": "||", "rightExpression": { "argumentTypes": null, - "id": 8673, + "id": 9292, "isConstant": false, "isLValue": false, "isPure": false, @@ -192,15 +192,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1059:12:15", + "src": "1059:12:16", "subExpression": { "argumentTypes": null, - "id": 8672, + "id": 9291, "name": "initialized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8663, - "src": "1060:11:15", + "referencedDeclaration": 9282, + "src": "1060:11:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -211,7 +211,7 @@ "typeString": "bool" } }, - "src": "1024:47:15", + "src": "1024:47:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -220,14 +220,14 @@ { "argumentTypes": null, "hexValue": "436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564", - "id": 8675, + "id": 9294, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1073:48:15", + "src": "1073:48:16", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9fbba6c4dcac9134893b633b9564f36435b3f927c1d5fa152c5c14b20cecb1a4", @@ -247,21 +247,21 @@ "typeString": "literal_string \"Contract instance has already been initialized\"" } ], - "id": 8667, + "id": 9286, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "1016:7:15", + "referencedDeclaration": 11102, + "src": "1016:7:16", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8676, + "id": 9295, "isConstant": false, "isLValue": false, "isPure": false, @@ -269,28 +269,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1016:106:15", + "src": "1016:106:16", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8677, + "id": 9296, "nodeType": "ExpressionStatement", - "src": "1016:106:15" + "src": "1016:106:16" }, { "assignments": [ - 8679 + 9298 ], "declarations": [ { "constant": false, - "id": 8679, + "id": 9298, "name": "isTopLevelCall", "nodeType": "VariableDeclaration", - "scope": 8702, - "src": "1129:19:15", + "scope": 9321, + "src": "1129:19:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -298,10 +298,10 @@ "typeString": "bool" }, "typeName": { - "id": 8678, + "id": 9297, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1129:4:15", + "src": "1129:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -311,10 +311,10 @@ "visibility": "internal" } ], - "id": 8682, + "id": 9301, "initialValue": { "argumentTypes": null, - "id": 8681, + "id": 9300, "isConstant": false, "isLValue": false, "isPure": false, @@ -322,15 +322,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1151:13:15", + "src": "1151:13:16", "subExpression": { "argumentTypes": null, - "id": 8680, + "id": 9299, "name": "initializing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "1152:12:15", + "referencedDeclaration": 9284, + "src": "1152:12:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -342,47 +342,47 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1129:35:15" + "src": "1129:35:16" }, { "condition": { "argumentTypes": null, - "id": 8683, + "id": 9302, "name": "isTopLevelCall", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8679, - "src": "1174:14:15", + "referencedDeclaration": 9298, + "src": "1174:14:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 8693, + "id": 9312, "nodeType": "IfStatement", - "src": "1170:80:15", + "src": "1170:80:16", "trueBody": { - "id": 8692, + "id": 9311, "nodeType": "Block", - "src": "1190:60:15", + "src": "1190:60:16", "statements": [ { "expression": { "argumentTypes": null, - "id": 8686, + "id": 9305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8684, + "id": 9303, "name": "initializing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "1198:12:15", + "referencedDeclaration": 9284, + "src": "1198:12:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -393,14 +393,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 8685, + "id": 9304, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1213:4:15", + "src": "1213:4:16", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -408,32 +408,32 @@ }, "value": "true" }, - "src": "1198:19:15", + "src": "1198:19:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8687, + "id": 9306, "nodeType": "ExpressionStatement", - "src": "1198:19:15" + "src": "1198:19:16" }, { "expression": { "argumentTypes": null, - "id": 8690, + "id": 9309, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8688, + "id": 9307, "name": "initialized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8663, - "src": "1225:11:15", + "referencedDeclaration": 9282, + "src": "1225:11:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -444,14 +444,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 8689, + "id": 9308, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1239:4:15", + "src": "1239:4:16", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -459,63 +459,63 @@ }, "value": "true" }, - "src": "1225:18:15", + "src": "1225:18:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8691, + "id": 9310, "nodeType": "ExpressionStatement", - "src": "1225:18:15" + "src": "1225:18:16" } ] } }, { - "id": 8694, + "id": 9313, "nodeType": "PlaceholderStatement", - "src": "1256:1:15" + "src": "1256:1:16" }, { "condition": { "argumentTypes": null, - "id": 8695, + "id": 9314, "name": "isTopLevelCall", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8679, - "src": "1268:14:15", + "referencedDeclaration": 9298, + "src": "1268:14:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 8701, + "id": 9320, "nodeType": "IfStatement", - "src": "1264:55:15", + "src": "1264:55:16", "trueBody": { - "id": 8700, + "id": 9319, "nodeType": "Block", - "src": "1284:35:15", + "src": "1284:35:16", "statements": [ { "expression": { "argumentTypes": null, - "id": 8698, + "id": 9317, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8696, + "id": 9315, "name": "initializing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "1292:12:15", + "referencedDeclaration": 9284, + "src": "1292:12:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -526,14 +526,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 8697, + "id": 9316, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1307:5:15", + "src": "1307:5:16", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -541,15 +541,15 @@ }, "value": "false" }, - "src": "1292:20:15", + "src": "1292:20:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8699, + "id": 9318, "nodeType": "ExpressionStatement", - "src": "1292:20:15" + "src": "1292:20:16" } ] } @@ -557,36 +557,36 @@ ] }, "documentation": "@dev Modifier to use in the initializer function of a contract.", - "id": 8703, + "id": 9322, "name": "initializer", "nodeType": "ModifierDefinition", "parameters": { - "id": 8666, + "id": 9285, "nodeType": "ParameterList", "parameters": [], - "src": "1007:2:15" + "src": "1007:2:16" }, - "src": "987:336:15", + "src": "987:336:16", "visibility": "internal" }, { "body": { - "id": 8716, + "id": 9335, "nodeType": "Block", - "src": "1462:414:15", + "src": "1462:414:16", "statements": [ { "assignments": [ - 8709 + 9328 ], "declarations": [ { "constant": false, - "id": 8709, + "id": 9328, "name": "cs", "nodeType": "VariableDeclaration", - "scope": 8716, - "src": "1797:10:15", + "scope": 9335, + "src": "1797:10:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -594,10 +594,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8708, + "id": 9327, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1797:7:15", + "src": "1797:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -607,27 +607,27 @@ "visibility": "internal" } ], - "id": 8710, + "id": 9329, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "1797:10:15" + "src": "1797:10:16" }, { "externalReferences": [ { "cs": { - "declaration": 8709, + "declaration": 9328, "isOffset": false, "isSlot": false, - "src": "1824:2:15", + "src": "1824:2:16", "valueSize": 1 } } ], - "id": 8711, + "id": 9330, "nodeType": "InlineAssembly", "operations": "{ cs := extcodesize(address()) }", - "src": "1813:39:15" + "src": "1813:39:16" }, { "expression": { @@ -636,19 +636,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8714, + "id": 9333, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8712, + "id": 9331, "name": "cs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8709, - "src": "1864:2:15", + "referencedDeclaration": 9328, + "src": "1864:2:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -659,14 +659,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8713, + "id": 9332, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1870:1:15", + "src": "1870:1:16", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -674,43 +674,43 @@ }, "value": "0" }, - "src": "1864:7:15", + "src": "1864:7:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 8707, - "id": 8715, + "functionReturnParameters": 9326, + "id": 9334, "nodeType": "Return", - "src": "1857:14:15" + "src": "1857:14:16" } ] }, "documentation": "@dev Returns true if and only if the function is running in the constructor", - "id": 8717, + "id": 9336, "implemented": true, "kind": "function", "modifiers": [], "name": "isConstructor", "nodeType": "FunctionDefinition", "parameters": { - "id": 8704, + "id": 9323, "nodeType": "ParameterList", "parameters": [], - "src": "1431:2:15" + "src": "1431:2:16" }, "returnParameters": { - "id": 8707, + "id": 9326, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8706, + "id": 9325, "name": "", "nodeType": "VariableDeclaration", - "scope": 8717, - "src": "1456:4:15", + "scope": 9336, + "src": "1456:4:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -718,10 +718,10 @@ "typeString": "bool" }, "typeName": { - "id": 8705, + "id": 9324, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1456:4:15", + "src": "1456:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -731,21 +731,21 @@ "visibility": "internal" } ], - "src": "1455:6:15" + "src": "1455:6:16" }, - "scope": 8722, - "src": "1409:467:15", + "scope": 9341, + "src": "1409:467:16", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "constant": false, - "id": 8721, + "id": 9340, "name": "______gap", "nodeType": "VariableDeclaration", - "scope": 8722, - "src": "1951:29:15", + "scope": 9341, + "src": "1951:29:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -754,27 +754,27 @@ }, "typeName": { "baseType": { - "id": 8718, + "id": 9337, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1951:7:15", + "src": "1951:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8720, + "id": 9339, "length": { "argumentTypes": null, "hexValue": "3530", - "id": 8719, + "id": 9338, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1959:2:15", + "src": "1959:2:16", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", @@ -783,7 +783,7 @@ "value": "50" }, "nodeType": "ArrayTypeName", - "src": "1951:11:15", + "src": "1951:11:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$50_storage_ptr", "typeString": "uint256[50]" @@ -793,24 +793,24 @@ "visibility": "private" } ], - "scope": 8723, - "src": "657:1326:15" + "scope": 9342, + "src": "657:1326:16" } ], - "src": "0:1984:15" + "src": "0:1984:16" }, "legacyAST": { "absolutePath": "@openzeppelin/upgrades/contracts/Initializable.sol", "exportedSymbols": { "Initializable": [ - 8722 + 9341 ] }, - "id": 8723, + "id": 9342, "nodeType": "SourceUnit", "nodes": [ { - "id": 8661, + "id": 9280, "literals": [ "solidity", ">=", @@ -821,7 +821,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "0:32:15" + "src": "0:32:16" }, { "baseContracts": [], @@ -829,20 +829,20 @@ "contractKind": "contract", "documentation": "@title Initializable\n * @dev Helper contract to support initializer functions. To use it, replace\nthe constructor with a function that has the `initializer` modifier.\nWARNING: Unlike constructors, initializer functions must be manually\ninvoked. This applies both to deploying an Initializable contract, as well\nas extending an Initializable contract via inheritance.\nWARNING: When used with inheritance, manual care must be taken to not invoke\na parent initializer twice, or ensure that all initializers are idempotent,\nbecause this is not dealt with automatically as with constructors.", "fullyImplemented": true, - "id": 8722, + "id": 9341, "linearizedBaseContracts": [ - 8722 + 9341 ], "name": "Initializable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 8663, + "id": 9282, "name": "initialized", "nodeType": "VariableDeclaration", - "scope": 8722, - "src": "757:24:15", + "scope": 9341, + "src": "757:24:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -850,10 +850,10 @@ "typeString": "bool" }, "typeName": { - "id": 8662, + "id": 9281, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "757:4:15", + "src": "757:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -864,11 +864,11 @@ }, { "constant": false, - "id": 8665, + "id": 9284, "name": "initializing", "nodeType": "VariableDeclaration", - "scope": 8722, - "src": "876:25:15", + "scope": 9341, + "src": "876:25:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -876,10 +876,10 @@ "typeString": "bool" }, "typeName": { - "id": 8664, + "id": 9283, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "876:4:15", + "src": "876:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -890,9 +890,9 @@ }, { "body": { - "id": 8702, + "id": 9321, "nodeType": "Block", - "src": "1010:313:15", + "src": "1010:313:16", "statements": [ { "expression": { @@ -904,7 +904,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8674, + "id": 9293, "isConstant": false, "isLValue": false, "isPure": false, @@ -915,19 +915,19 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8671, + "id": 9290, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8668, + "id": 9287, "name": "initializing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "1024:12:15", + "referencedDeclaration": 9284, + "src": "1024:12:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -940,18 +940,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 8669, + "id": 9288, "name": "isConstructor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8717, - "src": "1040:13:15", + "referencedDeclaration": 9336, + "src": "1040:13:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, - "id": 8670, + "id": 9289, "isConstant": false, "isLValue": false, "isPure": false, @@ -959,13 +959,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1040:15:15", + "src": "1040:15:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1024:31:15", + "src": "1024:31:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -975,7 +975,7 @@ "operator": "||", "rightExpression": { "argumentTypes": null, - "id": 8673, + "id": 9292, "isConstant": false, "isLValue": false, "isPure": false, @@ -983,15 +983,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1059:12:15", + "src": "1059:12:16", "subExpression": { "argumentTypes": null, - "id": 8672, + "id": 9291, "name": "initialized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8663, - "src": "1060:11:15", + "referencedDeclaration": 9282, + "src": "1060:11:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1002,7 +1002,7 @@ "typeString": "bool" } }, - "src": "1024:47:15", + "src": "1024:47:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1011,14 +1011,14 @@ { "argumentTypes": null, "hexValue": "436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564", - "id": 8675, + "id": 9294, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1073:48:15", + "src": "1073:48:16", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9fbba6c4dcac9134893b633b9564f36435b3f927c1d5fa152c5c14b20cecb1a4", @@ -1038,21 +1038,21 @@ "typeString": "literal_string \"Contract instance has already been initialized\"" } ], - "id": 8667, + "id": 9286, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "1016:7:15", + "referencedDeclaration": 11102, + "src": "1016:7:16", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8676, + "id": 9295, "isConstant": false, "isLValue": false, "isPure": false, @@ -1060,28 +1060,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1016:106:15", + "src": "1016:106:16", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8677, + "id": 9296, "nodeType": "ExpressionStatement", - "src": "1016:106:15" + "src": "1016:106:16" }, { "assignments": [ - 8679 + 9298 ], "declarations": [ { "constant": false, - "id": 8679, + "id": 9298, "name": "isTopLevelCall", "nodeType": "VariableDeclaration", - "scope": 8702, - "src": "1129:19:15", + "scope": 9321, + "src": "1129:19:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1089,10 +1089,10 @@ "typeString": "bool" }, "typeName": { - "id": 8678, + "id": 9297, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1129:4:15", + "src": "1129:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1102,10 +1102,10 @@ "visibility": "internal" } ], - "id": 8682, + "id": 9301, "initialValue": { "argumentTypes": null, - "id": 8681, + "id": 9300, "isConstant": false, "isLValue": false, "isPure": false, @@ -1113,15 +1113,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1151:13:15", + "src": "1151:13:16", "subExpression": { "argumentTypes": null, - "id": 8680, + "id": 9299, "name": "initializing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "1152:12:15", + "referencedDeclaration": 9284, + "src": "1152:12:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1133,47 +1133,47 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1129:35:15" + "src": "1129:35:16" }, { "condition": { "argumentTypes": null, - "id": 8683, + "id": 9302, "name": "isTopLevelCall", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8679, - "src": "1174:14:15", + "referencedDeclaration": 9298, + "src": "1174:14:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 8693, + "id": 9312, "nodeType": "IfStatement", - "src": "1170:80:15", + "src": "1170:80:16", "trueBody": { - "id": 8692, + "id": 9311, "nodeType": "Block", - "src": "1190:60:15", + "src": "1190:60:16", "statements": [ { "expression": { "argumentTypes": null, - "id": 8686, + "id": 9305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8684, + "id": 9303, "name": "initializing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "1198:12:15", + "referencedDeclaration": 9284, + "src": "1198:12:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1184,14 +1184,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 8685, + "id": 9304, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1213:4:15", + "src": "1213:4:16", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1199,32 +1199,32 @@ }, "value": "true" }, - "src": "1198:19:15", + "src": "1198:19:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8687, + "id": 9306, "nodeType": "ExpressionStatement", - "src": "1198:19:15" + "src": "1198:19:16" }, { "expression": { "argumentTypes": null, - "id": 8690, + "id": 9309, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8688, + "id": 9307, "name": "initialized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8663, - "src": "1225:11:15", + "referencedDeclaration": 9282, + "src": "1225:11:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1235,14 +1235,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 8689, + "id": 9308, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1239:4:15", + "src": "1239:4:16", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1250,63 +1250,63 @@ }, "value": "true" }, - "src": "1225:18:15", + "src": "1225:18:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8691, + "id": 9310, "nodeType": "ExpressionStatement", - "src": "1225:18:15" + "src": "1225:18:16" } ] } }, { - "id": 8694, + "id": 9313, "nodeType": "PlaceholderStatement", - "src": "1256:1:15" + "src": "1256:1:16" }, { "condition": { "argumentTypes": null, - "id": 8695, + "id": 9314, "name": "isTopLevelCall", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8679, - "src": "1268:14:15", + "referencedDeclaration": 9298, + "src": "1268:14:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 8701, + "id": 9320, "nodeType": "IfStatement", - "src": "1264:55:15", + "src": "1264:55:16", "trueBody": { - "id": 8700, + "id": 9319, "nodeType": "Block", - "src": "1284:35:15", + "src": "1284:35:16", "statements": [ { "expression": { "argumentTypes": null, - "id": 8698, + "id": 9317, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8696, + "id": 9315, "name": "initializing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8665, - "src": "1292:12:15", + "referencedDeclaration": 9284, + "src": "1292:12:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1317,14 +1317,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 8697, + "id": 9316, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1307:5:15", + "src": "1307:5:16", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1332,15 +1332,15 @@ }, "value": "false" }, - "src": "1292:20:15", + "src": "1292:20:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8699, + "id": 9318, "nodeType": "ExpressionStatement", - "src": "1292:20:15" + "src": "1292:20:16" } ] } @@ -1348,36 +1348,36 @@ ] }, "documentation": "@dev Modifier to use in the initializer function of a contract.", - "id": 8703, + "id": 9322, "name": "initializer", "nodeType": "ModifierDefinition", "parameters": { - "id": 8666, + "id": 9285, "nodeType": "ParameterList", "parameters": [], - "src": "1007:2:15" + "src": "1007:2:16" }, - "src": "987:336:15", + "src": "987:336:16", "visibility": "internal" }, { "body": { - "id": 8716, + "id": 9335, "nodeType": "Block", - "src": "1462:414:15", + "src": "1462:414:16", "statements": [ { "assignments": [ - 8709 + 9328 ], "declarations": [ { "constant": false, - "id": 8709, + "id": 9328, "name": "cs", "nodeType": "VariableDeclaration", - "scope": 8716, - "src": "1797:10:15", + "scope": 9335, + "src": "1797:10:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1385,10 +1385,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8708, + "id": 9327, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1797:7:15", + "src": "1797:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1398,27 +1398,27 @@ "visibility": "internal" } ], - "id": 8710, + "id": 9329, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "1797:10:15" + "src": "1797:10:16" }, { "externalReferences": [ { "cs": { - "declaration": 8709, + "declaration": 9328, "isOffset": false, "isSlot": false, - "src": "1824:2:15", + "src": "1824:2:16", "valueSize": 1 } } ], - "id": 8711, + "id": 9330, "nodeType": "InlineAssembly", "operations": "{ cs := extcodesize(address()) }", - "src": "1813:39:15" + "src": "1813:39:16" }, { "expression": { @@ -1427,19 +1427,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8714, + "id": 9333, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8712, + "id": 9331, "name": "cs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8709, - "src": "1864:2:15", + "referencedDeclaration": 9328, + "src": "1864:2:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1450,14 +1450,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8713, + "id": 9332, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1870:1:15", + "src": "1870:1:16", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1465,43 +1465,43 @@ }, "value": "0" }, - "src": "1864:7:15", + "src": "1864:7:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 8707, - "id": 8715, + "functionReturnParameters": 9326, + "id": 9334, "nodeType": "Return", - "src": "1857:14:15" + "src": "1857:14:16" } ] }, "documentation": "@dev Returns true if and only if the function is running in the constructor", - "id": 8717, + "id": 9336, "implemented": true, "kind": "function", "modifiers": [], "name": "isConstructor", "nodeType": "FunctionDefinition", "parameters": { - "id": 8704, + "id": 9323, "nodeType": "ParameterList", "parameters": [], - "src": "1431:2:15" + "src": "1431:2:16" }, "returnParameters": { - "id": 8707, + "id": 9326, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8706, + "id": 9325, "name": "", "nodeType": "VariableDeclaration", - "scope": 8717, - "src": "1456:4:15", + "scope": 9336, + "src": "1456:4:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1509,10 +1509,10 @@ "typeString": "bool" }, "typeName": { - "id": 8705, + "id": 9324, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1456:4:15", + "src": "1456:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1522,21 +1522,21 @@ "visibility": "internal" } ], - "src": "1455:6:15" + "src": "1455:6:16" }, - "scope": 8722, - "src": "1409:467:15", + "scope": 9341, + "src": "1409:467:16", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "constant": false, - "id": 8721, + "id": 9340, "name": "______gap", "nodeType": "VariableDeclaration", - "scope": 8722, - "src": "1951:29:15", + "scope": 9341, + "src": "1951:29:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1545,27 +1545,27 @@ }, "typeName": { "baseType": { - "id": 8718, + "id": 9337, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1951:7:15", + "src": "1951:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8720, + "id": 9339, "length": { "argumentTypes": null, "hexValue": "3530", - "id": 8719, + "id": 9338, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1959:2:15", + "src": "1959:2:16", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", @@ -1574,7 +1574,7 @@ "value": "50" }, "nodeType": "ArrayTypeName", - "src": "1951:11:15", + "src": "1951:11:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$50_storage_ptr", "typeString": "uint256[50]" @@ -1584,19 +1584,19 @@ "visibility": "private" } ], - "scope": 8723, - "src": "657:1326:15" + "scope": 9342, + "src": "657:1326:16" } ], - "src": "0:1984:15" + "src": "0:1984:16" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.583Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.473Z", "devdoc": { "details": "Helper contract to support initializer functions. To use it, replace the constructor with a function that has the `initializer` modifier. WARNING: Unlike constructors, initializer functions must be manually invoked. This applies both to deploying an Initializable contract, as well as extending an Initializable contract via inheritance. WARNING: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or ensure that all initializers are idempotent, because this is not dealt with automatically as with constructors.", "methods": {}, diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index a14a371..ee7b140 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -199,7 +199,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "159:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -283,7 +283,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "218:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -845,7 +845,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "159:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -929,7 +929,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "218:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1371,16 +1371,9 @@ "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, - "networks": { - "4": { - "events": {}, - "links": {}, - "address": "0x9c2E204CB761309840d680fe63f944bf79c1f372", - "transactionHash": "0x446bf9c459ebe2b1279bce9c47fd74658358ef593900f4ed9b2648102e1ce316" - } - }, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.328Z", + "networks": {}, + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.187Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index d02aa14..a1563d0 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -4,22 +4,22 @@ "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's arithmetic operations with added overflow checks. * Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. * Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]}},\"version\":1}", "bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820310d1cca82581010f0669d8561b8a8cc97cc129c756d044f30f4ae68e5ad3bce64736f6c634300050d0032", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820310d1cca82581010f0669d8561b8a8cc97cc129c756d044f30f4ae68e5ad3bce64736f6c634300050d0032", - "sourceMap": "589:4708:17:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "589:4708:17:-;;;;;;;;", + "sourceMap": "589:4708:18:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", + "deployedSourceMap": "589:4708:18:-;;;;;;;;", "source": "pragma solidity ^0.5.0;\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeMath {\n /**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"SafeMath: addition overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n return sub(a, b, \"SafeMath: subtraction overflow\");\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n * - Subtraction cannot overflow.\n *\n * _Available since v2.4.0._\n */\n function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b <= a, errorMessage);\n uint256 c = a - b;\n\n return c;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, \"SafeMath: multiplication overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers. Reverts on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n return div(a, b, \"SafeMath: division by zero\");\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers. Reverts with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n *\n * _Available since v2.4.0._\n */\n function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n // Solidity only automatically asserts when dividing by 0\n require(b > 0, errorMessage);\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\n return c;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n return mod(a, b, \"SafeMath: modulo by zero\");\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts with custom message when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n *\n * _Available since v2.4.0._\n */\n function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b != 0, errorMessage);\n return a % b;\n }\n}\n", "sourcePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "ast": { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 8936 + 9555 ] }, - "id": 8937, + "id": 9556, "nodeType": "SourceUnit", "nodes": [ { - "id": 8751, + "id": 9370, "literals": [ "solidity", "^", @@ -27,7 +27,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "0:23:17" + "src": "0:23:18" }, { "baseContracts": [], @@ -35,31 +35,31 @@ "contractKind": "library", "documentation": "@dev Wrappers over Solidity's arithmetic operations with added overflow\nchecks.\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\nin bugs, because programmers usually assume that an overflow raises an\nerror, which is the standard behavior in high level programming languages.\n`SafeMath` restores this intuition by reverting the transaction when an\noperation overflows.\n * Using this library instead of the unchecked operations eliminates an entire\nclass of bugs, so it's recommended to use it always.", "fullyImplemented": true, - "id": 8936, + "id": 9555, "linearizedBaseContracts": [ - 8936 + 9555 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 8775, + "id": 9394, "nodeType": "Block", - "src": "901:109:17", + "src": "901:109:18", "statements": [ { "assignments": [ - 8761 + 9380 ], "declarations": [ { "constant": false, - "id": 8761, + "id": 9380, "name": "c", "nodeType": "VariableDeclaration", - "scope": 8775, - "src": "911:9:17", + "scope": 9394, + "src": "911:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67,10 +67,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8760, + "id": 9379, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "911:7:17", + "src": "911:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -80,26 +80,26 @@ "visibility": "internal" } ], - "id": 8765, + "id": 9384, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8764, + "id": 9383, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8762, + "id": 9381, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8753, - "src": "923:1:17", + "referencedDeclaration": 9372, + "src": "923:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -109,25 +109,25 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 8763, + "id": 9382, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8755, - "src": "927:1:17", + "referencedDeclaration": 9374, + "src": "927:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "923:5:17", + "src": "923:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "911:17:17" + "src": "911:17:18" }, { "expression": { @@ -139,19 +139,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8769, + "id": 9388, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8767, + "id": 9386, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8761, - "src": "946:1:17", + "referencedDeclaration": 9380, + "src": "946:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -161,18 +161,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 8768, + "id": 9387, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8753, - "src": "951:1:17", + "referencedDeclaration": 9372, + "src": "951:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "946:6:17", + "src": "946:6:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -181,14 +181,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77", - "id": 8770, + "id": 9389, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "954:29:17", + "src": "954:29:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", @@ -208,21 +208,21 @@ "typeString": "literal_string \"SafeMath: addition overflow\"" } ], - "id": 8766, + "id": 9385, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "938:7:17", + "referencedDeclaration": 11102, + "src": "938:7:18", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8771, + "id": 9390, "isConstant": false, "isLValue": false, "isPure": false, @@ -230,55 +230,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "938:46:17", + "src": "938:46:18", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8772, + "id": 9391, "nodeType": "ExpressionStatement", - "src": "938:46:17" + "src": "938:46:18" }, { "expression": { "argumentTypes": null, - "id": 8773, + "id": 9392, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8761, - "src": "1002:1:17", + "referencedDeclaration": 9380, + "src": "1002:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8759, - "id": 8774, + "functionReturnParameters": 9378, + "id": 9393, "nodeType": "Return", - "src": "995:8:17" + "src": "995:8:18" } ] }, "documentation": "@dev Returns the addition of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `+` operator.\n * Requirements:\n- Addition cannot overflow.", - "id": 8776, + "id": 9395, "implemented": true, "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 8756, + "id": 9375, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8753, + "id": 9372, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8776, - "src": "847:9:17", + "scope": 9395, + "src": "847:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -286,10 +286,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8752, + "id": 9371, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "847:7:17", + "src": "847:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -300,11 +300,11 @@ }, { "constant": false, - "id": 8755, + "id": 9374, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8776, - "src": "858:9:17", + "scope": 9395, + "src": "858:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -312,10 +312,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8754, + "id": 9373, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "858:7:17", + "src": "858:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -325,19 +325,19 @@ "visibility": "internal" } ], - "src": "846:22:17" + "src": "846:22:18" }, "returnParameters": { - "id": 8759, + "id": 9378, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8758, + "id": 9377, "name": "", "nodeType": "VariableDeclaration", - "scope": 8776, - "src": "892:7:17", + "scope": 9395, + "src": "892:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -345,10 +345,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8757, + "id": 9376, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "892:7:17", + "src": "892:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -358,19 +358,19 @@ "visibility": "internal" } ], - "src": "891:9:17" + "src": "891:9:18" }, - "scope": 8936, - "src": "834:176:17", + "scope": 9555, + "src": "834:176:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8791, + "id": 9410, "nodeType": "Block", - "src": "1341:67:17", + "src": "1341:67:18", "statements": [ { "expression": { @@ -378,12 +378,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8786, + "id": 9405, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8778, - "src": "1362:1:17", + "referencedDeclaration": 9397, + "src": "1362:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -391,12 +391,12 @@ }, { "argumentTypes": null, - "id": 8787, + "id": 9406, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8780, - "src": "1365:1:17", + "referencedDeclaration": 9399, + "src": "1365:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -405,14 +405,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77", - "id": 8788, + "id": 9407, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1368:32:17", + "src": "1368:32:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", @@ -436,21 +436,21 @@ "typeString": "literal_string \"SafeMath: subtraction overflow\"" } ], - "id": 8785, + "id": 9404, "name": "sub", "nodeType": "Identifier", "overloadedDeclarations": [ - 8792, - 8819 + 9411, + 9438 ], - "referencedDeclaration": 8819, - "src": "1358:3:17", + "referencedDeclaration": 9438, + "src": "1358:3:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 8789, + "id": 9408, "isConstant": false, "isLValue": false, "isPure": false, @@ -458,37 +458,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1358:43:17", + "src": "1358:43:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8784, - "id": 8790, + "functionReturnParameters": 9403, + "id": 9409, "nodeType": "Return", - "src": "1351:50:17" + "src": "1351:50:18" } ] }, "documentation": "@dev Returns the subtraction of two unsigned integers, reverting on\noverflow (when the result is negative).\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n- Subtraction cannot overflow.", - "id": 8792, + "id": 9411, "implemented": true, "kind": "function", "modifiers": [], "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 8781, + "id": 9400, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8778, + "id": 9397, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8792, - "src": "1287:9:17", + "scope": 9411, + "src": "1287:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -496,10 +496,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8777, + "id": 9396, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1287:7:17", + "src": "1287:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -510,11 +510,11 @@ }, { "constant": false, - "id": 8780, + "id": 9399, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8792, - "src": "1298:9:17", + "scope": 9411, + "src": "1298:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -522,10 +522,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8779, + "id": 9398, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1298:7:17", + "src": "1298:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -535,19 +535,19 @@ "visibility": "internal" } ], - "src": "1286:22:17" + "src": "1286:22:18" }, "returnParameters": { - "id": 8784, + "id": 9403, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8783, + "id": 9402, "name": "", "nodeType": "VariableDeclaration", - "scope": 8792, - "src": "1332:7:17", + "scope": 9411, + "src": "1332:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -555,10 +555,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8782, + "id": 9401, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1332:7:17", + "src": "1332:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -568,19 +568,19 @@ "visibility": "internal" } ], - "src": "1331:9:17" + "src": "1331:9:18" }, - "scope": 8936, - "src": "1274:134:17", + "scope": 9555, + "src": "1274:134:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8818, + "id": 9437, "nodeType": "Block", - "src": "1827:92:17", + "src": "1827:92:18", "statements": [ { "expression": { @@ -592,19 +592,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8806, + "id": 9425, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8804, + "id": 9423, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8796, - "src": "1845:1:17", + "referencedDeclaration": 9415, + "src": "1845:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -614,18 +614,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 8805, + "id": 9424, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8794, - "src": "1850:1:17", + "referencedDeclaration": 9413, + "src": "1850:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1845:6:17", + "src": "1845:6:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -633,12 +633,12 @@ }, { "argumentTypes": null, - "id": 8807, + "id": 9426, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8798, - "src": "1853:12:17", + "referencedDeclaration": 9417, + "src": "1853:12:18", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -656,21 +656,21 @@ "typeString": "string memory" } ], - "id": 8803, + "id": 9422, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "1837:7:17", + "referencedDeclaration": 11102, + "src": "1837:7:18", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8808, + "id": 9427, "isConstant": false, "isLValue": false, "isPure": false, @@ -678,28 +678,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1837:29:17", + "src": "1837:29:18", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8809, + "id": 9428, "nodeType": "ExpressionStatement", - "src": "1837:29:17" + "src": "1837:29:18" }, { "assignments": [ - 8811 + 9430 ], "declarations": [ { "constant": false, - "id": 8811, + "id": 9430, "name": "c", "nodeType": "VariableDeclaration", - "scope": 8818, - "src": "1876:9:17", + "scope": 9437, + "src": "1876:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -707,10 +707,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8810, + "id": 9429, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1876:7:17", + "src": "1876:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -720,26 +720,26 @@ "visibility": "internal" } ], - "id": 8815, + "id": 9434, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8814, + "id": 9433, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8812, + "id": 9431, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8794, - "src": "1888:1:17", + "referencedDeclaration": 9413, + "src": "1888:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -749,65 +749,65 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 8813, + "id": 9432, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8796, - "src": "1892:1:17", + "referencedDeclaration": 9415, + "src": "1892:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1888:5:17", + "src": "1888:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1876:17:17" + "src": "1876:17:18" }, { "expression": { "argumentTypes": null, - "id": 8816, + "id": 9435, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8811, - "src": "1911:1:17", + "referencedDeclaration": 9430, + "src": "1911:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8802, - "id": 8817, + "functionReturnParameters": 9421, + "id": 9436, "nodeType": "Return", - "src": "1904:8:17" + "src": "1904:8:18" } ] }, "documentation": "@dev Returns the subtraction of two unsigned integers, reverting with custom message on\noverflow (when the result is negative).\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n- Subtraction cannot overflow.\n * _Available since v2.4.0._", - "id": 8819, + "id": 9438, "implemented": true, "kind": "function", "modifiers": [], "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 8799, + "id": 9418, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8794, + "id": 9413, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8819, - "src": "1745:9:17", + "scope": 9438, + "src": "1745:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -815,10 +815,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8793, + "id": 9412, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1745:7:17", + "src": "1745:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -829,11 +829,11 @@ }, { "constant": false, - "id": 8796, + "id": 9415, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8819, - "src": "1756:9:17", + "scope": 9438, + "src": "1756:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -841,10 +841,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8795, + "id": 9414, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1756:7:17", + "src": "1756:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -855,11 +855,11 @@ }, { "constant": false, - "id": 8798, + "id": 9417, "name": "errorMessage", "nodeType": "VariableDeclaration", - "scope": 8819, - "src": "1767:26:17", + "scope": 9438, + "src": "1767:26:18", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -867,10 +867,10 @@ "typeString": "string" }, "typeName": { - "id": 8797, + "id": 9416, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1767:6:17", + "src": "1767:6:18", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -880,19 +880,19 @@ "visibility": "internal" } ], - "src": "1744:50:17" + "src": "1744:50:18" }, "returnParameters": { - "id": 8802, + "id": 9421, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8801, + "id": 9420, "name": "", "nodeType": "VariableDeclaration", - "scope": 8819, - "src": "1818:7:17", + "scope": 9438, + "src": "1818:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -900,10 +900,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8800, + "id": 9419, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1818:7:17", + "src": "1818:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -913,19 +913,19 @@ "visibility": "internal" } ], - "src": "1817:9:17" + "src": "1817:9:18" }, - "scope": 8936, - "src": "1732:187:17", + "scope": 9555, + "src": "1732:187:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8852, + "id": 9471, "nodeType": "Block", - "src": "2226:392:17", + "src": "2226:392:18", "statements": [ { "condition": { @@ -934,19 +934,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8830, + "id": 9449, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8828, + "id": 9447, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8821, - "src": "2458:1:17", + "referencedDeclaration": 9440, + "src": "2458:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -957,14 +957,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8829, + "id": 9448, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2463:1:17", + "src": "2463:1:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -972,33 +972,33 @@ }, "value": "0" }, - "src": "2458:6:17", + "src": "2458:6:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 8834, + "id": 9453, "nodeType": "IfStatement", - "src": "2454:45:17", + "src": "2454:45:18", "trueBody": { - "id": 8833, + "id": 9452, "nodeType": "Block", - "src": "2466:33:17", + "src": "2466:33:18", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 8831, + "id": 9450, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2487:1:17", + "src": "2487:1:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1006,26 +1006,26 @@ }, "value": "0" }, - "functionReturnParameters": 8827, - "id": 8832, + "functionReturnParameters": 9446, + "id": 9451, "nodeType": "Return", - "src": "2480:8:17" + "src": "2480:8:18" } ] } }, { "assignments": [ - 8836 + 9455 ], "declarations": [ { "constant": false, - "id": 8836, + "id": 9455, "name": "c", "nodeType": "VariableDeclaration", - "scope": 8852, - "src": "2509:9:17", + "scope": 9471, + "src": "2509:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1033,10 +1033,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8835, + "id": 9454, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2509:7:17", + "src": "2509:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1046,26 +1046,26 @@ "visibility": "internal" } ], - "id": 8840, + "id": 9459, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8839, + "id": 9458, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8837, + "id": 9456, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8821, - "src": "2521:1:17", + "referencedDeclaration": 9440, + "src": "2521:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1075,25 +1075,25 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 8838, + "id": 9457, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8823, - "src": "2525:1:17", + "referencedDeclaration": 9442, + "src": "2525:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2521:5:17", + "src": "2521:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2509:17:17" + "src": "2509:17:18" }, { "expression": { @@ -1105,7 +1105,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8846, + "id": 9465, "isConstant": false, "isLValue": false, "isPure": false, @@ -1116,19 +1116,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8844, + "id": 9463, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8842, + "id": 9461, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8836, - "src": "2544:1:17", + "referencedDeclaration": 9455, + "src": "2544:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1138,18 +1138,18 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 8843, + "id": 9462, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8821, - "src": "2548:1:17", + "referencedDeclaration": 9440, + "src": "2548:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2544:5:17", + "src": "2544:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1159,18 +1159,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8845, + "id": 9464, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8823, - "src": "2553:1:17", + "referencedDeclaration": 9442, + "src": "2553:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2544:10:17", + "src": "2544:10:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1179,14 +1179,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "id": 8847, + "id": 9466, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2556:35:17", + "src": "2556:35:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", @@ -1206,21 +1206,21 @@ "typeString": "literal_string \"SafeMath: multiplication overflow\"" } ], - "id": 8841, + "id": 9460, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "2536:7:17", + "referencedDeclaration": 11102, + "src": "2536:7:18", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8848, + "id": 9467, "isConstant": false, "isLValue": false, "isPure": false, @@ -1228,55 +1228,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2536:56:17", + "src": "2536:56:18", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8849, + "id": 9468, "nodeType": "ExpressionStatement", - "src": "2536:56:17" + "src": "2536:56:18" }, { "expression": { "argumentTypes": null, - "id": 8850, + "id": 9469, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8836, - "src": "2610:1:17", + "referencedDeclaration": 9455, + "src": "2610:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8827, - "id": 8851, + "functionReturnParameters": 9446, + "id": 9470, "nodeType": "Return", - "src": "2603:8:17" + "src": "2603:8:18" } ] }, "documentation": "@dev Returns the multiplication of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `*` operator.\n * Requirements:\n- Multiplication cannot overflow.", - "id": 8853, + "id": 9472, "implemented": true, "kind": "function", "modifiers": [], "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 8824, + "id": 9443, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8821, + "id": 9440, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8853, - "src": "2172:9:17", + "scope": 9472, + "src": "2172:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1284,10 +1284,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8820, + "id": 9439, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2172:7:17", + "src": "2172:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1298,11 +1298,11 @@ }, { "constant": false, - "id": 8823, + "id": 9442, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8853, - "src": "2183:9:17", + "scope": 9472, + "src": "2183:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1310,10 +1310,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8822, + "id": 9441, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2183:7:17", + "src": "2183:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1323,19 +1323,19 @@ "visibility": "internal" } ], - "src": "2171:22:17" + "src": "2171:22:18" }, "returnParameters": { - "id": 8827, + "id": 9446, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8826, + "id": 9445, "name": "", "nodeType": "VariableDeclaration", - "scope": 8853, - "src": "2217:7:17", + "scope": 9472, + "src": "2217:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1343,10 +1343,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8825, + "id": 9444, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2217:7:17", + "src": "2217:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1356,19 +1356,19 @@ "visibility": "internal" } ], - "src": "2216:9:17" + "src": "2216:9:18" }, - "scope": 8936, - "src": "2159:459:17", + "scope": 9555, + "src": "2159:459:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8868, + "id": 9487, "nodeType": "Block", - "src": "3140:63:17", + "src": "3140:63:18", "statements": [ { "expression": { @@ -1376,12 +1376,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8863, + "id": 9482, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8855, - "src": "3161:1:17", + "referencedDeclaration": 9474, + "src": "3161:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1389,12 +1389,12 @@ }, { "argumentTypes": null, - "id": 8864, + "id": 9483, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8857, - "src": "3164:1:17", + "referencedDeclaration": 9476, + "src": "3164:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1403,14 +1403,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206469766973696f6e206279207a65726f", - "id": 8865, + "id": 9484, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3167:28:17", + "src": "3167:28:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", @@ -1434,21 +1434,21 @@ "typeString": "literal_string \"SafeMath: division by zero\"" } ], - "id": 8862, + "id": 9481, "name": "div", "nodeType": "Identifier", "overloadedDeclarations": [ - 8869, - 8896 + 9488, + 9515 ], - "referencedDeclaration": 8896, - "src": "3157:3:17", + "referencedDeclaration": 9515, + "src": "3157:3:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 8866, + "id": 9485, "isConstant": false, "isLValue": false, "isPure": false, @@ -1456,37 +1456,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3157:39:17", + "src": "3157:39:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8861, - "id": 8867, + "functionReturnParameters": 9480, + "id": 9486, "nodeType": "Return", - "src": "3150:46:17" + "src": "3150:46:18" } ] }, "documentation": "@dev Returns the integer division of two unsigned integers. Reverts on\ndivision by zero. The result is rounded towards zero.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n- The divisor cannot be zero.", - "id": 8869, + "id": 9488, "implemented": true, "kind": "function", "modifiers": [], "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 8858, + "id": 9477, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8855, + "id": 9474, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8869, - "src": "3086:9:17", + "scope": 9488, + "src": "3086:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1494,10 +1494,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8854, + "id": 9473, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3086:7:17", + "src": "3086:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1508,11 +1508,11 @@ }, { "constant": false, - "id": 8857, + "id": 9476, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8869, - "src": "3097:9:17", + "scope": 9488, + "src": "3097:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1520,10 +1520,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8856, + "id": 9475, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3097:7:17", + "src": "3097:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1533,19 +1533,19 @@ "visibility": "internal" } ], - "src": "3085:22:17" + "src": "3085:22:18" }, "returnParameters": { - "id": 8861, + "id": 9480, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8860, + "id": 9479, "name": "", "nodeType": "VariableDeclaration", - "scope": 8869, - "src": "3131:7:17", + "scope": 9488, + "src": "3131:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1553,10 +1553,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8859, + "id": 9478, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3131:7:17", + "src": "3131:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1566,19 +1566,19 @@ "visibility": "internal" } ], - "src": "3130:9:17" + "src": "3130:9:18" }, - "scope": 8936, - "src": "3073:130:17", + "scope": 9555, + "src": "3073:130:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8895, + "id": 9514, "nodeType": "Block", - "src": "3813:243:17", + "src": "3813:243:18", "statements": [ { "expression": { @@ -1590,19 +1590,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8883, + "id": 9502, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8881, + "id": 9500, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8873, - "src": "3897:1:17", + "referencedDeclaration": 9492, + "src": "3897:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1613,14 +1613,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8882, + "id": 9501, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3901:1:17", + "src": "3901:1:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1628,7 +1628,7 @@ }, "value": "0" }, - "src": "3897:5:17", + "src": "3897:5:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1636,12 +1636,12 @@ }, { "argumentTypes": null, - "id": 8884, + "id": 9503, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8875, - "src": "3904:12:17", + "referencedDeclaration": 9494, + "src": "3904:12:18", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1659,21 +1659,21 @@ "typeString": "string memory" } ], - "id": 8880, + "id": 9499, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "3889:7:17", + "referencedDeclaration": 11102, + "src": "3889:7:18", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8885, + "id": 9504, "isConstant": false, "isLValue": false, "isPure": false, @@ -1681,28 +1681,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3889:28:17", + "src": "3889:28:18", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8886, + "id": 9505, "nodeType": "ExpressionStatement", - "src": "3889:28:17" + "src": "3889:28:18" }, { "assignments": [ - 8888 + 9507 ], "declarations": [ { "constant": false, - "id": 8888, + "id": 9507, "name": "c", "nodeType": "VariableDeclaration", - "scope": 8895, - "src": "3927:9:17", + "scope": 9514, + "src": "3927:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1710,10 +1710,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8887, + "id": 9506, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3927:7:17", + "src": "3927:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1723,26 +1723,26 @@ "visibility": "internal" } ], - "id": 8892, + "id": 9511, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8891, + "id": 9510, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8889, + "id": 9508, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8871, - "src": "3939:1:17", + "referencedDeclaration": 9490, + "src": "3939:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1752,65 +1752,65 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 8890, + "id": 9509, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8873, - "src": "3943:1:17", + "referencedDeclaration": 9492, + "src": "3943:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3939:5:17", + "src": "3939:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3927:17:17" + "src": "3927:17:18" }, { "expression": { "argumentTypes": null, - "id": 8893, + "id": 9512, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8888, - "src": "4048:1:17", + "referencedDeclaration": 9507, + "src": "4048:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8879, - "id": 8894, + "functionReturnParameters": 9498, + "id": 9513, "nodeType": "Return", - "src": "4041:8:17" + "src": "4041:8:18" } ] }, "documentation": "@dev Returns the integer division of two unsigned integers. Reverts with custom message on\ndivision by zero. The result is rounded towards zero.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n- The divisor cannot be zero.\n * _Available since v2.4.0._", - "id": 8896, + "id": 9515, "implemented": true, "kind": "function", "modifiers": [], "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 8876, + "id": 9495, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8871, + "id": 9490, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8896, - "src": "3731:9:17", + "scope": 9515, + "src": "3731:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1818,10 +1818,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8870, + "id": 9489, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3731:7:17", + "src": "3731:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1832,11 +1832,11 @@ }, { "constant": false, - "id": 8873, + "id": 9492, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8896, - "src": "3742:9:17", + "scope": 9515, + "src": "3742:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1844,10 +1844,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8872, + "id": 9491, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3742:7:17", + "src": "3742:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1858,11 +1858,11 @@ }, { "constant": false, - "id": 8875, + "id": 9494, "name": "errorMessage", "nodeType": "VariableDeclaration", - "scope": 8896, - "src": "3753:26:17", + "scope": 9515, + "src": "3753:26:18", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1870,10 +1870,10 @@ "typeString": "string" }, "typeName": { - "id": 8874, + "id": 9493, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3753:6:17", + "src": "3753:6:18", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1883,19 +1883,19 @@ "visibility": "internal" } ], - "src": "3730:50:17" + "src": "3730:50:18" }, "returnParameters": { - "id": 8879, + "id": 9498, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8878, + "id": 9497, "name": "", "nodeType": "VariableDeclaration", - "scope": 8896, - "src": "3804:7:17", + "scope": 9515, + "src": "3804:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1903,10 +1903,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8877, + "id": 9496, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3804:7:17", + "src": "3804:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1916,19 +1916,19 @@ "visibility": "internal" } ], - "src": "3803:9:17" + "src": "3803:9:18" }, - "scope": 8936, - "src": "3718:338:17", + "scope": 9555, + "src": "3718:338:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8911, + "id": 9530, "nodeType": "Block", - "src": "4567:61:17", + "src": "4567:61:18", "statements": [ { "expression": { @@ -1936,12 +1936,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8906, + "id": 9525, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8898, - "src": "4588:1:17", + "referencedDeclaration": 9517, + "src": "4588:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1949,12 +1949,12 @@ }, { "argumentTypes": null, - "id": 8907, + "id": 9526, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8900, - "src": "4591:1:17", + "referencedDeclaration": 9519, + "src": "4591:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1963,14 +1963,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d6f64756c6f206279207a65726f", - "id": 8908, + "id": 9527, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4594:26:17", + "src": "4594:26:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", @@ -1994,21 +1994,21 @@ "typeString": "literal_string \"SafeMath: modulo by zero\"" } ], - "id": 8905, + "id": 9524, "name": "mod", "nodeType": "Identifier", "overloadedDeclarations": [ - 8912, - 8935 + 9531, + 9554 ], - "referencedDeclaration": 8935, - "src": "4584:3:17", + "referencedDeclaration": 9554, + "src": "4584:3:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 8909, + "id": 9528, "isConstant": false, "isLValue": false, "isPure": false, @@ -2016,37 +2016,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4584:37:17", + "src": "4584:37:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8904, - "id": 8910, + "functionReturnParameters": 9523, + "id": 9529, "nodeType": "Return", - "src": "4577:44:17" + "src": "4577:44:18" } ] }, "documentation": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nReverts when dividing by zero.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n- The divisor cannot be zero.", - "id": 8912, + "id": 9531, "implemented": true, "kind": "function", "modifiers": [], "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 8901, + "id": 9520, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8898, + "id": 9517, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8912, - "src": "4513:9:17", + "scope": 9531, + "src": "4513:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2054,10 +2054,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8897, + "id": 9516, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4513:7:17", + "src": "4513:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2068,11 +2068,11 @@ }, { "constant": false, - "id": 8900, + "id": 9519, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8912, - "src": "4524:9:17", + "scope": 9531, + "src": "4524:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2080,10 +2080,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8899, + "id": 9518, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4524:7:17", + "src": "4524:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2093,19 +2093,19 @@ "visibility": "internal" } ], - "src": "4512:22:17" + "src": "4512:22:18" }, "returnParameters": { - "id": 8904, + "id": 9523, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8903, + "id": 9522, "name": "", "nodeType": "VariableDeclaration", - "scope": 8912, - "src": "4558:7:17", + "scope": 9531, + "src": "4558:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2113,10 +2113,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8902, + "id": 9521, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4558:7:17", + "src": "4558:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2126,19 +2126,19 @@ "visibility": "internal" } ], - "src": "4557:9:17" + "src": "4557:9:18" }, - "scope": 8936, - "src": "4500:128:17", + "scope": 9555, + "src": "4500:128:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8934, + "id": 9553, "nodeType": "Block", - "src": "5227:68:17", + "src": "5227:68:18", "statements": [ { "expression": { @@ -2150,19 +2150,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8926, + "id": 9545, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8924, + "id": 9543, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8916, - "src": "5245:1:17", + "referencedDeclaration": 9535, + "src": "5245:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2173,14 +2173,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8925, + "id": 9544, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5250:1:17", + "src": "5250:1:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2188,7 +2188,7 @@ }, "value": "0" }, - "src": "5245:6:17", + "src": "5245:6:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2196,12 +2196,12 @@ }, { "argumentTypes": null, - "id": 8927, + "id": 9546, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8918, - "src": "5253:12:17", + "referencedDeclaration": 9537, + "src": "5253:12:18", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2219,21 +2219,21 @@ "typeString": "string memory" } ], - "id": 8923, + "id": 9542, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "5237:7:17", + "referencedDeclaration": 11102, + "src": "5237:7:18", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8928, + "id": 9547, "isConstant": false, "isLValue": false, "isPure": false, @@ -2241,15 +2241,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5237:29:17", + "src": "5237:29:18", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8929, + "id": 9548, "nodeType": "ExpressionStatement", - "src": "5237:29:17" + "src": "5237:29:18" }, { "expression": { @@ -2258,19 +2258,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8932, + "id": 9551, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8930, + "id": 9549, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8914, - "src": "5283:1:17", + "referencedDeclaration": 9533, + "src": "5283:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2280,48 +2280,48 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 8931, + "id": 9550, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8916, - "src": "5287:1:17", + "referencedDeclaration": 9535, + "src": "5287:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5283:5:17", + "src": "5283:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8922, - "id": 8933, + "functionReturnParameters": 9541, + "id": 9552, "nodeType": "Return", - "src": "5276:12:17" + "src": "5276:12:18" } ] }, "documentation": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nReverts with custom message when dividing by zero.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n- The divisor cannot be zero.\n * _Available since v2.4.0._", - "id": 8935, + "id": 9554, "implemented": true, "kind": "function", "modifiers": [], "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 8919, + "id": 9538, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8914, + "id": 9533, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8935, - "src": "5145:9:17", + "scope": 9554, + "src": "5145:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2329,10 +2329,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8913, + "id": 9532, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5145:7:17", + "src": "5145:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2343,11 +2343,11 @@ }, { "constant": false, - "id": 8916, + "id": 9535, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8935, - "src": "5156:9:17", + "scope": 9554, + "src": "5156:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2355,10 +2355,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8915, + "id": 9534, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5156:7:17", + "src": "5156:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2369,11 +2369,11 @@ }, { "constant": false, - "id": 8918, + "id": 9537, "name": "errorMessage", "nodeType": "VariableDeclaration", - "scope": 8935, - "src": "5167:26:17", + "scope": 9554, + "src": "5167:26:18", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2381,10 +2381,10 @@ "typeString": "string" }, "typeName": { - "id": 8917, + "id": 9536, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5167:6:17", + "src": "5167:6:18", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2394,19 +2394,19 @@ "visibility": "internal" } ], - "src": "5144:50:17" + "src": "5144:50:18" }, "returnParameters": { - "id": 8922, + "id": 9541, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8921, + "id": 9540, "name": "", "nodeType": "VariableDeclaration", - "scope": 8935, - "src": "5218:7:17", + "scope": 9554, + "src": "5218:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2414,10 +2414,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8920, + "id": 9539, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5218:7:17", + "src": "5218:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2427,33 +2427,33 @@ "visibility": "internal" } ], - "src": "5217:9:17" + "src": "5217:9:18" }, - "scope": 8936, - "src": "5132:163:17", + "scope": 9555, + "src": "5132:163:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 8937, - "src": "589:4708:17" + "scope": 9556, + "src": "589:4708:18" } ], - "src": "0:5298:17" + "src": "0:5298:18" }, "legacyAST": { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 8936 + 9555 ] }, - "id": 8937, + "id": 9556, "nodeType": "SourceUnit", "nodes": [ { - "id": 8751, + "id": 9370, "literals": [ "solidity", "^", @@ -2461,7 +2461,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "0:23:17" + "src": "0:23:18" }, { "baseContracts": [], @@ -2469,31 +2469,31 @@ "contractKind": "library", "documentation": "@dev Wrappers over Solidity's arithmetic operations with added overflow\nchecks.\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\nin bugs, because programmers usually assume that an overflow raises an\nerror, which is the standard behavior in high level programming languages.\n`SafeMath` restores this intuition by reverting the transaction when an\noperation overflows.\n * Using this library instead of the unchecked operations eliminates an entire\nclass of bugs, so it's recommended to use it always.", "fullyImplemented": true, - "id": 8936, + "id": 9555, "linearizedBaseContracts": [ - 8936 + 9555 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 8775, + "id": 9394, "nodeType": "Block", - "src": "901:109:17", + "src": "901:109:18", "statements": [ { "assignments": [ - 8761 + 9380 ], "declarations": [ { "constant": false, - "id": 8761, + "id": 9380, "name": "c", "nodeType": "VariableDeclaration", - "scope": 8775, - "src": "911:9:17", + "scope": 9394, + "src": "911:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2501,10 +2501,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8760, + "id": 9379, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "911:7:17", + "src": "911:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2514,26 +2514,26 @@ "visibility": "internal" } ], - "id": 8765, + "id": 9384, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8764, + "id": 9383, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8762, + "id": 9381, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8753, - "src": "923:1:17", + "referencedDeclaration": 9372, + "src": "923:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2543,25 +2543,25 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 8763, + "id": 9382, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8755, - "src": "927:1:17", + "referencedDeclaration": 9374, + "src": "927:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "923:5:17", + "src": "923:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "911:17:17" + "src": "911:17:18" }, { "expression": { @@ -2573,19 +2573,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8769, + "id": 9388, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8767, + "id": 9386, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8761, - "src": "946:1:17", + "referencedDeclaration": 9380, + "src": "946:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2595,18 +2595,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 8768, + "id": 9387, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8753, - "src": "951:1:17", + "referencedDeclaration": 9372, + "src": "951:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "946:6:17", + "src": "946:6:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2615,14 +2615,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77", - "id": 8770, + "id": 9389, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "954:29:17", + "src": "954:29:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", @@ -2642,21 +2642,21 @@ "typeString": "literal_string \"SafeMath: addition overflow\"" } ], - "id": 8766, + "id": 9385, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "938:7:17", + "referencedDeclaration": 11102, + "src": "938:7:18", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8771, + "id": 9390, "isConstant": false, "isLValue": false, "isPure": false, @@ -2664,55 +2664,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "938:46:17", + "src": "938:46:18", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8772, + "id": 9391, "nodeType": "ExpressionStatement", - "src": "938:46:17" + "src": "938:46:18" }, { "expression": { "argumentTypes": null, - "id": 8773, + "id": 9392, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8761, - "src": "1002:1:17", + "referencedDeclaration": 9380, + "src": "1002:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8759, - "id": 8774, + "functionReturnParameters": 9378, + "id": 9393, "nodeType": "Return", - "src": "995:8:17" + "src": "995:8:18" } ] }, "documentation": "@dev Returns the addition of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `+` operator.\n * Requirements:\n- Addition cannot overflow.", - "id": 8776, + "id": 9395, "implemented": true, "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 8756, + "id": 9375, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8753, + "id": 9372, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8776, - "src": "847:9:17", + "scope": 9395, + "src": "847:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2720,10 +2720,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8752, + "id": 9371, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "847:7:17", + "src": "847:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2734,11 +2734,11 @@ }, { "constant": false, - "id": 8755, + "id": 9374, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8776, - "src": "858:9:17", + "scope": 9395, + "src": "858:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2746,10 +2746,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8754, + "id": 9373, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "858:7:17", + "src": "858:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2759,19 +2759,19 @@ "visibility": "internal" } ], - "src": "846:22:17" + "src": "846:22:18" }, "returnParameters": { - "id": 8759, + "id": 9378, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8758, + "id": 9377, "name": "", "nodeType": "VariableDeclaration", - "scope": 8776, - "src": "892:7:17", + "scope": 9395, + "src": "892:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2779,10 +2779,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8757, + "id": 9376, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "892:7:17", + "src": "892:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2792,19 +2792,19 @@ "visibility": "internal" } ], - "src": "891:9:17" + "src": "891:9:18" }, - "scope": 8936, - "src": "834:176:17", + "scope": 9555, + "src": "834:176:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8791, + "id": 9410, "nodeType": "Block", - "src": "1341:67:17", + "src": "1341:67:18", "statements": [ { "expression": { @@ -2812,12 +2812,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8786, + "id": 9405, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8778, - "src": "1362:1:17", + "referencedDeclaration": 9397, + "src": "1362:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2825,12 +2825,12 @@ }, { "argumentTypes": null, - "id": 8787, + "id": 9406, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8780, - "src": "1365:1:17", + "referencedDeclaration": 9399, + "src": "1365:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2839,14 +2839,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77", - "id": 8788, + "id": 9407, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1368:32:17", + "src": "1368:32:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", @@ -2870,21 +2870,21 @@ "typeString": "literal_string \"SafeMath: subtraction overflow\"" } ], - "id": 8785, + "id": 9404, "name": "sub", "nodeType": "Identifier", "overloadedDeclarations": [ - 8792, - 8819 + 9411, + 9438 ], - "referencedDeclaration": 8819, - "src": "1358:3:17", + "referencedDeclaration": 9438, + "src": "1358:3:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 8789, + "id": 9408, "isConstant": false, "isLValue": false, "isPure": false, @@ -2892,37 +2892,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1358:43:17", + "src": "1358:43:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8784, - "id": 8790, + "functionReturnParameters": 9403, + "id": 9409, "nodeType": "Return", - "src": "1351:50:17" + "src": "1351:50:18" } ] }, "documentation": "@dev Returns the subtraction of two unsigned integers, reverting on\noverflow (when the result is negative).\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n- Subtraction cannot overflow.", - "id": 8792, + "id": 9411, "implemented": true, "kind": "function", "modifiers": [], "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 8781, + "id": 9400, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8778, + "id": 9397, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8792, - "src": "1287:9:17", + "scope": 9411, + "src": "1287:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2930,10 +2930,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8777, + "id": 9396, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1287:7:17", + "src": "1287:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2944,11 +2944,11 @@ }, { "constant": false, - "id": 8780, + "id": 9399, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8792, - "src": "1298:9:17", + "scope": 9411, + "src": "1298:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2956,10 +2956,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8779, + "id": 9398, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1298:7:17", + "src": "1298:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2969,19 +2969,19 @@ "visibility": "internal" } ], - "src": "1286:22:17" + "src": "1286:22:18" }, "returnParameters": { - "id": 8784, + "id": 9403, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8783, + "id": 9402, "name": "", "nodeType": "VariableDeclaration", - "scope": 8792, - "src": "1332:7:17", + "scope": 9411, + "src": "1332:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2989,10 +2989,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8782, + "id": 9401, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1332:7:17", + "src": "1332:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3002,19 +3002,19 @@ "visibility": "internal" } ], - "src": "1331:9:17" + "src": "1331:9:18" }, - "scope": 8936, - "src": "1274:134:17", + "scope": 9555, + "src": "1274:134:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8818, + "id": 9437, "nodeType": "Block", - "src": "1827:92:17", + "src": "1827:92:18", "statements": [ { "expression": { @@ -3026,19 +3026,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8806, + "id": 9425, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8804, + "id": 9423, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8796, - "src": "1845:1:17", + "referencedDeclaration": 9415, + "src": "1845:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3048,18 +3048,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 8805, + "id": 9424, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8794, - "src": "1850:1:17", + "referencedDeclaration": 9413, + "src": "1850:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1845:6:17", + "src": "1845:6:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3067,12 +3067,12 @@ }, { "argumentTypes": null, - "id": 8807, + "id": 9426, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8798, - "src": "1853:12:17", + "referencedDeclaration": 9417, + "src": "1853:12:18", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3090,21 +3090,21 @@ "typeString": "string memory" } ], - "id": 8803, + "id": 9422, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "1837:7:17", + "referencedDeclaration": 11102, + "src": "1837:7:18", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8808, + "id": 9427, "isConstant": false, "isLValue": false, "isPure": false, @@ -3112,28 +3112,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1837:29:17", + "src": "1837:29:18", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8809, + "id": 9428, "nodeType": "ExpressionStatement", - "src": "1837:29:17" + "src": "1837:29:18" }, { "assignments": [ - 8811 + 9430 ], "declarations": [ { "constant": false, - "id": 8811, + "id": 9430, "name": "c", "nodeType": "VariableDeclaration", - "scope": 8818, - "src": "1876:9:17", + "scope": 9437, + "src": "1876:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3141,10 +3141,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8810, + "id": 9429, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1876:7:17", + "src": "1876:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3154,26 +3154,26 @@ "visibility": "internal" } ], - "id": 8815, + "id": 9434, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8814, + "id": 9433, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8812, + "id": 9431, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8794, - "src": "1888:1:17", + "referencedDeclaration": 9413, + "src": "1888:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3183,65 +3183,65 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 8813, + "id": 9432, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8796, - "src": "1892:1:17", + "referencedDeclaration": 9415, + "src": "1892:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1888:5:17", + "src": "1888:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1876:17:17" + "src": "1876:17:18" }, { "expression": { "argumentTypes": null, - "id": 8816, + "id": 9435, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8811, - "src": "1911:1:17", + "referencedDeclaration": 9430, + "src": "1911:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8802, - "id": 8817, + "functionReturnParameters": 9421, + "id": 9436, "nodeType": "Return", - "src": "1904:8:17" + "src": "1904:8:18" } ] }, "documentation": "@dev Returns the subtraction of two unsigned integers, reverting with custom message on\noverflow (when the result is negative).\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n- Subtraction cannot overflow.\n * _Available since v2.4.0._", - "id": 8819, + "id": 9438, "implemented": true, "kind": "function", "modifiers": [], "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 8799, + "id": 9418, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8794, + "id": 9413, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8819, - "src": "1745:9:17", + "scope": 9438, + "src": "1745:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3249,10 +3249,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8793, + "id": 9412, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1745:7:17", + "src": "1745:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3263,11 +3263,11 @@ }, { "constant": false, - "id": 8796, + "id": 9415, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8819, - "src": "1756:9:17", + "scope": 9438, + "src": "1756:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3275,10 +3275,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8795, + "id": 9414, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1756:7:17", + "src": "1756:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3289,11 +3289,11 @@ }, { "constant": false, - "id": 8798, + "id": 9417, "name": "errorMessage", "nodeType": "VariableDeclaration", - "scope": 8819, - "src": "1767:26:17", + "scope": 9438, + "src": "1767:26:18", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3301,10 +3301,10 @@ "typeString": "string" }, "typeName": { - "id": 8797, + "id": 9416, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1767:6:17", + "src": "1767:6:18", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3314,19 +3314,19 @@ "visibility": "internal" } ], - "src": "1744:50:17" + "src": "1744:50:18" }, "returnParameters": { - "id": 8802, + "id": 9421, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8801, + "id": 9420, "name": "", "nodeType": "VariableDeclaration", - "scope": 8819, - "src": "1818:7:17", + "scope": 9438, + "src": "1818:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3334,10 +3334,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8800, + "id": 9419, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1818:7:17", + "src": "1818:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3347,19 +3347,19 @@ "visibility": "internal" } ], - "src": "1817:9:17" + "src": "1817:9:18" }, - "scope": 8936, - "src": "1732:187:17", + "scope": 9555, + "src": "1732:187:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8852, + "id": 9471, "nodeType": "Block", - "src": "2226:392:17", + "src": "2226:392:18", "statements": [ { "condition": { @@ -3368,19 +3368,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8830, + "id": 9449, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8828, + "id": 9447, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8821, - "src": "2458:1:17", + "referencedDeclaration": 9440, + "src": "2458:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3391,14 +3391,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8829, + "id": 9448, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2463:1:17", + "src": "2463:1:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3406,33 +3406,33 @@ }, "value": "0" }, - "src": "2458:6:17", + "src": "2458:6:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 8834, + "id": 9453, "nodeType": "IfStatement", - "src": "2454:45:17", + "src": "2454:45:18", "trueBody": { - "id": 8833, + "id": 9452, "nodeType": "Block", - "src": "2466:33:17", + "src": "2466:33:18", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 8831, + "id": 9450, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2487:1:17", + "src": "2487:1:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3440,26 +3440,26 @@ }, "value": "0" }, - "functionReturnParameters": 8827, - "id": 8832, + "functionReturnParameters": 9446, + "id": 9451, "nodeType": "Return", - "src": "2480:8:17" + "src": "2480:8:18" } ] } }, { "assignments": [ - 8836 + 9455 ], "declarations": [ { "constant": false, - "id": 8836, + "id": 9455, "name": "c", "nodeType": "VariableDeclaration", - "scope": 8852, - "src": "2509:9:17", + "scope": 9471, + "src": "2509:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3467,10 +3467,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8835, + "id": 9454, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2509:7:17", + "src": "2509:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3480,26 +3480,26 @@ "visibility": "internal" } ], - "id": 8840, + "id": 9459, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8839, + "id": 9458, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8837, + "id": 9456, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8821, - "src": "2521:1:17", + "referencedDeclaration": 9440, + "src": "2521:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3509,25 +3509,25 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 8838, + "id": 9457, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8823, - "src": "2525:1:17", + "referencedDeclaration": 9442, + "src": "2525:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2521:5:17", + "src": "2521:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2509:17:17" + "src": "2509:17:18" }, { "expression": { @@ -3539,7 +3539,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8846, + "id": 9465, "isConstant": false, "isLValue": false, "isPure": false, @@ -3550,19 +3550,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8844, + "id": 9463, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8842, + "id": 9461, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8836, - "src": "2544:1:17", + "referencedDeclaration": 9455, + "src": "2544:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3572,18 +3572,18 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 8843, + "id": 9462, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8821, - "src": "2548:1:17", + "referencedDeclaration": 9440, + "src": "2548:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2544:5:17", + "src": "2544:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3593,18 +3593,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8845, + "id": 9464, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8823, - "src": "2553:1:17", + "referencedDeclaration": 9442, + "src": "2553:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2544:10:17", + "src": "2544:10:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3613,14 +3613,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "id": 8847, + "id": 9466, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2556:35:17", + "src": "2556:35:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", @@ -3640,21 +3640,21 @@ "typeString": "literal_string \"SafeMath: multiplication overflow\"" } ], - "id": 8841, + "id": 9460, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "2536:7:17", + "referencedDeclaration": 11102, + "src": "2536:7:18", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8848, + "id": 9467, "isConstant": false, "isLValue": false, "isPure": false, @@ -3662,55 +3662,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2536:56:17", + "src": "2536:56:18", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8849, + "id": 9468, "nodeType": "ExpressionStatement", - "src": "2536:56:17" + "src": "2536:56:18" }, { "expression": { "argumentTypes": null, - "id": 8850, + "id": 9469, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8836, - "src": "2610:1:17", + "referencedDeclaration": 9455, + "src": "2610:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8827, - "id": 8851, + "functionReturnParameters": 9446, + "id": 9470, "nodeType": "Return", - "src": "2603:8:17" + "src": "2603:8:18" } ] }, "documentation": "@dev Returns the multiplication of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `*` operator.\n * Requirements:\n- Multiplication cannot overflow.", - "id": 8853, + "id": 9472, "implemented": true, "kind": "function", "modifiers": [], "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 8824, + "id": 9443, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8821, + "id": 9440, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8853, - "src": "2172:9:17", + "scope": 9472, + "src": "2172:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3718,10 +3718,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8820, + "id": 9439, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2172:7:17", + "src": "2172:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3732,11 +3732,11 @@ }, { "constant": false, - "id": 8823, + "id": 9442, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8853, - "src": "2183:9:17", + "scope": 9472, + "src": "2183:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3744,10 +3744,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8822, + "id": 9441, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2183:7:17", + "src": "2183:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3757,19 +3757,19 @@ "visibility": "internal" } ], - "src": "2171:22:17" + "src": "2171:22:18" }, "returnParameters": { - "id": 8827, + "id": 9446, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8826, + "id": 9445, "name": "", "nodeType": "VariableDeclaration", - "scope": 8853, - "src": "2217:7:17", + "scope": 9472, + "src": "2217:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3777,10 +3777,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8825, + "id": 9444, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2217:7:17", + "src": "2217:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3790,19 +3790,19 @@ "visibility": "internal" } ], - "src": "2216:9:17" + "src": "2216:9:18" }, - "scope": 8936, - "src": "2159:459:17", + "scope": 9555, + "src": "2159:459:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8868, + "id": 9487, "nodeType": "Block", - "src": "3140:63:17", + "src": "3140:63:18", "statements": [ { "expression": { @@ -3810,12 +3810,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8863, + "id": 9482, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8855, - "src": "3161:1:17", + "referencedDeclaration": 9474, + "src": "3161:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3823,12 +3823,12 @@ }, { "argumentTypes": null, - "id": 8864, + "id": 9483, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8857, - "src": "3164:1:17", + "referencedDeclaration": 9476, + "src": "3164:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3837,14 +3837,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206469766973696f6e206279207a65726f", - "id": 8865, + "id": 9484, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3167:28:17", + "src": "3167:28:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", @@ -3868,21 +3868,21 @@ "typeString": "literal_string \"SafeMath: division by zero\"" } ], - "id": 8862, + "id": 9481, "name": "div", "nodeType": "Identifier", "overloadedDeclarations": [ - 8869, - 8896 + 9488, + 9515 ], - "referencedDeclaration": 8896, - "src": "3157:3:17", + "referencedDeclaration": 9515, + "src": "3157:3:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 8866, + "id": 9485, "isConstant": false, "isLValue": false, "isPure": false, @@ -3890,37 +3890,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3157:39:17", + "src": "3157:39:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8861, - "id": 8867, + "functionReturnParameters": 9480, + "id": 9486, "nodeType": "Return", - "src": "3150:46:17" + "src": "3150:46:18" } ] }, "documentation": "@dev Returns the integer division of two unsigned integers. Reverts on\ndivision by zero. The result is rounded towards zero.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n- The divisor cannot be zero.", - "id": 8869, + "id": 9488, "implemented": true, "kind": "function", "modifiers": [], "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 8858, + "id": 9477, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8855, + "id": 9474, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8869, - "src": "3086:9:17", + "scope": 9488, + "src": "3086:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3928,10 +3928,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8854, + "id": 9473, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3086:7:17", + "src": "3086:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3942,11 +3942,11 @@ }, { "constant": false, - "id": 8857, + "id": 9476, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8869, - "src": "3097:9:17", + "scope": 9488, + "src": "3097:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3954,10 +3954,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8856, + "id": 9475, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3097:7:17", + "src": "3097:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3967,19 +3967,19 @@ "visibility": "internal" } ], - "src": "3085:22:17" + "src": "3085:22:18" }, "returnParameters": { - "id": 8861, + "id": 9480, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8860, + "id": 9479, "name": "", "nodeType": "VariableDeclaration", - "scope": 8869, - "src": "3131:7:17", + "scope": 9488, + "src": "3131:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3987,10 +3987,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8859, + "id": 9478, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3131:7:17", + "src": "3131:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4000,19 +4000,19 @@ "visibility": "internal" } ], - "src": "3130:9:17" + "src": "3130:9:18" }, - "scope": 8936, - "src": "3073:130:17", + "scope": 9555, + "src": "3073:130:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8895, + "id": 9514, "nodeType": "Block", - "src": "3813:243:17", + "src": "3813:243:18", "statements": [ { "expression": { @@ -4024,19 +4024,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8883, + "id": 9502, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8881, + "id": 9500, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8873, - "src": "3897:1:17", + "referencedDeclaration": 9492, + "src": "3897:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4047,14 +4047,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8882, + "id": 9501, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3901:1:17", + "src": "3901:1:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4062,7 +4062,7 @@ }, "value": "0" }, - "src": "3897:5:17", + "src": "3897:5:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4070,12 +4070,12 @@ }, { "argumentTypes": null, - "id": 8884, + "id": 9503, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8875, - "src": "3904:12:17", + "referencedDeclaration": 9494, + "src": "3904:12:18", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4093,21 +4093,21 @@ "typeString": "string memory" } ], - "id": 8880, + "id": 9499, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "3889:7:17", + "referencedDeclaration": 11102, + "src": "3889:7:18", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8885, + "id": 9504, "isConstant": false, "isLValue": false, "isPure": false, @@ -4115,28 +4115,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3889:28:17", + "src": "3889:28:18", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8886, + "id": 9505, "nodeType": "ExpressionStatement", - "src": "3889:28:17" + "src": "3889:28:18" }, { "assignments": [ - 8888 + 9507 ], "declarations": [ { "constant": false, - "id": 8888, + "id": 9507, "name": "c", "nodeType": "VariableDeclaration", - "scope": 8895, - "src": "3927:9:17", + "scope": 9514, + "src": "3927:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4144,10 +4144,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8887, + "id": 9506, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3927:7:17", + "src": "3927:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4157,26 +4157,26 @@ "visibility": "internal" } ], - "id": 8892, + "id": 9511, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8891, + "id": 9510, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8889, + "id": 9508, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8871, - "src": "3939:1:17", + "referencedDeclaration": 9490, + "src": "3939:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4186,65 +4186,65 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 8890, + "id": 9509, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8873, - "src": "3943:1:17", + "referencedDeclaration": 9492, + "src": "3943:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3939:5:17", + "src": "3939:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3927:17:17" + "src": "3927:17:18" }, { "expression": { "argumentTypes": null, - "id": 8893, + "id": 9512, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8888, - "src": "4048:1:17", + "referencedDeclaration": 9507, + "src": "4048:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8879, - "id": 8894, + "functionReturnParameters": 9498, + "id": 9513, "nodeType": "Return", - "src": "4041:8:17" + "src": "4041:8:18" } ] }, "documentation": "@dev Returns the integer division of two unsigned integers. Reverts with custom message on\ndivision by zero. The result is rounded towards zero.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n- The divisor cannot be zero.\n * _Available since v2.4.0._", - "id": 8896, + "id": 9515, "implemented": true, "kind": "function", "modifiers": [], "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 8876, + "id": 9495, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8871, + "id": 9490, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8896, - "src": "3731:9:17", + "scope": 9515, + "src": "3731:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4252,10 +4252,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8870, + "id": 9489, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3731:7:17", + "src": "3731:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4266,11 +4266,11 @@ }, { "constant": false, - "id": 8873, + "id": 9492, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8896, - "src": "3742:9:17", + "scope": 9515, + "src": "3742:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4278,10 +4278,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8872, + "id": 9491, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3742:7:17", + "src": "3742:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4292,11 +4292,11 @@ }, { "constant": false, - "id": 8875, + "id": 9494, "name": "errorMessage", "nodeType": "VariableDeclaration", - "scope": 8896, - "src": "3753:26:17", + "scope": 9515, + "src": "3753:26:18", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4304,10 +4304,10 @@ "typeString": "string" }, "typeName": { - "id": 8874, + "id": 9493, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3753:6:17", + "src": "3753:6:18", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4317,19 +4317,19 @@ "visibility": "internal" } ], - "src": "3730:50:17" + "src": "3730:50:18" }, "returnParameters": { - "id": 8879, + "id": 9498, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8878, + "id": 9497, "name": "", "nodeType": "VariableDeclaration", - "scope": 8896, - "src": "3804:7:17", + "scope": 9515, + "src": "3804:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4337,10 +4337,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8877, + "id": 9496, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3804:7:17", + "src": "3804:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4350,19 +4350,19 @@ "visibility": "internal" } ], - "src": "3803:9:17" + "src": "3803:9:18" }, - "scope": 8936, - "src": "3718:338:17", + "scope": 9555, + "src": "3718:338:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8911, + "id": 9530, "nodeType": "Block", - "src": "4567:61:17", + "src": "4567:61:18", "statements": [ { "expression": { @@ -4370,12 +4370,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8906, + "id": 9525, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8898, - "src": "4588:1:17", + "referencedDeclaration": 9517, + "src": "4588:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4383,12 +4383,12 @@ }, { "argumentTypes": null, - "id": 8907, + "id": 9526, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8900, - "src": "4591:1:17", + "referencedDeclaration": 9519, + "src": "4591:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4397,14 +4397,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d6f64756c6f206279207a65726f", - "id": 8908, + "id": 9527, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4594:26:17", + "src": "4594:26:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", @@ -4428,21 +4428,21 @@ "typeString": "literal_string \"SafeMath: modulo by zero\"" } ], - "id": 8905, + "id": 9524, "name": "mod", "nodeType": "Identifier", "overloadedDeclarations": [ - 8912, - 8935 + 9531, + 9554 ], - "referencedDeclaration": 8935, - "src": "4584:3:17", + "referencedDeclaration": 9554, + "src": "4584:3:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 8909, + "id": 9528, "isConstant": false, "isLValue": false, "isPure": false, @@ -4450,37 +4450,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4584:37:17", + "src": "4584:37:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8904, - "id": 8910, + "functionReturnParameters": 9523, + "id": 9529, "nodeType": "Return", - "src": "4577:44:17" + "src": "4577:44:18" } ] }, "documentation": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nReverts when dividing by zero.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n- The divisor cannot be zero.", - "id": 8912, + "id": 9531, "implemented": true, "kind": "function", "modifiers": [], "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 8901, + "id": 9520, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8898, + "id": 9517, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8912, - "src": "4513:9:17", + "scope": 9531, + "src": "4513:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4488,10 +4488,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8897, + "id": 9516, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4513:7:17", + "src": "4513:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4502,11 +4502,11 @@ }, { "constant": false, - "id": 8900, + "id": 9519, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8912, - "src": "4524:9:17", + "scope": 9531, + "src": "4524:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4514,10 +4514,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8899, + "id": 9518, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4524:7:17", + "src": "4524:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4527,19 +4527,19 @@ "visibility": "internal" } ], - "src": "4512:22:17" + "src": "4512:22:18" }, "returnParameters": { - "id": 8904, + "id": 9523, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8903, + "id": 9522, "name": "", "nodeType": "VariableDeclaration", - "scope": 8912, - "src": "4558:7:17", + "scope": 9531, + "src": "4558:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4547,10 +4547,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8902, + "id": 9521, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4558:7:17", + "src": "4558:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4560,19 +4560,19 @@ "visibility": "internal" } ], - "src": "4557:9:17" + "src": "4557:9:18" }, - "scope": 8936, - "src": "4500:128:17", + "scope": 9555, + "src": "4500:128:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 8934, + "id": 9553, "nodeType": "Block", - "src": "5227:68:17", + "src": "5227:68:18", "statements": [ { "expression": { @@ -4584,19 +4584,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8926, + "id": 9545, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8924, + "id": 9543, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8916, - "src": "5245:1:17", + "referencedDeclaration": 9535, + "src": "5245:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4607,14 +4607,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8925, + "id": 9544, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5250:1:17", + "src": "5250:1:18", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4622,7 +4622,7 @@ }, "value": "0" }, - "src": "5245:6:17", + "src": "5245:6:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4630,12 +4630,12 @@ }, { "argumentTypes": null, - "id": 8927, + "id": 9546, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8918, - "src": "5253:12:17", + "referencedDeclaration": 9537, + "src": "5253:12:18", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4653,21 +4653,21 @@ "typeString": "string memory" } ], - "id": 8923, + "id": 9542, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "5237:7:17", + "referencedDeclaration": 11102, + "src": "5237:7:18", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8928, + "id": 9547, "isConstant": false, "isLValue": false, "isPure": false, @@ -4675,15 +4675,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5237:29:17", + "src": "5237:29:18", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8929, + "id": 9548, "nodeType": "ExpressionStatement", - "src": "5237:29:17" + "src": "5237:29:18" }, { "expression": { @@ -4692,19 +4692,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8932, + "id": 9551, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8930, + "id": 9549, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8914, - "src": "5283:1:17", + "referencedDeclaration": 9533, + "src": "5283:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4714,48 +4714,48 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 8931, + "id": 9550, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8916, - "src": "5287:1:17", + "referencedDeclaration": 9535, + "src": "5287:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5283:5:17", + "src": "5283:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8922, - "id": 8933, + "functionReturnParameters": 9541, + "id": 9552, "nodeType": "Return", - "src": "5276:12:17" + "src": "5276:12:18" } ] }, "documentation": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nReverts with custom message when dividing by zero.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n- The divisor cannot be zero.\n * _Available since v2.4.0._", - "id": 8935, + "id": 9554, "implemented": true, "kind": "function", "modifiers": [], "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 8919, + "id": 9538, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8914, + "id": 9533, "name": "a", "nodeType": "VariableDeclaration", - "scope": 8935, - "src": "5145:9:17", + "scope": 9554, + "src": "5145:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4763,10 +4763,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8913, + "id": 9532, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5145:7:17", + "src": "5145:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4777,11 +4777,11 @@ }, { "constant": false, - "id": 8916, + "id": 9535, "name": "b", "nodeType": "VariableDeclaration", - "scope": 8935, - "src": "5156:9:17", + "scope": 9554, + "src": "5156:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4789,10 +4789,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8915, + "id": 9534, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5156:7:17", + "src": "5156:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4803,11 +4803,11 @@ }, { "constant": false, - "id": 8918, + "id": 9537, "name": "errorMessage", "nodeType": "VariableDeclaration", - "scope": 8935, - "src": "5167:26:17", + "scope": 9554, + "src": "5167:26:18", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4815,10 +4815,10 @@ "typeString": "string" }, "typeName": { - "id": 8917, + "id": 9536, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5167:6:17", + "src": "5167:6:18", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4828,19 +4828,19 @@ "visibility": "internal" } ], - "src": "5144:50:17" + "src": "5144:50:18" }, "returnParameters": { - "id": 8922, + "id": 9541, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8921, + "id": 9540, "name": "", "nodeType": "VariableDeclaration", - "scope": 8935, - "src": "5218:7:17", + "scope": 9554, + "src": "5218:7:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4848,10 +4848,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8920, + "id": 9539, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5218:7:17", + "src": "5218:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4861,28 +4861,28 @@ "visibility": "internal" } ], - "src": "5217:9:17" + "src": "5217:9:18" }, - "scope": 8936, - "src": "5132:163:17", + "scope": 9555, + "src": "5132:163:18", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 8937, - "src": "589:4708:17" + "scope": 9556, + "src": "589:4708:18" } ], - "src": "0:5298:17" + "src": "0:5298:18" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.586Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.476Z", "devdoc": { "details": "Wrappers over Solidity's arithmetic operations with added overflow checks. * Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. * Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.", "methods": {} diff --git a/build/contracts/SyscoinBattleManager.json b/build/contracts/SyscoinBattleManager.json index 6ad5d17..ccfe5f4 100644 --- a/build/contracts/SyscoinBattleManager.json +++ b/build/contracts/SyscoinBattleManager.json @@ -601,11 +601,11 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"err\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"name\":\"ChallengerConvicted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"name\":\"NewBattle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"merkleHashCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"}],\"name\":\"RespondBlockHeaders\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"err\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"}],\"name\":\"SubmitterConvicted\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"name\":\"beginBattleSession\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"bytesToUint32Flipped\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"result\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_txHash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_txIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_siblings\",\"type\":\"uint256[]\"}],\"name\":\"computeMerkle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_rawBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"}],\"name\":\"dblShaFlipMem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_input\",\"type\":\"uint256\"}],\"name\":\"flip32Bytes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"getBytesLE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getNumMerkleHashesBySession\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSubmitterHitTimeout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"enum SyscoinMessageLibrary.Network\",\"name\":\"_network\",\"type\":\"uint8\"},{\"internalType\":\"contract SyscoinSuperblocksI\",\"name\":\"_superblocks\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_superblockDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_superblockTimeout\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"}],\"name\":\"makeMerkle\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minProposalDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"parseVarInt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"blockHeaders\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"numHeaders\",\"type\":\"uint256\"}],\"name\":\"respondBlockHeaders\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"sessionExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contract SyscoinClaimManagerI\",\"name\":\"_syscoinClaimManager\",\"type\":\"address\"}],\"name\":\"setSyscoinClaimManager\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_rawBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"}],\"name\":\"sha256mem\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_rawBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endIndex\",\"type\":\"uint256\"}],\"name\":\"sliceArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"superblockDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"superblockTimeout\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_bits\",\"type\":\"uint32\"}],\"name\":\"targetFromBits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"timeout\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinBattleManager.sol\":\"SyscoinBattleManager\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinBattleManager.sol\":{\"keccak256\":\"0x3cbad50bdd0b1089476b92da394ce0e7b83c22b886ec1ea102a430f56fa196c6\",\"urls\":[\"bzz-raw://eab68d881184b8507a44791a9df346bc1de449207e2feea0d1fb87179046051d\",\"dweb:/ipfs/QmbssfdM6eEVJ74d8kNYHWSUUvAWW8f5dnjE85uFJ8XXeU\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinErrorCodes.sol\":{\"keccak256\":\"0x02931f928c2e9680efca3cf47c69a1dc441d9c61dc903d7a8dc9b37a80d1d67f\",\"urls\":[\"bzz-raw://a54ffdf18cd31b84a118b424b670e22d1c91fb1721edbfd00cf671b9a1de928c\",\"dweb:/ipfs/QmQYNCXgBzerzAEuZ1KYhgC7MymqiFtDMcAaFJf6yxv3GU\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinParser/SyscoinMessageLibrary.sol\":{\"keccak256\":\"0x296fe04ab670e2175c98002b4ef8a29326eac21f7b5bdc1ee9e6b0bbfca1edb8\",\"urls\":[\"bzz-raw://4d5cfa73287f660d5cc53de52cb6c1cc3e491740fb375626444552595b22f772\",\"dweb:/ipfs/QmYXQvrH337T8zppKFnvfaNx1Y7uoJ9EjFNXXij78kn1E1\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinClaimManagerI.sol\":{\"keccak256\":\"0x10621a56230a5720fce059a05915eceb0277cd955bbb1ad9f109ce6c247a5638\",\"urls\":[\"bzz-raw://c0fdbc1c8d02f6c62e4e8cabf044e85b805a21e6e7b13c6f304541707a5a3355\",\"dweb:/ipfs/QmSK8E13yiYq1AVHtfJbUvijVkjebvxdoixXvUVSAkz5eX\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol\":{\"keccak256\":\"0x45dee08e14623208dd251ab7df22264396bc6d7453f860b2168946bfe132e753\",\"urls\":[\"bzz-raw://63eeda0c89724a00b59e4833a6da6891dd8e69afb000122b861a6877a28a9c06\",\"dweb:/ipfs/QmZhyw5pkWaMAsKMBRfrCVNe7pjzuwgAZ6xRoK7pqLDcwk\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0xf79d9851c085aa8412e87d7a26d3485488fe12538ecb4e317ce41fc1f2c3a16a\",\"urls\":[\"bzz-raw://6af1a35ad6aed2169ce9f44095438b3192cd6066903908f769d5c49a06a0caf8\",\"dweb:/ipfs/QmaH41CwJ7WrMQwSnbfCKuL2pd8bxF7sbGSLPZb6JaHBFF\"]},\"solidity-rlp/contracts/RLPReader.sol\":{\"keccak256\":\"0xe2df62ba34ab569e097c58eee30eb9fdab120d4df1c572c6ceae1bec3faa2c2a\",\"urls\":[\"bzz-raw://46988aac4691b498d4c6983c7617de6d29cd5d7fe4e3ecfb7f8c0d00e33e9a12\",\"dweb:/ipfs/QmdWF9ti9UJSP2E7XYkdUPRV9yfmxEmuRgzpNtt3Ex57Ar\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50612b7c806100206000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063795ea18e116100b8578063df23ceb21161007c578063df23ceb214610816578063e177321614610851578063f1afcfa61461086e578063f871dfe814610876578063f91f681f14610893578063f9b5d7c0146108b657610137565b8063795ea18e14610652578063b6f6580a1461066f578063d0f9410b1461068c578063d1daeede14610739578063d5c9712f1461076d57610137565b80633e0e8a20116100ff5780633e0e8a201461038f578063455e6166146104ad5780634d7dcfbd146104b557806351fcf4311461057457806371a8c18a1461062157610137565b8063029c5e2a1461013c5780630c9897d2146101fb57806318b011de146102b65780632ef955e4146102be5780633678c14314610367575b600080fd5b6101e26004803603604081101561015257600080fd5b810190602081018135600160201b81111561016c57600080fd5b82018360208201111561017e57600080fd5b803590602001918460018302840111600160201b8311171561019f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610957915050565b6040805163ffffffff9092168252519081900360200190f35b6102a46004803603606081101561021157600080fd5b810190602081018135600160201b81111561022b57600080fd5b82018360208201111561023d57600080fd5b803590602001918460018302840111600160201b8311171561025e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610993565b60408051918252519081900360200190f35b6102a4610a58565b6102a4600480360360608110156102d457600080fd5b810190602081018135600160201b8111156102ee57600080fd5b82018360208201111561030057600080fd5b803590602001918460018302840111600160201b8311171561032157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610a5e565b61038d6004803603602081101561037d57600080fd5b50356001600160a01b0316610a83565b005b610438600480360360608110156103a557600080fd5b810190602081018135600160201b8111156103bf57600080fd5b8201836020820111156103d157600080fd5b803590602001918460018302840111600160201b831117156103f257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610ada565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047257818101518382015260200161045a565b50505050905090810190601f16801561049f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a4610b35565b61055b600480360360408110156104cb57600080fd5b810190602081018135600160201b8111156104e557600080fd5b8201836020820111156104f757600080fd5b803590602001918460018302840111600160201b8311171561051857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610b41915050565b6040805192835260208301919091528051918290030190f35b61038d6004803603606081101561058a57600080fd5b81359190810190604081016020820135600160201b8111156105ab57600080fd5b8201836020820111156105bd57600080fd5b803590602001918460018302840111600160201b831117156105de57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610bf4915050565b61063e6004803603602081101561063757600080fd5b5035611040565b604080519115158252519081900360200190f35b6102a46004803603602081101561066857600080fd5b5035611060565b6102a46004803603602081101561068557600080fd5b5035611151565b6102a4600480360360608110156106a257600080fd5b813591602081013591810190606081016040820135600160201b8111156106c857600080fd5b8201836020820111156106da57600080fd5b803590602001918460208302840111600160201b831117156106fb57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061127b945050505050565b61038d6004803603606081101561074f57600080fd5b508035906001600160a01b0360208201358116916040013516611495565b6102a46004803603606081101561078357600080fd5b810190602081018135600160201b81111561079d57600080fd5b8201836020820111156107af57600080fd5b803590602001918460018302840111600160201b831117156107d057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135611567565b61038d6004803603608081101561082c57600080fd5b5060ff813516906001600160a01b0360208201351690604081013590606001356115a9565b61063e6004803603602081101561086757600080fd5b5035611692565b6102a46116af565b6102a46004803603602081101561088c57600080fd5b50356116b5565b6102a4600480360360208110156108a957600080fd5b503563ffffffff16611791565b6102a4600480360360208110156108cc57600080fd5b810190602081018135600160201b8111156108e657600080fd5b8201836020820111156108f857600080fd5b803590602001918460208302840111600160201b8311171561091957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506117b4945050505050565b6000816020840101516040518160031a60008201538160021a60018201538160011a60028201538160001a60038201535160e01c949350505050565b6000610a4e60026109a5868686610a5e565b604051602001808281526020019150506040516020818303038152906040526040518082805190602001908083835b602083106109f35780518252601f1990920191602091820191016109d4565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015610a32573d6000803e3d6000fd5b5050506040513d6020811015610a4757600080fd5b5051611151565b90505b9392505050565b60355481565b60006040516020818486602089010160025afa610a7a57600080fd5b51949350505050565b60365461010090046001600160a01b0316158015610aa957506001600160a01b03811615155b610ab257600080fd5b603680546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6060600083830390506060816040519080825280601f01601f191660200182016040528015610b10576020820181803883390190505b5090508160208201838760208a010160045afa610b2c57600080fd5b95945050505050565b6729a2241af62c000081565b6000806000848481518110610b5257fe5b01602001516001949094019360f81c905060fd811015610b795760ff169150829050610bed565b8060ff1660fd1415610b9f57610b9185856010611567565b846002019250925050610bed565b8060ff1660fe1415610bc557610bb785856020611567565b846004019250925050610bed565b8060ff1660ff1415610beb57610bdd85856040611567565b846008019250925050610bed565b505b9250929050565b600083815260336020526040902080546001600160a01b0316338114610c1957600080fd5b6004820154600260365460ff166002811115610c3157fe5b14610c695760028111158015610c48575083601014155b80610c5f5750806003148015610c5f575083600c14155b15610c6957600080fd5b610c71612988565b60375460408051636e5b707160e01b8152600481018a905290516001600160a01b0390921691636e5b70719160248082019261012092909190829003018186803b158015610cbe57600080fd5b505afa158015610cd2573d6000803e3d6000fd5b505050506040513d610120811015610ce957600080fd5b50805160208083015160408085015160608087015160808089015160a08a0151610100909a015163ffffffff90811660e08d0152918b019990995290971660c08901528781019690965286820152858301919091529184528151888152888202810190910190915260009190878015610d6c578160200160208202803883390190505b509050606087604051908082528060200260200182016040528015610dab57816020015b610d986129d2565b815260200190600190039081610d905790505b5090506000805b8251811015610eee57610dc58b86611a6c565b838281518110610dd157fe5b60200260200101819052506000610dfe848381518110610ded57fe5b602002602001015160000151611791565b9050610e0a8c87611ac1565b15610e8257610e176129f9565b610e218d88611ae4565b90508181600001511115610e3b576127a693505050610eee565b6000610e61868581518110610e4c57fe5b60200260200101516060015160001c83611be2565b905080600114610e75579350610eee915050565b5061014001519550610eb6565b80848381518110610e8f57fe5b60200260200101516060015160001c1115610eaf57612792925050610eee565b8560500195505b838281518110610ec257fe5b602002602001015160600151858381518110610eda57fe5b602090810291909101015250600101610db2565b508015610f1e576001880154610f11908c9089906001600160a01b031684611c53565b505050505050505061103b565b610f498886610f2c866117b4565b85600187510381518110610f3c57fe5b6020026020010151611d26565b90508015610f72576001880154610f6d908c9089906001600160a01b031684611c53565b611032565b426002890155610f83888684611e8c565b90508015610fa7576001880154610f11908c9089906001600160a01b031684611c53565b88600c1480610fc65750600260365460ff166002811115610fc457fe5b145b15610fe7576001880154610f11908c9089906001600160a01b03168461222b565b604080518c81526001880160208201526001600160a01b0389168183015290517fbb00dcdc614e6421b964f0ebca4d1ce96e2a575d555e09012e6f36ed405b410a9181900360600190a15b50505050505050505b505050565b60008181526033602052604090206035546002909101540142115b919050565b600081815260336020526040812080546001600160a01b031661108257600080fd5b60355481600201540142111561114757805460018201546110b49185916001600160a01b03918216911661c36a611c53565b603660019054906101000a90046001600160a01b03166001600160a01b0316633352f1a4846040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561110f57600080fd5b505af1158015611123573d6000803e3d6000fd5b505050506040513d602081101561113957600080fd5b5061c36a925061105b915050565b5061c36e92915050565b60405160009060ff8316815382601e1a600182015382601d1a600282015382601c1a600382015382601b1a600482015382601a1a60058201538260191a60068201538260181a60078201538260171a60088201538260161a60098201538260151a600a8201538260141a600b8201538260131a600c8201538260121a600d8201538260111a600e8201538260101a600f82015382600f1a601082015382600e1a601182015382600d1a601282015382600c1a601382015382600b1a601482015382600a1a60158201538260091a60168201538260081a60178201538260071a60188201538260061a60198201538260051a601a8201538260041a601b8201538260031a601c8201538260021a601d8201538260011a601e8201538260001a601f8201535192915050565b8051600090815b818110156112c5576112a684828151811061129957fe5b6020026020010151611151565b8482815181106112b257fe5b6020908102919091010152600101611282565b506000806112d287611151565b90505b828210156114815760008583815181106112eb57fe5b602002602001015190506000806002898161130257fe5b066001141561131557508190508261131b565b50829050815b600280838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106113755780518252601f199092019160209182019101611356565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156113b4573d6000803e3d6000fd5b5050506040513d60208110156113c957600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106114155780518252601f1990920191602091820191016113f6565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611454573d6000803e3d6000fd5b5050506040513d602081101561146957600080fd5b505193506002890498506001850194505050506112d5565b61148a81611151565b979650505050505050565b60365461010090046001600160a01b03163381146114b257600080fd5b600084815260336020526040902080546001600160a01b0316156114d557600080fd5b80546001600160a01b038086166001600160a01b03199283161783556001830180549186169190921617905560006115106004830182612a53565b50426002820155604080518681526001600160a01b03808716602083015285168183015290517f3726b144f253954160bd0bb1f002a28f904f6e83596cbb62e9e1f2082644ca939181900360600190a15050505050565b6000805b600883048110156115a1578060080260020a858286018151811061158b57fe5b016020015160f81c02919091019060010161156b565b509392505050565b600054610100900460ff16806115c257506115c26122f8565b806115d0575060005460ff16155b61160b5760405162461bcd60e51b815260040180806020018281038252602e815260200180612b1a602e913960400191505060405180910390fd5b600054610100900460ff16158015611636576000805460ff1961ff0019909116610100171660011790555b6036805486919060ff1916600183600281111561164f57fe5b0217905550603780546001600160a01b0319166001600160a01b03861617905560348390556035829055801561168b576000805461ff00191690555b5050505050565b6000908152603360205260409020546001600160a01b0316151590565b60345481565b60006116bf612a77565b600083815260336020908152604091829020825160a08101845281546001600160a01b0390811682526001830154168184015260028201548185015260038201546060820152600482018054855181860281018601909652808652919492936080860193929083018282801561175457602002820191906000526020600020905b815481526020019060010190808311611740575b5050509190925250508151919250506001600160a01b031661177a57600091505061105b565b505060009081526033602052604090206004015490565b62ffffff8116630100000063ffffffff92831604909116600219016101000a0290565b805160009060018114156117df57826000815181106117cf57fe5b602002602001015191505061105b565b6000811161182a576040805162461bcd60e51b81526020600482015260136024820152724d7573742070726f766964652068617368657360681b604482015290519081900360640190fd5b60005b818110156118765761185484828151811061184457fe5b602002602001015160001c611151565b60001b84828151811061186357fe5b602090810291909101015260010161182d565b6000805b6001841115611a52575060009150815b83831015611a4a578383600101106118a557600184036118aa565b826001015b91506002808785815181106118bb57fe5b60200260200101518885815181106118cf57fe5b602002602001015160405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061192c5780518252601f19909201916020918201910161190d565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561196b573d6000803e3d6000fd5b5050506040513d602081101561198057600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106119cc5780518252601f1990920191602091820191016119ad565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611a0b573d6000803e3d6000fd5b5050506040513d6020811015611a2057600080fd5b50518651879083908110611a3057fe5b60209081029190910101526002929092019160010161188a565b80935061187a565b611a628660008151811061184457fe5b9695505050505050565b611a746129d2565b611a7e83836122ff565b63ffffffff168152611a9283836050610993565b6060820152611aa1838361230e565b63ffffffff166040820152611ab6838361231d565b602082015292915050565b6000610100611ad08484610957565b1663ffffffff166000141590505b92915050565b611aec6129f9565b60606000605084019350611b008585612334565b92509050611b118585808403610993565b60208085019190915281019350611b2a85856000612360565b60e08501919091529350611b4085856020611567565b61010084015260049390930192611b5985856000612360565b60608501919091529350611b6f85856020611567565b608084015260049390930192611b8785856050610993565b835260249390930192611b9a8585612410565b60c084015260289390930192611bb285856020611567565b610120840152600484016101408401526000611bcd83612418565b60a08701525060408501525091949350505050565b6000816101000151600014611bfa575061274c611ade565b8160a00151600114611c11575060a0810151611ade565b8160400151611c2084846124e1565b14611c2e575061277e611ade565b8160c00151611c3c836124f6565b14611c4a5750612788611ade565b50600192915050565b6036546040805163a4cbce7b60e01b8152600481018790526001600160a01b038581166024830152868116604483015291516101009093049091169163a4cbce7b9160648082019260009290919082900301818387803b158015611cb657600080fd5b505af1158015611cca573d6000803e3d6000fd5b505060408051878152602081018590526001600160a01b0387168183015290517fcc11926aca009e381b48e432fbfb8e3f192d5d8be733dc474fa78831bbfdf0449350908190036060019150a1611d2084612513565b50505050565b600484015460009060031480611d4c5750600260365460ff166002811115611d4a57fe5b145b15611e65576060600260365460ff166002811115611d6657fe5b1415611d73576001611d76565b60045b60ff16604051908082528060200260200182016040528015611da2578160200160208202803883390190505b50905060005b6004870154811015611ded57866004018181548110611dc357fe5b9060005260206000200154828281518110611dda57fe5b6020908102919091010152600101611da8565b84828281518110611dfa57fe5b602002602001018181525050611e0f826117b4565b865114611e225761c37692505050611e84565b836040015163ffffffff16866020015114611e435761c37492505050611e84565b8560600151846060015114611e5e5761c38b92505050611e84565b5050611e80565b60048501805460018101825560009182526020909120018390555b5060005b949350505050565b6000611e96612988565b611e9e6129d2565b83600185510381518110611eae57fe5b60200260200101519050603760009054906101000a90046001600160a01b03166001600160a01b0316636e5b707186608001516040518263ffffffff1660e01b8152600401808281526020019150506101206040518083038186803b158015611f1657600080fd5b505afa158015611f2a573d6000803e3d6000fd5b505050506040513d610120811015611f4157600080fd5b5060408082015160608084015160809094015163ffffffff1660c08701528501929092528301526004860154600110611fa357816060015184600081518110611f8657fe5b60200260200101516020015114611fa35761c38d92505050610a51565b6000611fb487868560c00151612558565b90508015611fc6579250610a51915050565b8451600c14611fde576060820151600388015561221e565b6000611fe98661267c565b9050866040015181146120045761c397945050505050610a51565b8360400151811161201d5761c398945050505050610a51565b600260365460ff16600281111561203057fe5b1461221c57600660018860e001510363ffffffff168161204c57fe5b0663ffffffff16600014156121ca576120636129d2565b8660028851038151811061207357fe5b60209081029190910181015160375460e08b01516040805163c0dde98b60e01b815260051990920163ffffffff166004830152519294506001600160a01b0390911692632da8cffd92849263c0dde98b926024808301939192829003018186803b1580156120e057600080fd5b505afa1580156120f4573d6000803e3d6000fd5b505050506040513d602081101561210a57600080fd5b5051604080516001600160e01b031960e085901b1681526004810192909252516024808301926020929190829003018186803b15801561214957600080fd5b505afa15801561215d573d6000803e3d6000fd5b505050506040513d602081101561217357600080fd5b505160208901819052604082015160c087015160009261219a9263ffffffff1603906126e0565b90508063ffffffff168960c0015163ffffffff16146121c35761c3899650505050505050610a51565b50506121f3565b8360c0015163ffffffff168760c0015163ffffffff16146121f35761c390945050505050610a51565b826000015163ffffffff168760c0015163ffffffff161461221c5761c390945050505050610a51565b505b5060009695505050505050565b6036546040805163a4cbce7b60e01b8152600481018790526001600160a01b038681166024830152858116604483015291516101009093049091169163a4cbce7b9160648082019260009290919082900301818387803b15801561228e57600080fd5b505af11580156122a2573d6000803e3d6000fd5b505060408051878152602081018590526001600160a01b0386168183015290517fffa243eaeafd66e0a938ee0d270bbefd594e08a551dc29a9a44e39c719cfc79f9350908190036060019150a1611d2084612513565b303b155b90565b6000610a518383604801610957565b6000610a518383604401610957565b6024828201015160009060048301610b2c82611151565b60006060612345848460040161273b565b909250905061235484836127bd565b60040194909350915050565b606060008060006123718787610b41565b9650915084158061238157508185115b1561238d575080612390565b50835b6060816040519080825280602002602001820160405280156123bc578160200160208202803883390190505b50905060005b82811015612404576123dc6123d78a8a612410565b611151565b8282815181106123e857fe5b60209081029190910181019190915297909701966001016123c2565b50979596505050505050565b016020015190565b6000806000806000809050600063fabe6d6d60e01b905060006001600160e01b031990508751602089018181015b8082101561247b5784848351161415612470578561246957600482820384030196505b6001860195505b600182019150612446565b5050506002831061249d575060009550505060031901915061276090506124da565b82600114156124c7576124b08885612410565b9650506003199092019350600192506124da915050565b5060009550505060031901915061276a90505b9193909250565b6000610a51838360800151846060015161127b565b6000611ade6123d783602001518461010001518560e0015161127b565b600081815260336020526040812080546001600160a01b03199081168255600182018054909116905560028101829055600381018290559061103b6004830182612abb565b8151600090600019015b8015612605576125706129d2565b84828151811061257c57fe5b6020026020010151905061258e6129d2565b85600184038151811061259d57fe5b602002602001015190508551600c1415806125bb5750600186510383105b156125de57815163ffffffff8681169116146125de5761c38a9350505050610a51565b81602001518160600151146125fa5761c38c9350505050610a51565b505060001901612562565b508260008151811061261357fe5b60200260200101516000015163ffffffff168263ffffffff161461263a575061c38a610a51565b6004840154600211612672578260008151811061265357fe5b602002602001015160200151846003015414612672575061c393610a51565b5060009392505050565b6000612686612adc565b60005b600b8110156126cc578381600101815181106126a157fe5b60200260200101516040015163ffffffff168282600b81106126bf57fe5b6020020152600101612689565b506126d681612810565b60a0015192915050565b6000826143808110156126f65750614380612705565b61697881111561270557506169785b600061271084611791565b6154609083020490506001600160ec1b0381111561273257506001600160ec1b035b610b2c816128b2565b6000606060008061274c8686610b41565b955091508161277c5761275f8686610b41565b955091508161276d57600080fd5b6127778686610b41565b955091505b8160011461278957600080fd5b6024850194506127998686610b41565b9550905060606127ac8787848101610ada565b959091016004019694955050505050565b60008060006127cc8585610b41565b94509150600a82106127dd57600080fd5b60005b82811015612806576008850194506127f88686610b41565b8101955091506001016127e0565b5092949350505050565b60005b600b8110156128ae57600181015b600b8110156128a5578281600b811061283657fe5b60200201518383600b811061284757fe5b6020020151111561289d5760008383600b811061286057fe5b602002015190508382600b811061287357fe5b60200201518484600b811061288457fe5b6020020152808483600b811061289657fe5b6020020152505b600101612821565b50600101612813565b5050565b6000806128cb6128c184612943565b600701600361296b565b90506000600382116128f3576128ec8462ffffff1683600303600802612981565b905061290b565b612903846003840360080261296b565b62ffffff1690505b62800000811615612930576129278163ffffffff16600861296b565b90506001820191505b61293b826018612981565b179392505050565b6000815b80156129655761295881600161296b565b9050600182019150612947565b50919050565b60008160020a838161297957fe5b049392505050565b60020a0290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082015290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b60405180610160016040528060008152602001600081526020016000815260200160608152602001600081526020016000815260200160008152602001606081526020016000815260200160008152602001600081525090565b81548183558181111561103b5760008381526020902061103b918101908301612afb565b6040518060a0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008019168152602001606081525090565b5080546000825590600052602060002090810190612ad99190612afb565b50565b604051806101600160405280600b906020820280388339509192915050565b6122fc91905b80821115612b155760008155600101612b01565b509056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a72315820dd3833d482dec73d9fe07bb28dd719134e39843322bdf2b6d67e833c168e85db64736f6c634300050d0032", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063795ea18e116100b8578063df23ceb21161007c578063df23ceb214610816578063e177321614610851578063f1afcfa61461086e578063f871dfe814610876578063f91f681f14610893578063f9b5d7c0146108b657610137565b8063795ea18e14610652578063b6f6580a1461066f578063d0f9410b1461068c578063d1daeede14610739578063d5c9712f1461076d57610137565b80633e0e8a20116100ff5780633e0e8a201461038f578063455e6166146104ad5780634d7dcfbd146104b557806351fcf4311461057457806371a8c18a1461062157610137565b8063029c5e2a1461013c5780630c9897d2146101fb57806318b011de146102b65780632ef955e4146102be5780633678c14314610367575b600080fd5b6101e26004803603604081101561015257600080fd5b810190602081018135600160201b81111561016c57600080fd5b82018360208201111561017e57600080fd5b803590602001918460018302840111600160201b8311171561019f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610957915050565b6040805163ffffffff9092168252519081900360200190f35b6102a46004803603606081101561021157600080fd5b810190602081018135600160201b81111561022b57600080fd5b82018360208201111561023d57600080fd5b803590602001918460018302840111600160201b8311171561025e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610993565b60408051918252519081900360200190f35b6102a4610a58565b6102a4600480360360608110156102d457600080fd5b810190602081018135600160201b8111156102ee57600080fd5b82018360208201111561030057600080fd5b803590602001918460018302840111600160201b8311171561032157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610a5e565b61038d6004803603602081101561037d57600080fd5b50356001600160a01b0316610a83565b005b610438600480360360608110156103a557600080fd5b810190602081018135600160201b8111156103bf57600080fd5b8201836020820111156103d157600080fd5b803590602001918460018302840111600160201b831117156103f257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610ada565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047257818101518382015260200161045a565b50505050905090810190601f16801561049f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a4610b35565b61055b600480360360408110156104cb57600080fd5b810190602081018135600160201b8111156104e557600080fd5b8201836020820111156104f757600080fd5b803590602001918460018302840111600160201b8311171561051857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610b41915050565b6040805192835260208301919091528051918290030190f35b61038d6004803603606081101561058a57600080fd5b81359190810190604081016020820135600160201b8111156105ab57600080fd5b8201836020820111156105bd57600080fd5b803590602001918460018302840111600160201b831117156105de57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610bf4915050565b61063e6004803603602081101561063757600080fd5b5035611040565b604080519115158252519081900360200190f35b6102a46004803603602081101561066857600080fd5b5035611060565b6102a46004803603602081101561068557600080fd5b5035611151565b6102a4600480360360608110156106a257600080fd5b813591602081013591810190606081016040820135600160201b8111156106c857600080fd5b8201836020820111156106da57600080fd5b803590602001918460208302840111600160201b831117156106fb57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061127b945050505050565b61038d6004803603606081101561074f57600080fd5b508035906001600160a01b0360208201358116916040013516611495565b6102a46004803603606081101561078357600080fd5b810190602081018135600160201b81111561079d57600080fd5b8201836020820111156107af57600080fd5b803590602001918460018302840111600160201b831117156107d057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135611567565b61038d6004803603608081101561082c57600080fd5b5060ff813516906001600160a01b0360208201351690604081013590606001356115a9565b61063e6004803603602081101561086757600080fd5b5035611692565b6102a46116af565b6102a46004803603602081101561088c57600080fd5b50356116b5565b6102a4600480360360208110156108a957600080fd5b503563ffffffff16611791565b6102a4600480360360208110156108cc57600080fd5b810190602081018135600160201b8111156108e657600080fd5b8201836020820111156108f857600080fd5b803590602001918460208302840111600160201b8311171561091957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506117b4945050505050565b6000816020840101516040518160031a60008201538160021a60018201538160011a60028201538160001a60038201535160e01c949350505050565b6000610a4e60026109a5868686610a5e565b604051602001808281526020019150506040516020818303038152906040526040518082805190602001908083835b602083106109f35780518252601f1990920191602091820191016109d4565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015610a32573d6000803e3d6000fd5b5050506040513d6020811015610a4757600080fd5b5051611151565b90505b9392505050565b60355481565b60006040516020818486602089010160025afa610a7a57600080fd5b51949350505050565b60365461010090046001600160a01b0316158015610aa957506001600160a01b03811615155b610ab257600080fd5b603680546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6060600083830390506060816040519080825280601f01601f191660200182016040528015610b10576020820181803883390190505b5090508160208201838760208a010160045afa610b2c57600080fd5b95945050505050565b6729a2241af62c000081565b6000806000848481518110610b5257fe5b01602001516001949094019360f81c905060fd811015610b795760ff169150829050610bed565b8060ff1660fd1415610b9f57610b9185856010611567565b846002019250925050610bed565b8060ff1660fe1415610bc557610bb785856020611567565b846004019250925050610bed565b8060ff1660ff1415610beb57610bdd85856040611567565b846008019250925050610bed565b505b9250929050565b600083815260336020526040902080546001600160a01b0316338114610c1957600080fd5b6004820154600260365460ff166002811115610c3157fe5b14610c695760028111158015610c48575083601014155b80610c5f5750806003148015610c5f575083600c14155b15610c6957600080fd5b610c71612988565b60375460408051636e5b707160e01b8152600481018a905290516001600160a01b0390921691636e5b70719160248082019261012092909190829003018186803b158015610cbe57600080fd5b505afa158015610cd2573d6000803e3d6000fd5b505050506040513d610120811015610ce957600080fd5b50805160208083015160408085015160608087015160808089015160a08a0151610100909a015163ffffffff90811660e08d0152918b019990995290971660c08901528781019690965286820152858301919091529184528151888152888202810190910190915260009190878015610d6c578160200160208202803883390190505b509050606087604051908082528060200260200182016040528015610dab57816020015b610d986129d2565b815260200190600190039081610d905790505b5090506000805b8251811015610eee57610dc58b86611a6c565b838281518110610dd157fe5b60200260200101819052506000610dfe848381518110610ded57fe5b602002602001015160000151611791565b9050610e0a8c87611ac1565b15610e8257610e176129f9565b610e218d88611ae4565b90508181600001511115610e3b576127a693505050610eee565b6000610e61868581518110610e4c57fe5b60200260200101516060015160001c83611be2565b905080600114610e75579350610eee915050565b5061014001519550610eb6565b80848381518110610e8f57fe5b60200260200101516060015160001c1115610eaf57612792925050610eee565b8560500195505b838281518110610ec257fe5b602002602001015160600151858381518110610eda57fe5b602090810291909101015250600101610db2565b508015610f1e576001880154610f11908c9089906001600160a01b031684611c53565b505050505050505061103b565b610f498886610f2c866117b4565b85600187510381518110610f3c57fe5b6020026020010151611d26565b90508015610f72576001880154610f6d908c9089906001600160a01b031684611c53565b611032565b426002890155610f83888684611e8c565b90508015610fa7576001880154610f11908c9089906001600160a01b031684611c53565b88600c1480610fc65750600260365460ff166002811115610fc457fe5b145b15610fe7576001880154610f11908c9089906001600160a01b03168461222b565b604080518c81526001880160208201526001600160a01b0389168183015290517fbb00dcdc614e6421b964f0ebca4d1ce96e2a575d555e09012e6f36ed405b410a9181900360600190a15b50505050505050505b505050565b60008181526033602052604090206035546002909101540142115b919050565b600081815260336020526040812080546001600160a01b031661108257600080fd5b60355481600201540142111561114757805460018201546110b49185916001600160a01b03918216911661c36a611c53565b603660019054906101000a90046001600160a01b03166001600160a01b0316633352f1a4846040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561110f57600080fd5b505af1158015611123573d6000803e3d6000fd5b505050506040513d602081101561113957600080fd5b5061c36a925061105b915050565b5061c36e92915050565b60405160009060ff8316815382601e1a600182015382601d1a600282015382601c1a600382015382601b1a600482015382601a1a60058201538260191a60068201538260181a60078201538260171a60088201538260161a60098201538260151a600a8201538260141a600b8201538260131a600c8201538260121a600d8201538260111a600e8201538260101a600f82015382600f1a601082015382600e1a601182015382600d1a601282015382600c1a601382015382600b1a601482015382600a1a60158201538260091a60168201538260081a60178201538260071a60188201538260061a60198201538260051a601a8201538260041a601b8201538260031a601c8201538260021a601d8201538260011a601e8201538260001a601f8201535192915050565b8051600090815b818110156112c5576112a684828151811061129957fe5b6020026020010151611151565b8482815181106112b257fe5b6020908102919091010152600101611282565b506000806112d287611151565b90505b828210156114815760008583815181106112eb57fe5b602002602001015190506000806002898161130257fe5b066001141561131557508190508261131b565b50829050815b600280838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106113755780518252601f199092019160209182019101611356565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156113b4573d6000803e3d6000fd5b5050506040513d60208110156113c957600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106114155780518252601f1990920191602091820191016113f6565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611454573d6000803e3d6000fd5b5050506040513d602081101561146957600080fd5b505193506002890498506001850194505050506112d5565b61148a81611151565b979650505050505050565b60365461010090046001600160a01b03163381146114b257600080fd5b600084815260336020526040902080546001600160a01b0316156114d557600080fd5b80546001600160a01b038086166001600160a01b03199283161783556001830180549186169190921617905560006115106004830182612a53565b50426002820155604080518681526001600160a01b03808716602083015285168183015290517f3726b144f253954160bd0bb1f002a28f904f6e83596cbb62e9e1f2082644ca939181900360600190a15050505050565b6000805b600883048110156115a1578060080260020a858286018151811061158b57fe5b016020015160f81c02919091019060010161156b565b509392505050565b600054610100900460ff16806115c257506115c26122f8565b806115d0575060005460ff16155b61160b5760405162461bcd60e51b815260040180806020018281038252602e815260200180612b1a602e913960400191505060405180910390fd5b600054610100900460ff16158015611636576000805460ff1961ff0019909116610100171660011790555b6036805486919060ff1916600183600281111561164f57fe5b0217905550603780546001600160a01b0319166001600160a01b03861617905560348390556035829055801561168b576000805461ff00191690555b5050505050565b6000908152603360205260409020546001600160a01b0316151590565b60345481565b60006116bf612a77565b600083815260336020908152604091829020825160a08101845281546001600160a01b0390811682526001830154168184015260028201548185015260038201546060820152600482018054855181860281018601909652808652919492936080860193929083018282801561175457602002820191906000526020600020905b815481526020019060010190808311611740575b5050509190925250508151919250506001600160a01b031661177a57600091505061105b565b505060009081526033602052604090206004015490565b62ffffff8116630100000063ffffffff92831604909116600219016101000a0290565b805160009060018114156117df57826000815181106117cf57fe5b602002602001015191505061105b565b6000811161182a576040805162461bcd60e51b81526020600482015260136024820152724d7573742070726f766964652068617368657360681b604482015290519081900360640190fd5b60005b818110156118765761185484828151811061184457fe5b602002602001015160001c611151565b60001b84828151811061186357fe5b602090810291909101015260010161182d565b6000805b6001841115611a52575060009150815b83831015611a4a578383600101106118a557600184036118aa565b826001015b91506002808785815181106118bb57fe5b60200260200101518885815181106118cf57fe5b602002602001015160405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061192c5780518252601f19909201916020918201910161190d565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561196b573d6000803e3d6000fd5b5050506040513d602081101561198057600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106119cc5780518252601f1990920191602091820191016119ad565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611a0b573d6000803e3d6000fd5b5050506040513d6020811015611a2057600080fd5b50518651879083908110611a3057fe5b60209081029190910101526002929092019160010161188a565b80935061187a565b611a628660008151811061184457fe5b9695505050505050565b611a746129d2565b611a7e83836122ff565b63ffffffff168152611a9283836050610993565b6060820152611aa1838361230e565b63ffffffff166040820152611ab6838361231d565b602082015292915050565b6000610100611ad08484610957565b1663ffffffff166000141590505b92915050565b611aec6129f9565b60606000605084019350611b008585612334565b92509050611b118585808403610993565b60208085019190915281019350611b2a85856000612360565b60e08501919091529350611b4085856020611567565b61010084015260049390930192611b5985856000612360565b60608501919091529350611b6f85856020611567565b608084015260049390930192611b8785856050610993565b835260249390930192611b9a8585612410565b60c084015260289390930192611bb285856020611567565b610120840152600484016101408401526000611bcd83612418565b60a08701525060408501525091949350505050565b6000816101000151600014611bfa575061274c611ade565b8160a00151600114611c11575060a0810151611ade565b8160400151611c2084846124e1565b14611c2e575061277e611ade565b8160c00151611c3c836124f6565b14611c4a5750612788611ade565b50600192915050565b6036546040805163a4cbce7b60e01b8152600481018790526001600160a01b038581166024830152868116604483015291516101009093049091169163a4cbce7b9160648082019260009290919082900301818387803b158015611cb657600080fd5b505af1158015611cca573d6000803e3d6000fd5b505060408051878152602081018590526001600160a01b0387168183015290517fcc11926aca009e381b48e432fbfb8e3f192d5d8be733dc474fa78831bbfdf0449350908190036060019150a1611d2084612513565b50505050565b600484015460009060031480611d4c5750600260365460ff166002811115611d4a57fe5b145b15611e65576060600260365460ff166002811115611d6657fe5b1415611d73576001611d76565b60045b60ff16604051908082528060200260200182016040528015611da2578160200160208202803883390190505b50905060005b6004870154811015611ded57866004018181548110611dc357fe5b9060005260206000200154828281518110611dda57fe5b6020908102919091010152600101611da8565b84828281518110611dfa57fe5b602002602001018181525050611e0f826117b4565b865114611e225761c37692505050611e84565b836040015163ffffffff16866020015114611e435761c37492505050611e84565b8560600151846060015114611e5e5761c38b92505050611e84565b5050611e80565b60048501805460018101825560009182526020909120018390555b5060005b949350505050565b6000611e96612988565b611e9e6129d2565b83600185510381518110611eae57fe5b60200260200101519050603760009054906101000a90046001600160a01b03166001600160a01b0316636e5b707186608001516040518263ffffffff1660e01b8152600401808281526020019150506101206040518083038186803b158015611f1657600080fd5b505afa158015611f2a573d6000803e3d6000fd5b505050506040513d610120811015611f4157600080fd5b5060408082015160608084015160809094015163ffffffff1660c08701528501929092528301526004860154600110611fa357816060015184600081518110611f8657fe5b60200260200101516020015114611fa35761c38d92505050610a51565b6000611fb487868560c00151612558565b90508015611fc6579250610a51915050565b8451600c14611fde576060820151600388015561221e565b6000611fe98661267c565b9050866040015181146120045761c397945050505050610a51565b8360400151811161201d5761c398945050505050610a51565b600260365460ff16600281111561203057fe5b1461221c57600660018860e001510363ffffffff168161204c57fe5b0663ffffffff16600014156121ca576120636129d2565b8660028851038151811061207357fe5b60209081029190910181015160375460e08b01516040805163c0dde98b60e01b815260051990920163ffffffff166004830152519294506001600160a01b0390911692632da8cffd92849263c0dde98b926024808301939192829003018186803b1580156120e057600080fd5b505afa1580156120f4573d6000803e3d6000fd5b505050506040513d602081101561210a57600080fd5b5051604080516001600160e01b031960e085901b1681526004810192909252516024808301926020929190829003018186803b15801561214957600080fd5b505afa15801561215d573d6000803e3d6000fd5b505050506040513d602081101561217357600080fd5b505160208901819052604082015160c087015160009261219a9263ffffffff1603906126e0565b90508063ffffffff168960c0015163ffffffff16146121c35761c3899650505050505050610a51565b50506121f3565b8360c0015163ffffffff168760c0015163ffffffff16146121f35761c390945050505050610a51565b826000015163ffffffff168760c0015163ffffffff161461221c5761c390945050505050610a51565b505b5060009695505050505050565b6036546040805163a4cbce7b60e01b8152600481018790526001600160a01b038681166024830152858116604483015291516101009093049091169163a4cbce7b9160648082019260009290919082900301818387803b15801561228e57600080fd5b505af11580156122a2573d6000803e3d6000fd5b505060408051878152602081018590526001600160a01b0386168183015290517fffa243eaeafd66e0a938ee0d270bbefd594e08a551dc29a9a44e39c719cfc79f9350908190036060019150a1611d2084612513565b303b155b90565b6000610a518383604801610957565b6000610a518383604401610957565b6024828201015160009060048301610b2c82611151565b60006060612345848460040161273b565b909250905061235484836127bd565b60040194909350915050565b606060008060006123718787610b41565b9650915084158061238157508185115b1561238d575080612390565b50835b6060816040519080825280602002602001820160405280156123bc578160200160208202803883390190505b50905060005b82811015612404576123dc6123d78a8a612410565b611151565b8282815181106123e857fe5b60209081029190910181019190915297909701966001016123c2565b50979596505050505050565b016020015190565b6000806000806000809050600063fabe6d6d60e01b905060006001600160e01b031990508751602089018181015b8082101561247b5784848351161415612470578561246957600482820384030196505b6001860195505b600182019150612446565b5050506002831061249d575060009550505060031901915061276090506124da565b82600114156124c7576124b08885612410565b9650506003199092019350600192506124da915050565b5060009550505060031901915061276a90505b9193909250565b6000610a51838360800151846060015161127b565b6000611ade6123d783602001518461010001518560e0015161127b565b600081815260336020526040812080546001600160a01b03199081168255600182018054909116905560028101829055600381018290559061103b6004830182612abb565b8151600090600019015b8015612605576125706129d2565b84828151811061257c57fe5b6020026020010151905061258e6129d2565b85600184038151811061259d57fe5b602002602001015190508551600c1415806125bb5750600186510383105b156125de57815163ffffffff8681169116146125de5761c38a9350505050610a51565b81602001518160600151146125fa5761c38c9350505050610a51565b505060001901612562565b508260008151811061261357fe5b60200260200101516000015163ffffffff168263ffffffff161461263a575061c38a610a51565b6004840154600211612672578260008151811061265357fe5b602002602001015160200151846003015414612672575061c393610a51565b5060009392505050565b6000612686612adc565b60005b600b8110156126cc578381600101815181106126a157fe5b60200260200101516040015163ffffffff168282600b81106126bf57fe5b6020020152600101612689565b506126d681612810565b60a0015192915050565b6000826143808110156126f65750614380612705565b61697881111561270557506169785b600061271084611791565b6154609083020490506001600160ec1b0381111561273257506001600160ec1b035b610b2c816128b2565b6000606060008061274c8686610b41565b955091508161277c5761275f8686610b41565b955091508161276d57600080fd5b6127778686610b41565b955091505b8160011461278957600080fd5b6024850194506127998686610b41565b9550905060606127ac8787848101610ada565b959091016004019694955050505050565b60008060006127cc8585610b41565b94509150600a82106127dd57600080fd5b60005b82811015612806576008850194506127f88686610b41565b8101955091506001016127e0565b5092949350505050565b60005b600b8110156128ae57600181015b600b8110156128a5578281600b811061283657fe5b60200201518383600b811061284757fe5b6020020151111561289d5760008383600b811061286057fe5b602002015190508382600b811061287357fe5b60200201518484600b811061288457fe5b6020020152808483600b811061289657fe5b6020020152505b600101612821565b50600101612813565b5050565b6000806128cb6128c184612943565b600701600361296b565b90506000600382116128f3576128ec8462ffffff1683600303600802612981565b905061290b565b612903846003840360080261296b565b62ffffff1690505b62800000811615612930576129278163ffffffff16600861296b565b90506001820191505b61293b826018612981565b179392505050565b6000815b80156129655761295881600161296b565b9050600182019150612947565b50919050565b60008160020a838161297957fe5b049392505050565b60020a0290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082015290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b60405180610160016040528060008152602001600081526020016000815260200160608152602001600081526020016000815260200160008152602001606081526020016000815260200160008152602001600081525090565b81548183558181111561103b5760008381526020902061103b918101908301612afb565b6040518060a0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008019168152602001606081525090565b5080546000825590600052602060002090810190612ad99190612afb565b50565b604051806101600160405280600b906020820280388339509192915050565b6122fc91905b80821115612b155760008155600101612b01565b509056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a72315820dd3833d482dec73d9fe07bb28dd719134e39843322bdf2b6d67e833c168e85db64736f6c634300050d0032", + "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"err\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"name\":\"ChallengerConvicted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"name\":\"NewBattle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"merkleHashCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"}],\"name\":\"RespondBlockHeaders\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"err\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"}],\"name\":\"SubmitterConvicted\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"name\":\"beginBattleSession\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"bytesToUint32Flipped\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"result\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_txHash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_txIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_siblings\",\"type\":\"uint256[]\"}],\"name\":\"computeMerkle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_rawBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"}],\"name\":\"dblShaFlipMem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_input\",\"type\":\"uint256\"}],\"name\":\"flip32Bytes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"getBytesLE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getNumMerkleHashesBySession\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSubmitterHitTimeout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"enum SyscoinMessageLibrary.Network\",\"name\":\"_network\",\"type\":\"uint8\"},{\"internalType\":\"contract SyscoinSuperblocksI\",\"name\":\"_superblocks\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_superblockDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_superblockTimeout\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"}],\"name\":\"makeMerkle\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minProposalDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"parseVarInt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"blockHeaders\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"numHeaders\",\"type\":\"uint256\"}],\"name\":\"respondBlockHeaders\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"sessionExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contract SyscoinClaimManagerI\",\"name\":\"_syscoinClaimManager\",\"type\":\"address\"}],\"name\":\"setSyscoinClaimManager\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_rawBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"}],\"name\":\"sha256mem\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_rawBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endIndex\",\"type\":\"uint256\"}],\"name\":\"sliceArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"superblockDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"superblockTimeout\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_bits\",\"type\":\"uint32\"}],\"name\":\"targetFromBits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"timeout\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinBattleManager.sol\":\"SyscoinBattleManager\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinBattleManager.sol\":{\"keccak256\":\"0x3cbad50bdd0b1089476b92da394ce0e7b83c22b886ec1ea102a430f56fa196c6\",\"urls\":[\"bzz-raw://eab68d881184b8507a44791a9df346bc1de449207e2feea0d1fb87179046051d\",\"dweb:/ipfs/QmbssfdM6eEVJ74d8kNYHWSUUvAWW8f5dnjE85uFJ8XXeU\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinErrorCodes.sol\":{\"keccak256\":\"0x02931f928c2e9680efca3cf47c69a1dc441d9c61dc903d7a8dc9b37a80d1d67f\",\"urls\":[\"bzz-raw://a54ffdf18cd31b84a118b424b670e22d1c91fb1721edbfd00cf671b9a1de928c\",\"dweb:/ipfs/QmQYNCXgBzerzAEuZ1KYhgC7MymqiFtDMcAaFJf6yxv3GU\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinParser/SyscoinMessageLibrary.sol\":{\"keccak256\":\"0x296fe04ab670e2175c98002b4ef8a29326eac21f7b5bdc1ee9e6b0bbfca1edb8\",\"urls\":[\"bzz-raw://4d5cfa73287f660d5cc53de52cb6c1cc3e491740fb375626444552595b22f772\",\"dweb:/ipfs/QmYXQvrH337T8zppKFnvfaNx1Y7uoJ9EjFNXXij78kn1E1\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinClaimManagerI.sol\":{\"keccak256\":\"0x10621a56230a5720fce059a05915eceb0277cd955bbb1ad9f109ce6c247a5638\",\"urls\":[\"bzz-raw://c0fdbc1c8d02f6c62e4e8cabf044e85b805a21e6e7b13c6f304541707a5a3355\",\"dweb:/ipfs/QmSK8E13yiYq1AVHtfJbUvijVkjebvxdoixXvUVSAkz5eX\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol\":{\"keccak256\":\"0x22ae5cd6c18f335811f46caab9c4f911daef746306114dc86c964f39b4aff0ff\",\"urls\":[\"bzz-raw://7755b0206b8e358b313589d9e47f9491f0d002ba509bc2b11d1bd2463f0f0c84\",\"dweb:/ipfs/QmbiEPAhnUCd3ydxQj8NVYFM2bDpRRezhxfLoqdnuhbPnD\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0xf79d9851c085aa8412e87d7a26d3485488fe12538ecb4e317ce41fc1f2c3a16a\",\"urls\":[\"bzz-raw://6af1a35ad6aed2169ce9f44095438b3192cd6066903908f769d5c49a06a0caf8\",\"dweb:/ipfs/QmaH41CwJ7WrMQwSnbfCKuL2pd8bxF7sbGSLPZb6JaHBFF\"]},\"solidity-rlp/contracts/RLPReader.sol\":{\"keccak256\":\"0xe2df62ba34ab569e097c58eee30eb9fdab120d4df1c572c6ceae1bec3faa2c2a\",\"urls\":[\"bzz-raw://46988aac4691b498d4c6983c7617de6d29cd5d7fe4e3ecfb7f8c0d00e33e9a12\",\"dweb:/ipfs/QmdWF9ti9UJSP2E7XYkdUPRV9yfmxEmuRgzpNtt3Ex57Ar\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50612b7c806100206000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063795ea18e116100b8578063df23ceb21161007c578063df23ceb214610816578063e177321614610851578063f1afcfa61461086e578063f871dfe814610876578063f91f681f14610893578063f9b5d7c0146108b657610137565b8063795ea18e14610652578063b6f6580a1461066f578063d0f9410b1461068c578063d1daeede14610739578063d5c9712f1461076d57610137565b80633e0e8a20116100ff5780633e0e8a201461038f578063455e6166146104ad5780634d7dcfbd146104b557806351fcf4311461057457806371a8c18a1461062157610137565b8063029c5e2a1461013c5780630c9897d2146101fb57806318b011de146102b65780632ef955e4146102be5780633678c14314610367575b600080fd5b6101e26004803603604081101561015257600080fd5b810190602081018135600160201b81111561016c57600080fd5b82018360208201111561017e57600080fd5b803590602001918460018302840111600160201b8311171561019f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610957915050565b6040805163ffffffff9092168252519081900360200190f35b6102a46004803603606081101561021157600080fd5b810190602081018135600160201b81111561022b57600080fd5b82018360208201111561023d57600080fd5b803590602001918460018302840111600160201b8311171561025e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610993565b60408051918252519081900360200190f35b6102a4610a58565b6102a4600480360360608110156102d457600080fd5b810190602081018135600160201b8111156102ee57600080fd5b82018360208201111561030057600080fd5b803590602001918460018302840111600160201b8311171561032157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610a5e565b61038d6004803603602081101561037d57600080fd5b50356001600160a01b0316610a83565b005b610438600480360360608110156103a557600080fd5b810190602081018135600160201b8111156103bf57600080fd5b8201836020820111156103d157600080fd5b803590602001918460018302840111600160201b831117156103f257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610ada565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047257818101518382015260200161045a565b50505050905090810190601f16801561049f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a4610b35565b61055b600480360360408110156104cb57600080fd5b810190602081018135600160201b8111156104e557600080fd5b8201836020820111156104f757600080fd5b803590602001918460018302840111600160201b8311171561051857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610b41915050565b6040805192835260208301919091528051918290030190f35b61038d6004803603606081101561058a57600080fd5b81359190810190604081016020820135600160201b8111156105ab57600080fd5b8201836020820111156105bd57600080fd5b803590602001918460018302840111600160201b831117156105de57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610bf4915050565b61063e6004803603602081101561063757600080fd5b5035611040565b604080519115158252519081900360200190f35b6102a46004803603602081101561066857600080fd5b5035611060565b6102a46004803603602081101561068557600080fd5b5035611151565b6102a4600480360360608110156106a257600080fd5b813591602081013591810190606081016040820135600160201b8111156106c857600080fd5b8201836020820111156106da57600080fd5b803590602001918460208302840111600160201b831117156106fb57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061127b945050505050565b61038d6004803603606081101561074f57600080fd5b508035906001600160a01b0360208201358116916040013516611495565b6102a46004803603606081101561078357600080fd5b810190602081018135600160201b81111561079d57600080fd5b8201836020820111156107af57600080fd5b803590602001918460018302840111600160201b831117156107d057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135611567565b61038d6004803603608081101561082c57600080fd5b5060ff813516906001600160a01b0360208201351690604081013590606001356115a9565b61063e6004803603602081101561086757600080fd5b5035611692565b6102a46116af565b6102a46004803603602081101561088c57600080fd5b50356116b5565b6102a4600480360360208110156108a957600080fd5b503563ffffffff16611791565b6102a4600480360360208110156108cc57600080fd5b810190602081018135600160201b8111156108e657600080fd5b8201836020820111156108f857600080fd5b803590602001918460208302840111600160201b8311171561091957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506117b4945050505050565b6000816020840101516040518160031a60008201538160021a60018201538160011a60028201538160001a60038201535160e01c949350505050565b6000610a4e60026109a5868686610a5e565b604051602001808281526020019150506040516020818303038152906040526040518082805190602001908083835b602083106109f35780518252601f1990920191602091820191016109d4565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015610a32573d6000803e3d6000fd5b5050506040513d6020811015610a4757600080fd5b5051611151565b90505b9392505050565b60355481565b60006040516020818486602089010160025afa610a7a57600080fd5b51949350505050565b60365461010090046001600160a01b0316158015610aa957506001600160a01b03811615155b610ab257600080fd5b603680546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6060600083830390506060816040519080825280601f01601f191660200182016040528015610b10576020820181803883390190505b5090508160208201838760208a010160045afa610b2c57600080fd5b95945050505050565b6729a2241af62c000081565b6000806000848481518110610b5257fe5b01602001516001949094019360f81c905060fd811015610b795760ff169150829050610bed565b8060ff1660fd1415610b9f57610b9185856010611567565b846002019250925050610bed565b8060ff1660fe1415610bc557610bb785856020611567565b846004019250925050610bed565b8060ff1660ff1415610beb57610bdd85856040611567565b846008019250925050610bed565b505b9250929050565b600083815260336020526040902080546001600160a01b0316338114610c1957600080fd5b6004820154600260365460ff166002811115610c3157fe5b14610c695760028111158015610c48575083601014155b80610c5f5750806003148015610c5f575083600c14155b15610c6957600080fd5b610c71612988565b60375460408051636e5b707160e01b8152600481018a905290516001600160a01b0390921691636e5b70719160248082019261012092909190829003018186803b158015610cbe57600080fd5b505afa158015610cd2573d6000803e3d6000fd5b505050506040513d610120811015610ce957600080fd5b50805160208083015160408085015160608087015160808089015160a08a0151610100909a015163ffffffff90811660e08d0152918b019990995290971660c08901528781019690965286820152858301919091529184528151888152888202810190910190915260009190878015610d6c578160200160208202803883390190505b509050606087604051908082528060200260200182016040528015610dab57816020015b610d986129d2565b815260200190600190039081610d905790505b5090506000805b8251811015610eee57610dc58b86611a6c565b838281518110610dd157fe5b60200260200101819052506000610dfe848381518110610ded57fe5b602002602001015160000151611791565b9050610e0a8c87611ac1565b15610e8257610e176129f9565b610e218d88611ae4565b90508181600001511115610e3b576127a693505050610eee565b6000610e61868581518110610e4c57fe5b60200260200101516060015160001c83611be2565b905080600114610e75579350610eee915050565b5061014001519550610eb6565b80848381518110610e8f57fe5b60200260200101516060015160001c1115610eaf57612792925050610eee565b8560500195505b838281518110610ec257fe5b602002602001015160600151858381518110610eda57fe5b602090810291909101015250600101610db2565b508015610f1e576001880154610f11908c9089906001600160a01b031684611c53565b505050505050505061103b565b610f498886610f2c866117b4565b85600187510381518110610f3c57fe5b6020026020010151611d26565b90508015610f72576001880154610f6d908c9089906001600160a01b031684611c53565b611032565b426002890155610f83888684611e8c565b90508015610fa7576001880154610f11908c9089906001600160a01b031684611c53565b88600c1480610fc65750600260365460ff166002811115610fc457fe5b145b15610fe7576001880154610f11908c9089906001600160a01b03168461222b565b604080518c81526001880160208201526001600160a01b0389168183015290517fbb00dcdc614e6421b964f0ebca4d1ce96e2a575d555e09012e6f36ed405b410a9181900360600190a15b50505050505050505b505050565b60008181526033602052604090206035546002909101540142115b919050565b600081815260336020526040812080546001600160a01b031661108257600080fd5b60355481600201540142111561114757805460018201546110b49185916001600160a01b03918216911661c36a611c53565b603660019054906101000a90046001600160a01b03166001600160a01b0316633352f1a4846040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561110f57600080fd5b505af1158015611123573d6000803e3d6000fd5b505050506040513d602081101561113957600080fd5b5061c36a925061105b915050565b5061c36e92915050565b60405160009060ff8316815382601e1a600182015382601d1a600282015382601c1a600382015382601b1a600482015382601a1a60058201538260191a60068201538260181a60078201538260171a60088201538260161a60098201538260151a600a8201538260141a600b8201538260131a600c8201538260121a600d8201538260111a600e8201538260101a600f82015382600f1a601082015382600e1a601182015382600d1a601282015382600c1a601382015382600b1a601482015382600a1a60158201538260091a60168201538260081a60178201538260071a60188201538260061a60198201538260051a601a8201538260041a601b8201538260031a601c8201538260021a601d8201538260011a601e8201538260001a601f8201535192915050565b8051600090815b818110156112c5576112a684828151811061129957fe5b6020026020010151611151565b8482815181106112b257fe5b6020908102919091010152600101611282565b506000806112d287611151565b90505b828210156114815760008583815181106112eb57fe5b602002602001015190506000806002898161130257fe5b066001141561131557508190508261131b565b50829050815b600280838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106113755780518252601f199092019160209182019101611356565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156113b4573d6000803e3d6000fd5b5050506040513d60208110156113c957600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106114155780518252601f1990920191602091820191016113f6565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611454573d6000803e3d6000fd5b5050506040513d602081101561146957600080fd5b505193506002890498506001850194505050506112d5565b61148a81611151565b979650505050505050565b60365461010090046001600160a01b03163381146114b257600080fd5b600084815260336020526040902080546001600160a01b0316156114d557600080fd5b80546001600160a01b038086166001600160a01b03199283161783556001830180549186169190921617905560006115106004830182612a53565b50426002820155604080518681526001600160a01b03808716602083015285168183015290517f3726b144f253954160bd0bb1f002a28f904f6e83596cbb62e9e1f2082644ca939181900360600190a15050505050565b6000805b600883048110156115a1578060080260020a858286018151811061158b57fe5b016020015160f81c02919091019060010161156b565b509392505050565b600054610100900460ff16806115c257506115c26122f8565b806115d0575060005460ff16155b61160b5760405162461bcd60e51b815260040180806020018281038252602e815260200180612b1a602e913960400191505060405180910390fd5b600054610100900460ff16158015611636576000805460ff1961ff0019909116610100171660011790555b6036805486919060ff1916600183600281111561164f57fe5b0217905550603780546001600160a01b0319166001600160a01b03861617905560348390556035829055801561168b576000805461ff00191690555b5050505050565b6000908152603360205260409020546001600160a01b0316151590565b60345481565b60006116bf612a77565b600083815260336020908152604091829020825160a08101845281546001600160a01b0390811682526001830154168184015260028201548185015260038201546060820152600482018054855181860281018601909652808652919492936080860193929083018282801561175457602002820191906000526020600020905b815481526020019060010190808311611740575b5050509190925250508151919250506001600160a01b031661177a57600091505061105b565b505060009081526033602052604090206004015490565b62ffffff8116630100000063ffffffff92831604909116600219016101000a0290565b805160009060018114156117df57826000815181106117cf57fe5b602002602001015191505061105b565b6000811161182a576040805162461bcd60e51b81526020600482015260136024820152724d7573742070726f766964652068617368657360681b604482015290519081900360640190fd5b60005b818110156118765761185484828151811061184457fe5b602002602001015160001c611151565b60001b84828151811061186357fe5b602090810291909101015260010161182d565b6000805b6001841115611a52575060009150815b83831015611a4a578383600101106118a557600184036118aa565b826001015b91506002808785815181106118bb57fe5b60200260200101518885815181106118cf57fe5b602002602001015160405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061192c5780518252601f19909201916020918201910161190d565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561196b573d6000803e3d6000fd5b5050506040513d602081101561198057600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106119cc5780518252601f1990920191602091820191016119ad565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611a0b573d6000803e3d6000fd5b5050506040513d6020811015611a2057600080fd5b50518651879083908110611a3057fe5b60209081029190910101526002929092019160010161188a565b80935061187a565b611a628660008151811061184457fe5b9695505050505050565b611a746129d2565b611a7e83836122ff565b63ffffffff168152611a9283836050610993565b6060820152611aa1838361230e565b63ffffffff166040820152611ab6838361231d565b602082015292915050565b6000610100611ad08484610957565b1663ffffffff166000141590505b92915050565b611aec6129f9565b60606000605084019350611b008585612334565b92509050611b118585808403610993565b60208085019190915281019350611b2a85856000612360565b60e08501919091529350611b4085856020611567565b61010084015260049390930192611b5985856000612360565b60608501919091529350611b6f85856020611567565b608084015260049390930192611b8785856050610993565b835260249390930192611b9a8585612410565b60c084015260289390930192611bb285856020611567565b610120840152600484016101408401526000611bcd83612418565b60a08701525060408501525091949350505050565b6000816101000151600014611bfa575061274c611ade565b8160a00151600114611c11575060a0810151611ade565b8160400151611c2084846124e1565b14611c2e575061277e611ade565b8160c00151611c3c836124f6565b14611c4a5750612788611ade565b50600192915050565b6036546040805163a4cbce7b60e01b8152600481018790526001600160a01b038581166024830152868116604483015291516101009093049091169163a4cbce7b9160648082019260009290919082900301818387803b158015611cb657600080fd5b505af1158015611cca573d6000803e3d6000fd5b505060408051878152602081018590526001600160a01b0387168183015290517fcc11926aca009e381b48e432fbfb8e3f192d5d8be733dc474fa78831bbfdf0449350908190036060019150a1611d2084612513565b50505050565b600484015460009060031480611d4c5750600260365460ff166002811115611d4a57fe5b145b15611e65576060600260365460ff166002811115611d6657fe5b1415611d73576001611d76565b60045b60ff16604051908082528060200260200182016040528015611da2578160200160208202803883390190505b50905060005b6004870154811015611ded57866004018181548110611dc357fe5b9060005260206000200154828281518110611dda57fe5b6020908102919091010152600101611da8565b84828281518110611dfa57fe5b602002602001018181525050611e0f826117b4565b865114611e225761c37692505050611e84565b836040015163ffffffff16866020015114611e435761c37492505050611e84565b8560600151846060015114611e5e5761c38b92505050611e84565b5050611e80565b60048501805460018101825560009182526020909120018390555b5060005b949350505050565b6000611e96612988565b611e9e6129d2565b83600185510381518110611eae57fe5b60200260200101519050603760009054906101000a90046001600160a01b03166001600160a01b0316636e5b707186608001516040518263ffffffff1660e01b8152600401808281526020019150506101206040518083038186803b158015611f1657600080fd5b505afa158015611f2a573d6000803e3d6000fd5b505050506040513d610120811015611f4157600080fd5b5060408082015160608084015160809094015163ffffffff1660c08701528501929092528301526004860154600110611fa357816060015184600081518110611f8657fe5b60200260200101516020015114611fa35761c38d92505050610a51565b6000611fb487868560c00151612558565b90508015611fc6579250610a51915050565b8451600c14611fde576060820151600388015561221e565b6000611fe98661267c565b9050866040015181146120045761c397945050505050610a51565b8360400151811161201d5761c398945050505050610a51565b600260365460ff16600281111561203057fe5b1461221c57600660018860e001510363ffffffff168161204c57fe5b0663ffffffff16600014156121ca576120636129d2565b8660028851038151811061207357fe5b60209081029190910181015160375460e08b01516040805163c0dde98b60e01b815260051990920163ffffffff166004830152519294506001600160a01b0390911692632da8cffd92849263c0dde98b926024808301939192829003018186803b1580156120e057600080fd5b505afa1580156120f4573d6000803e3d6000fd5b505050506040513d602081101561210a57600080fd5b5051604080516001600160e01b031960e085901b1681526004810192909252516024808301926020929190829003018186803b15801561214957600080fd5b505afa15801561215d573d6000803e3d6000fd5b505050506040513d602081101561217357600080fd5b505160208901819052604082015160c087015160009261219a9263ffffffff1603906126e0565b90508063ffffffff168960c0015163ffffffff16146121c35761c3899650505050505050610a51565b50506121f3565b8360c0015163ffffffff168760c0015163ffffffff16146121f35761c390945050505050610a51565b826000015163ffffffff168760c0015163ffffffff161461221c5761c390945050505050610a51565b505b5060009695505050505050565b6036546040805163a4cbce7b60e01b8152600481018790526001600160a01b038681166024830152858116604483015291516101009093049091169163a4cbce7b9160648082019260009290919082900301818387803b15801561228e57600080fd5b505af11580156122a2573d6000803e3d6000fd5b505060408051878152602081018590526001600160a01b0386168183015290517fffa243eaeafd66e0a938ee0d270bbefd594e08a551dc29a9a44e39c719cfc79f9350908190036060019150a1611d2084612513565b303b155b90565b6000610a518383604801610957565b6000610a518383604401610957565b6024828201015160009060048301610b2c82611151565b60006060612345848460040161273b565b909250905061235484836127bd565b60040194909350915050565b606060008060006123718787610b41565b9650915084158061238157508185115b1561238d575080612390565b50835b6060816040519080825280602002602001820160405280156123bc578160200160208202803883390190505b50905060005b82811015612404576123dc6123d78a8a612410565b611151565b8282815181106123e857fe5b60209081029190910181019190915297909701966001016123c2565b50979596505050505050565b016020015190565b6000806000806000809050600063fabe6d6d60e01b905060006001600160e01b031990508751602089018181015b8082101561247b5784848351161415612470578561246957600482820384030196505b6001860195505b600182019150612446565b5050506002831061249d575060009550505060031901915061276090506124da565b82600114156124c7576124b08885612410565b9650506003199092019350600192506124da915050565b5060009550505060031901915061276a90505b9193909250565b6000610a51838360800151846060015161127b565b6000611ade6123d783602001518461010001518560e0015161127b565b600081815260336020526040812080546001600160a01b03199081168255600182018054909116905560028101829055600381018290559061103b6004830182612abb565b8151600090600019015b8015612605576125706129d2565b84828151811061257c57fe5b6020026020010151905061258e6129d2565b85600184038151811061259d57fe5b602002602001015190508551600c1415806125bb5750600186510383105b156125de57815163ffffffff8681169116146125de5761c38a9350505050610a51565b81602001518160600151146125fa5761c38c9350505050610a51565b505060001901612562565b508260008151811061261357fe5b60200260200101516000015163ffffffff168263ffffffff161461263a575061c38a610a51565b6004840154600211612672578260008151811061265357fe5b602002602001015160200151846003015414612672575061c393610a51565b5060009392505050565b6000612686612adc565b60005b600b8110156126cc578381600101815181106126a157fe5b60200260200101516040015163ffffffff168282600b81106126bf57fe5b6020020152600101612689565b506126d681612810565b60a0015192915050565b6000826143808110156126f65750614380612705565b61697881111561270557506169785b600061271084611791565b6154609083020490506001600160ec1b0381111561273257506001600160ec1b035b610b2c816128b2565b6000606060008061274c8686610b41565b955091508161277c5761275f8686610b41565b955091508161276d57600080fd5b6127778686610b41565b955091505b8160011461278957600080fd5b6024850194506127998686610b41565b9550905060606127ac8787848101610ada565b959091016004019694955050505050565b60008060006127cc8585610b41565b94509150600a82106127dd57600080fd5b60005b82811015612806576008850194506127f88686610b41565b8101955091506001016127e0565b5092949350505050565b60005b600b8110156128ae57600181015b600b8110156128a5578281600b811061283657fe5b60200201518383600b811061284757fe5b6020020151111561289d5760008383600b811061286057fe5b602002015190508382600b811061287357fe5b60200201518484600b811061288457fe5b6020020152808483600b811061289657fe5b6020020152505b600101612821565b50600101612813565b5050565b6000806128cb6128c184612943565b600701600361296b565b90506000600382116128f3576128ec8462ffffff1683600303600802612981565b905061290b565b612903846003840360080261296b565b62ffffff1690505b62800000811615612930576129278163ffffffff16600861296b565b90506001820191505b61293b826018612981565b179392505050565b6000815b80156129655761295881600161296b565b9050600182019150612947565b50919050565b60008160020a838161297957fe5b049392505050565b60020a0290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082015290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b60405180610160016040528060008152602001600081526020016000815260200160608152602001600081526020016000815260200160008152602001606081526020016000815260200160008152602001600081525090565b81548183558181111561103b5760008381526020902061103b918101908301612afb565b6040518060a0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008019168152602001606081525090565b5080546000825590600052602060002090810190612ad99190612afb565b50565b604051806101600160405280600b906020820280388339509192915050565b6122fc91905b80821115612b155760008155600101612b01565b509056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a723158206b0f2dac1eee21101773345419d39c3475c5ae0542b343a8f2e94c874e47be1864736f6c634300050d0032", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063795ea18e116100b8578063df23ceb21161007c578063df23ceb214610816578063e177321614610851578063f1afcfa61461086e578063f871dfe814610876578063f91f681f14610893578063f9b5d7c0146108b657610137565b8063795ea18e14610652578063b6f6580a1461066f578063d0f9410b1461068c578063d1daeede14610739578063d5c9712f1461076d57610137565b80633e0e8a20116100ff5780633e0e8a201461038f578063455e6166146104ad5780634d7dcfbd146104b557806351fcf4311461057457806371a8c18a1461062157610137565b8063029c5e2a1461013c5780630c9897d2146101fb57806318b011de146102b65780632ef955e4146102be5780633678c14314610367575b600080fd5b6101e26004803603604081101561015257600080fd5b810190602081018135600160201b81111561016c57600080fd5b82018360208201111561017e57600080fd5b803590602001918460018302840111600160201b8311171561019f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610957915050565b6040805163ffffffff9092168252519081900360200190f35b6102a46004803603606081101561021157600080fd5b810190602081018135600160201b81111561022b57600080fd5b82018360208201111561023d57600080fd5b803590602001918460018302840111600160201b8311171561025e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610993565b60408051918252519081900360200190f35b6102a4610a58565b6102a4600480360360608110156102d457600080fd5b810190602081018135600160201b8111156102ee57600080fd5b82018360208201111561030057600080fd5b803590602001918460018302840111600160201b8311171561032157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610a5e565b61038d6004803603602081101561037d57600080fd5b50356001600160a01b0316610a83565b005b610438600480360360608110156103a557600080fd5b810190602081018135600160201b8111156103bf57600080fd5b8201836020820111156103d157600080fd5b803590602001918460018302840111600160201b831117156103f257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610ada565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047257818101518382015260200161045a565b50505050905090810190601f16801561049f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a4610b35565b61055b600480360360408110156104cb57600080fd5b810190602081018135600160201b8111156104e557600080fd5b8201836020820111156104f757600080fd5b803590602001918460018302840111600160201b8311171561051857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610b41915050565b6040805192835260208301919091528051918290030190f35b61038d6004803603606081101561058a57600080fd5b81359190810190604081016020820135600160201b8111156105ab57600080fd5b8201836020820111156105bd57600080fd5b803590602001918460018302840111600160201b831117156105de57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610bf4915050565b61063e6004803603602081101561063757600080fd5b5035611040565b604080519115158252519081900360200190f35b6102a46004803603602081101561066857600080fd5b5035611060565b6102a46004803603602081101561068557600080fd5b5035611151565b6102a4600480360360608110156106a257600080fd5b813591602081013591810190606081016040820135600160201b8111156106c857600080fd5b8201836020820111156106da57600080fd5b803590602001918460208302840111600160201b831117156106fb57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061127b945050505050565b61038d6004803603606081101561074f57600080fd5b508035906001600160a01b0360208201358116916040013516611495565b6102a46004803603606081101561078357600080fd5b810190602081018135600160201b81111561079d57600080fd5b8201836020820111156107af57600080fd5b803590602001918460018302840111600160201b831117156107d057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135611567565b61038d6004803603608081101561082c57600080fd5b5060ff813516906001600160a01b0360208201351690604081013590606001356115a9565b61063e6004803603602081101561086757600080fd5b5035611692565b6102a46116af565b6102a46004803603602081101561088c57600080fd5b50356116b5565b6102a4600480360360208110156108a957600080fd5b503563ffffffff16611791565b6102a4600480360360208110156108cc57600080fd5b810190602081018135600160201b8111156108e657600080fd5b8201836020820111156108f857600080fd5b803590602001918460208302840111600160201b8311171561091957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506117b4945050505050565b6000816020840101516040518160031a60008201538160021a60018201538160011a60028201538160001a60038201535160e01c949350505050565b6000610a4e60026109a5868686610a5e565b604051602001808281526020019150506040516020818303038152906040526040518082805190602001908083835b602083106109f35780518252601f1990920191602091820191016109d4565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015610a32573d6000803e3d6000fd5b5050506040513d6020811015610a4757600080fd5b5051611151565b90505b9392505050565b60355481565b60006040516020818486602089010160025afa610a7a57600080fd5b51949350505050565b60365461010090046001600160a01b0316158015610aa957506001600160a01b03811615155b610ab257600080fd5b603680546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6060600083830390506060816040519080825280601f01601f191660200182016040528015610b10576020820181803883390190505b5090508160208201838760208a010160045afa610b2c57600080fd5b95945050505050565b6729a2241af62c000081565b6000806000848481518110610b5257fe5b01602001516001949094019360f81c905060fd811015610b795760ff169150829050610bed565b8060ff1660fd1415610b9f57610b9185856010611567565b846002019250925050610bed565b8060ff1660fe1415610bc557610bb785856020611567565b846004019250925050610bed565b8060ff1660ff1415610beb57610bdd85856040611567565b846008019250925050610bed565b505b9250929050565b600083815260336020526040902080546001600160a01b0316338114610c1957600080fd5b6004820154600260365460ff166002811115610c3157fe5b14610c695760028111158015610c48575083601014155b80610c5f5750806003148015610c5f575083600c14155b15610c6957600080fd5b610c71612988565b60375460408051636e5b707160e01b8152600481018a905290516001600160a01b0390921691636e5b70719160248082019261012092909190829003018186803b158015610cbe57600080fd5b505afa158015610cd2573d6000803e3d6000fd5b505050506040513d610120811015610ce957600080fd5b50805160208083015160408085015160608087015160808089015160a08a0151610100909a015163ffffffff90811660e08d0152918b019990995290971660c08901528781019690965286820152858301919091529184528151888152888202810190910190915260009190878015610d6c578160200160208202803883390190505b509050606087604051908082528060200260200182016040528015610dab57816020015b610d986129d2565b815260200190600190039081610d905790505b5090506000805b8251811015610eee57610dc58b86611a6c565b838281518110610dd157fe5b60200260200101819052506000610dfe848381518110610ded57fe5b602002602001015160000151611791565b9050610e0a8c87611ac1565b15610e8257610e176129f9565b610e218d88611ae4565b90508181600001511115610e3b576127a693505050610eee565b6000610e61868581518110610e4c57fe5b60200260200101516060015160001c83611be2565b905080600114610e75579350610eee915050565b5061014001519550610eb6565b80848381518110610e8f57fe5b60200260200101516060015160001c1115610eaf57612792925050610eee565b8560500195505b838281518110610ec257fe5b602002602001015160600151858381518110610eda57fe5b602090810291909101015250600101610db2565b508015610f1e576001880154610f11908c9089906001600160a01b031684611c53565b505050505050505061103b565b610f498886610f2c866117b4565b85600187510381518110610f3c57fe5b6020026020010151611d26565b90508015610f72576001880154610f6d908c9089906001600160a01b031684611c53565b611032565b426002890155610f83888684611e8c565b90508015610fa7576001880154610f11908c9089906001600160a01b031684611c53565b88600c1480610fc65750600260365460ff166002811115610fc457fe5b145b15610fe7576001880154610f11908c9089906001600160a01b03168461222b565b604080518c81526001880160208201526001600160a01b0389168183015290517fbb00dcdc614e6421b964f0ebca4d1ce96e2a575d555e09012e6f36ed405b410a9181900360600190a15b50505050505050505b505050565b60008181526033602052604090206035546002909101540142115b919050565b600081815260336020526040812080546001600160a01b031661108257600080fd5b60355481600201540142111561114757805460018201546110b49185916001600160a01b03918216911661c36a611c53565b603660019054906101000a90046001600160a01b03166001600160a01b0316633352f1a4846040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561110f57600080fd5b505af1158015611123573d6000803e3d6000fd5b505050506040513d602081101561113957600080fd5b5061c36a925061105b915050565b5061c36e92915050565b60405160009060ff8316815382601e1a600182015382601d1a600282015382601c1a600382015382601b1a600482015382601a1a60058201538260191a60068201538260181a60078201538260171a60088201538260161a60098201538260151a600a8201538260141a600b8201538260131a600c8201538260121a600d8201538260111a600e8201538260101a600f82015382600f1a601082015382600e1a601182015382600d1a601282015382600c1a601382015382600b1a601482015382600a1a60158201538260091a60168201538260081a60178201538260071a60188201538260061a60198201538260051a601a8201538260041a601b8201538260031a601c8201538260021a601d8201538260011a601e8201538260001a601f8201535192915050565b8051600090815b818110156112c5576112a684828151811061129957fe5b6020026020010151611151565b8482815181106112b257fe5b6020908102919091010152600101611282565b506000806112d287611151565b90505b828210156114815760008583815181106112eb57fe5b602002602001015190506000806002898161130257fe5b066001141561131557508190508261131b565b50829050815b600280838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106113755780518252601f199092019160209182019101611356565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156113b4573d6000803e3d6000fd5b5050506040513d60208110156113c957600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106114155780518252601f1990920191602091820191016113f6565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611454573d6000803e3d6000fd5b5050506040513d602081101561146957600080fd5b505193506002890498506001850194505050506112d5565b61148a81611151565b979650505050505050565b60365461010090046001600160a01b03163381146114b257600080fd5b600084815260336020526040902080546001600160a01b0316156114d557600080fd5b80546001600160a01b038086166001600160a01b03199283161783556001830180549186169190921617905560006115106004830182612a53565b50426002820155604080518681526001600160a01b03808716602083015285168183015290517f3726b144f253954160bd0bb1f002a28f904f6e83596cbb62e9e1f2082644ca939181900360600190a15050505050565b6000805b600883048110156115a1578060080260020a858286018151811061158b57fe5b016020015160f81c02919091019060010161156b565b509392505050565b600054610100900460ff16806115c257506115c26122f8565b806115d0575060005460ff16155b61160b5760405162461bcd60e51b815260040180806020018281038252602e815260200180612b1a602e913960400191505060405180910390fd5b600054610100900460ff16158015611636576000805460ff1961ff0019909116610100171660011790555b6036805486919060ff1916600183600281111561164f57fe5b0217905550603780546001600160a01b0319166001600160a01b03861617905560348390556035829055801561168b576000805461ff00191690555b5050505050565b6000908152603360205260409020546001600160a01b0316151590565b60345481565b60006116bf612a77565b600083815260336020908152604091829020825160a08101845281546001600160a01b0390811682526001830154168184015260028201548185015260038201546060820152600482018054855181860281018601909652808652919492936080860193929083018282801561175457602002820191906000526020600020905b815481526020019060010190808311611740575b5050509190925250508151919250506001600160a01b031661177a57600091505061105b565b505060009081526033602052604090206004015490565b62ffffff8116630100000063ffffffff92831604909116600219016101000a0290565b805160009060018114156117df57826000815181106117cf57fe5b602002602001015191505061105b565b6000811161182a576040805162461bcd60e51b81526020600482015260136024820152724d7573742070726f766964652068617368657360681b604482015290519081900360640190fd5b60005b818110156118765761185484828151811061184457fe5b602002602001015160001c611151565b60001b84828151811061186357fe5b602090810291909101015260010161182d565b6000805b6001841115611a52575060009150815b83831015611a4a578383600101106118a557600184036118aa565b826001015b91506002808785815181106118bb57fe5b60200260200101518885815181106118cf57fe5b602002602001015160405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061192c5780518252601f19909201916020918201910161190d565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561196b573d6000803e3d6000fd5b5050506040513d602081101561198057600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106119cc5780518252601f1990920191602091820191016119ad565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611a0b573d6000803e3d6000fd5b5050506040513d6020811015611a2057600080fd5b50518651879083908110611a3057fe5b60209081029190910101526002929092019160010161188a565b80935061187a565b611a628660008151811061184457fe5b9695505050505050565b611a746129d2565b611a7e83836122ff565b63ffffffff168152611a9283836050610993565b6060820152611aa1838361230e565b63ffffffff166040820152611ab6838361231d565b602082015292915050565b6000610100611ad08484610957565b1663ffffffff166000141590505b92915050565b611aec6129f9565b60606000605084019350611b008585612334565b92509050611b118585808403610993565b60208085019190915281019350611b2a85856000612360565b60e08501919091529350611b4085856020611567565b61010084015260049390930192611b5985856000612360565b60608501919091529350611b6f85856020611567565b608084015260049390930192611b8785856050610993565b835260249390930192611b9a8585612410565b60c084015260289390930192611bb285856020611567565b610120840152600484016101408401526000611bcd83612418565b60a08701525060408501525091949350505050565b6000816101000151600014611bfa575061274c611ade565b8160a00151600114611c11575060a0810151611ade565b8160400151611c2084846124e1565b14611c2e575061277e611ade565b8160c00151611c3c836124f6565b14611c4a5750612788611ade565b50600192915050565b6036546040805163a4cbce7b60e01b8152600481018790526001600160a01b038581166024830152868116604483015291516101009093049091169163a4cbce7b9160648082019260009290919082900301818387803b158015611cb657600080fd5b505af1158015611cca573d6000803e3d6000fd5b505060408051878152602081018590526001600160a01b0387168183015290517fcc11926aca009e381b48e432fbfb8e3f192d5d8be733dc474fa78831bbfdf0449350908190036060019150a1611d2084612513565b50505050565b600484015460009060031480611d4c5750600260365460ff166002811115611d4a57fe5b145b15611e65576060600260365460ff166002811115611d6657fe5b1415611d73576001611d76565b60045b60ff16604051908082528060200260200182016040528015611da2578160200160208202803883390190505b50905060005b6004870154811015611ded57866004018181548110611dc357fe5b9060005260206000200154828281518110611dda57fe5b6020908102919091010152600101611da8565b84828281518110611dfa57fe5b602002602001018181525050611e0f826117b4565b865114611e225761c37692505050611e84565b836040015163ffffffff16866020015114611e435761c37492505050611e84565b8560600151846060015114611e5e5761c38b92505050611e84565b5050611e80565b60048501805460018101825560009182526020909120018390555b5060005b949350505050565b6000611e96612988565b611e9e6129d2565b83600185510381518110611eae57fe5b60200260200101519050603760009054906101000a90046001600160a01b03166001600160a01b0316636e5b707186608001516040518263ffffffff1660e01b8152600401808281526020019150506101206040518083038186803b158015611f1657600080fd5b505afa158015611f2a573d6000803e3d6000fd5b505050506040513d610120811015611f4157600080fd5b5060408082015160608084015160809094015163ffffffff1660c08701528501929092528301526004860154600110611fa357816060015184600081518110611f8657fe5b60200260200101516020015114611fa35761c38d92505050610a51565b6000611fb487868560c00151612558565b90508015611fc6579250610a51915050565b8451600c14611fde576060820151600388015561221e565b6000611fe98661267c565b9050866040015181146120045761c397945050505050610a51565b8360400151811161201d5761c398945050505050610a51565b600260365460ff16600281111561203057fe5b1461221c57600660018860e001510363ffffffff168161204c57fe5b0663ffffffff16600014156121ca576120636129d2565b8660028851038151811061207357fe5b60209081029190910181015160375460e08b01516040805163c0dde98b60e01b815260051990920163ffffffff166004830152519294506001600160a01b0390911692632da8cffd92849263c0dde98b926024808301939192829003018186803b1580156120e057600080fd5b505afa1580156120f4573d6000803e3d6000fd5b505050506040513d602081101561210a57600080fd5b5051604080516001600160e01b031960e085901b1681526004810192909252516024808301926020929190829003018186803b15801561214957600080fd5b505afa15801561215d573d6000803e3d6000fd5b505050506040513d602081101561217357600080fd5b505160208901819052604082015160c087015160009261219a9263ffffffff1603906126e0565b90508063ffffffff168960c0015163ffffffff16146121c35761c3899650505050505050610a51565b50506121f3565b8360c0015163ffffffff168760c0015163ffffffff16146121f35761c390945050505050610a51565b826000015163ffffffff168760c0015163ffffffff161461221c5761c390945050505050610a51565b505b5060009695505050505050565b6036546040805163a4cbce7b60e01b8152600481018790526001600160a01b038681166024830152858116604483015291516101009093049091169163a4cbce7b9160648082019260009290919082900301818387803b15801561228e57600080fd5b505af11580156122a2573d6000803e3d6000fd5b505060408051878152602081018590526001600160a01b0386168183015290517fffa243eaeafd66e0a938ee0d270bbefd594e08a551dc29a9a44e39c719cfc79f9350908190036060019150a1611d2084612513565b303b155b90565b6000610a518383604801610957565b6000610a518383604401610957565b6024828201015160009060048301610b2c82611151565b60006060612345848460040161273b565b909250905061235484836127bd565b60040194909350915050565b606060008060006123718787610b41565b9650915084158061238157508185115b1561238d575080612390565b50835b6060816040519080825280602002602001820160405280156123bc578160200160208202803883390190505b50905060005b82811015612404576123dc6123d78a8a612410565b611151565b8282815181106123e857fe5b60209081029190910181019190915297909701966001016123c2565b50979596505050505050565b016020015190565b6000806000806000809050600063fabe6d6d60e01b905060006001600160e01b031990508751602089018181015b8082101561247b5784848351161415612470578561246957600482820384030196505b6001860195505b600182019150612446565b5050506002831061249d575060009550505060031901915061276090506124da565b82600114156124c7576124b08885612410565b9650506003199092019350600192506124da915050565b5060009550505060031901915061276a90505b9193909250565b6000610a51838360800151846060015161127b565b6000611ade6123d783602001518461010001518560e0015161127b565b600081815260336020526040812080546001600160a01b03199081168255600182018054909116905560028101829055600381018290559061103b6004830182612abb565b8151600090600019015b8015612605576125706129d2565b84828151811061257c57fe5b6020026020010151905061258e6129d2565b85600184038151811061259d57fe5b602002602001015190508551600c1415806125bb5750600186510383105b156125de57815163ffffffff8681169116146125de5761c38a9350505050610a51565b81602001518160600151146125fa5761c38c9350505050610a51565b505060001901612562565b508260008151811061261357fe5b60200260200101516000015163ffffffff168263ffffffff161461263a575061c38a610a51565b6004840154600211612672578260008151811061265357fe5b602002602001015160200151846003015414612672575061c393610a51565b5060009392505050565b6000612686612adc565b60005b600b8110156126cc578381600101815181106126a157fe5b60200260200101516040015163ffffffff168282600b81106126bf57fe5b6020020152600101612689565b506126d681612810565b60a0015192915050565b6000826143808110156126f65750614380612705565b61697881111561270557506169785b600061271084611791565b6154609083020490506001600160ec1b0381111561273257506001600160ec1b035b610b2c816128b2565b6000606060008061274c8686610b41565b955091508161277c5761275f8686610b41565b955091508161276d57600080fd5b6127778686610b41565b955091505b8160011461278957600080fd5b6024850194506127998686610b41565b9550905060606127ac8787848101610ada565b959091016004019694955050505050565b60008060006127cc8585610b41565b94509150600a82106127dd57600080fd5b60005b82811015612806576008850194506127f88686610b41565b8101955091506001016127e0565b5092949350505050565b60005b600b8110156128ae57600181015b600b8110156128a5578281600b811061283657fe5b60200201518383600b811061284757fe5b6020020151111561289d5760008383600b811061286057fe5b602002015190508382600b811061287357fe5b60200201518484600b811061288457fe5b6020020152808483600b811061289657fe5b6020020152505b600101612821565b50600101612813565b5050565b6000806128cb6128c184612943565b600701600361296b565b90506000600382116128f3576128ec8462ffffff1683600303600802612981565b905061290b565b612903846003840360080261296b565b62ffffff1690505b62800000811615612930576129278163ffffffff16600861296b565b90506001820191505b61293b826018612981565b179392505050565b6000815b80156129655761295881600161296b565b9050600182019150612947565b50919050565b60008160020a838161297957fe5b049392505050565b60020a0290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082015290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b60405180610160016040528060008152602001600081526020016000815260200160608152602001600081526020016000815260200160008152602001606081526020016000815260200160008152602001600081525090565b81548183558181111561103b5760008381526020902061103b918101908301612afb565b6040518060a0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008019168152602001606081525090565b5080546000825590600052602060002090810190612ad99190612afb565b50565b604051806101600160405280600b906020820280388339509192915050565b6122fc91905b80821115612b155760008155600101612b01565b509056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a723158206b0f2dac1eee21101773345419d39c3475c5ae0542b343a8f2e94c874e47be1864736f6c634300050d0032", "sourceMap": "348:33890:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;348:33890:1;;;;;;;", - "deployedSourceMap": "348:33890:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;348:33890:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1517:501:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1517:501:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;1517:501:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1517:501:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1517:501:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1517:501:5;;-1:-1:-1;;1517:501:5;;;-1:-1:-1;1517:501:5;;-1:-1:-1;;1517:501:5:i;:::-;;;;;;;;;;;;;;;;;;;9292:227:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9292:227:1;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9292:227:1;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9292:227:1;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9292:227:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9292:227:1;;-1:-1:-1;;9292:227:1;;;-1:-1:-1;;;9292:227:1;;;;:::i;:::-;;;;;;;;;;;;;;;;2429:29;;;:::i;8548:562::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8548:562:1;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;8548:562:1;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8548:562:1;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8548:562:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8548:562:1;;-1:-1:-1;;8548:562:1;;;-1:-1:-1;;;8548:562:1;;;;:::i;4019:265::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4019:265:1;-1:-1:-1;;;;;4019:265:1;;:::i;:::-;;5765:460:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5765:460:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5765:460:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5765:460:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5765:460:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5765:460:5;;-1:-1:-1;;5765:460:5;;;-1:-1:-1;;;5765:460:5;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5765:460:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4142:61:4;;;:::i;506:580:5:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;506:580:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;506:580:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;506:580:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;506:580:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;506:580:5;;-1:-1:-1;;506:580:5;;;-1:-1:-1;506:580:5;;-1:-1:-1;;506:580:5:i;:::-;;;;;;;;;;;;;;;;;;;;;;;22357:3252:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22357:3252:1;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;22357:3252:1;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22357:3252:1;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;22357:3252:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;22357:3252:1;;-1:-1:-1;;22357:3252:1;;;-1:-1:-1;22357:3252:1;;-1:-1:-1;;22357:3252:1:i;33547:242::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;33547:242:1;;:::i;:::-;;;;;;;;;;;;;;;;;;31957:549;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31957:549:1;;:::i;2214:1816:5:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2214:1816:5;;:::i;4426:946::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4426:946:5;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4426:946:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4426:946:5;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4426:946:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4426:946:5;;-1:-1:-1;4426:946:5;;-1:-1:-1;;;;;4426:946:5:i;4327:518:1:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4327:518:1;;;-1:-1:-1;;;;;4327:518:1;;;;;;;;;;;;:::i;1135:259:5:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1135:259:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;1135:259:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1135:259:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1135:259:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1135:259:5;;-1:-1:-1;;1135:259:5;;;-1:-1:-1;;;1135:259:5;;;;:::i;3665:348:1:-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;3665:348:1;;;;;-1:-1:-1;;;;;3665:348:1;;;;;;;;;;;;;;;:::i;34088:148::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;34088:148:1;;:::i;2350:30::-;;;:::i;33794:289::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;33794:289:1;;:::i;16511:196::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16511:196:1;;;;:::i;20140:759::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20140:759:1;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;20140:759:1;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;20140:759:1;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;20140:759:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;20140:759:1;;-1:-1:-1;20140:759:1;;-1:-1:-1;;;;;20140:759:1:i;1517:501:5:-;1622:13;1714:3;1707:4;1700:5;1696:16;1692:26;1686:33;1750:4;1744:11;1798:4;1795:1;1790:13;1786:1;1780:4;1776:12;1768:36;1847:4;1844:1;1839:13;1835:1;1829:4;1825:12;1817:36;1896:4;1893:1;1888:13;1884:1;1878:4;1874:12;1866:36;1945:4;1942:1;1937:13;1933:1;1927:4;1923:12;1915:36;1990:11;1978:10;1974:28;;1660:352;-1:-1:-1;;;;1660:352:5:o;9292:227:1:-;9407:4;9434:78;9451:59;9475:33;9485:9;9496:6;9504:3;9475:9;:33::i;:::-;9458:51;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;9458:51:1;;;9451:59;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;9451:59:1;;;;;;;-1:-1:-1;263:2;;-1:-1;;9451:59:1;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9451:59:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9451:59:1;9434:11;:78::i;:::-;9427:85;;9292:227;;;;;;:::o;2429:29::-;;;;:::o;8548:562::-;8659:14;8915:4;8909:11;9010:4;9005:3;9000;8991:6;8984:4;8973:9;8969:20;8965:33;8959:4;8954:3;8943:72;8933:2;;9045:1;9042;9035:12;8933:2;9084:10;;8698:406;-1:-1:-1;;;;8698:406:1:o;4019:265::-;4129:26;;;;;-1:-1:-1;;;;;4129:26:1;4121:49;:96;;;;-1:-1:-1;;;;;;4174:43:1;;;;4121:96;4113:105;;;;;;4228:26;:49;;-1:-1:-1;;;;;4228:49:1;;;;;-1:-1:-1;;;;;;4228:49:1;;;;;;;;;4019:265::o;5765:460:5:-;5859:12;5883:8;5906:6;5894:9;:18;5883:29;;5922:19;5954:3;5944:14;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;104:10;5944:14:5;87:34:-1;135:17;;-1:-1;5944:14:5;;5922:36;;6136:3;6129:4;6121:6;6117:17;6112:3;6103:6;6096:4;6085:9;6081:20;6077:33;6071:4;6066:3;6055:85;6045:2;;6170:1;6167;6160:12;6045:2;6212:6;5765:460;-1:-1:-1;;;;;5765:460:5:o;4142:61:4:-;4184:19;4142:61;:::o;506:580:5:-;580:4;586;660:10;679:7;687:3;679:12;;;;;;;;;;;;709:1;702:8;;;;;679:12;;;-1:-1:-1;746:4:5;739:11;;735:345;;;766:18;;;-1:-1:-1;780:3:5;;-1:-1:-1;766:18:5;;735:345;805:4;:12;;813:4;805:12;801:279;;;841:28;852:7;861:3;866:2;841:10;:28::i;:::-;871:3;877:1;871:7;833:46;;;;;;;801:279;900:4;:12;;908:4;900:12;896:184;;;936:28;947:7;956:3;961:2;936:10;:28::i;:::-;966:3;972:1;966:7;928:46;;;;;;;896:184;995:4;:12;;1003:4;995:12;991:89;;;1031:28;1042:7;1051:3;1056:2;1031:10;:28::i;:::-;1061:3;1067:1;1061:7;1023:46;;;;;;;991:89;506:580;;;;;;;:::o;22357:3252:1:-;22502:29;22534:24;;;:8;:24;;;;;22588:17;;-1:-1:-1;;;;;22588:17:1;22624:10;:23;;22616:32;;;;;;22681:19;;;:26;22729:15;22722:3;;;;:22;;;;;;;;;22718:185;;22783:1;22765:14;:19;;:39;;;;;22788:10;22802:2;22788:16;;22765:39;22764:86;;;;22810:14;22828:1;22810:19;:39;;;;;22833:10;22847:2;22833:16;;22810:39;22760:133;;;22870:8;;;22760:133;22913:56;;:::i;:::-;23177:18;;:48;;;-1:-1:-1;;;23177:48:1;;;;;;;;;;-1:-1:-1;;;;;23177:18:1;;;;:32;;:48;;;;;;;;;;;;;;;:18;:48;;;5:2:-1;;;;30:1;27;20:12;5:2;23177:48:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23177:48:1;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;23177:48:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22979:246;;;;23177:48;23140:21;;22979:246;23114:23;;;22979:246;;;;;;;23177:48;23090:23;;22979:246;23066:23;;;22979:246;;;;23038:27;;;22979:246;23013:24;;;22979:246;;;;;;;23289:25;;;;;;;;;;;;;;;;22980:31;;23177:48;23303:10;23289:25;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;23289:25:1;;23258:56;;23324:39;23384:10;23366:29;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;23324:71:1;-1:-1:-1;23406:8:1;;23445:1000;23466:18;:25;23462:1;:29;23445:1000;;;23535:35;23552:12;23566:3;23535:16;:35::i;:::-;23511:18;23530:1;23511:21;;;;;;;;;;;;;:59;;;;23584:11;23598:42;23613:18;23632:1;23613:21;;;;;;;;;;;;;;:26;;;23598:14;:42::i;:::-;23584:56;;23659:31;23672:12;23686:3;23659:12;:31::i;:::-;23655:717;;;23710:16;;:::i;:::-;23729:30;23741:12;23755:3;23729:11;:30::i;:::-;23710:49;;23796:6;23781:2;:12;;;:21;23777:125;;;736:5:4;23826:30:1;;23878:5;;;;23777:125;23920:15;23938:54;23955:18;23974:1;23955:21;;;;;;;;;;;;;;:31;;;23950:37;;23989:2;23938:11;:54::i;:::-;23920:72;;24014:10;24028:1;24014:15;24010:105;;24059:10;-1:-1:-1;24091:5:1;;-1:-1:-1;;24091:5:1;24010:105;-1:-1:-1;24139:6:1;;;;-1:-1:-1;23655:717:1;;;24228:6;24193:18;24212:1;24193:21;;;;;;;;;;;;;;:31;;;24188:37;;:46;24184:143;;;633:5:4;24258:23:1;;24303:5;;;24184:143;24351:3;24355:2;24351:6;24345:12;;23655:717;24403:18;24422:1;24403:21;;;;;;;;;;;;;;:31;;;24386:11;24398:1;24386:14;;;;;;;;;;;;;;;;;:48;-1:-1:-1;23493:3:1;;23445:1000;;;-1:-1:-1;24459:24:1;;24455:143;;24543:18;;;;24499:68;;24516:14;;24532:9;;-1:-1:-1;;;;;24543:18:1;24563:3;24499:16;:68::i;:::-;24581:7;;;;;;;;;;24455:143;24614:178;24649:7;24670:14;24698:23;24709:11;24698:10;:23::i;:::-;24735:18;24780:1;24754:18;:25;:27;24735:47;;;;;;;;;;;;;;24614:21;:178::i;:::-;24608:184;-1:-1:-1;24806:24:1;;24802:801;;24890:18;;;;24846:68;;24863:14;;24879:9;;-1:-1:-1;;;;;24890:18:1;24910:3;24846:16;:68::i;:::-;24802:801;;;24975:15;24945:27;;;:45;25010:60;24945:7;25035:14;25051:18;25010:15;:60::i;:::-;25004:66;-1:-1:-1;25088:24:1;;25084:155;;25176:18;;;;25132:68;;25149:14;;25165:9;;-1:-1:-1;;;;;25176:18:1;25196:3;25132:16;:68::i;25084:155::-;25339:10;25353:2;25339:16;:42;;;-1:-1:-1;25366:15:1;25359:3;;;;:22;;;;;;;;;25339:42;25336:172;;;25445:18;;;;25400:69;;25418:14;;25434:9;;-1:-1:-1;;;;;25445:18:1;25465:3;25400:17;:69::i;25336:172::-;25526:66;;;;;;25579:1;25562:18;;25526:66;;;;-1:-1:-1;;;;;25526:66:1;;;;;;;;;;;;;;;;;24802:801;22357:3252;;;;;;;;;;;;:::o;33547:242::-;33626:4;33674:24;;;:8;:24;;;;;33764:17;;33734:27;;;;;:47;33716:15;:65;33547:242;;;;:::o;31957:549::-;32016:4;32064:24;;;:8;:24;;;;;32106:17;;-1:-1:-1;;;;;32106:17:1;32098:40;;;;;;32201:17;;32171:7;:27;;;:47;32153:15;:65;32149:309;;;32267:17;;;32286:18;;;32234:95;;32251:14;;-1:-1:-1;;;;;32267:17:1;;;;32286:18;1050:5:4;32234:16:1;:95::i;:::-;32343:26;;;;;;;;;-1:-1:-1;;;;;32343:26:1;-1:-1:-1;;;;;32343:45:1;;32389:14;32343:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;32343:61:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;32343:61:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1050:5:4;;-1:-1:-1;32418:29:1;;-1:-1:-1;;32418:29:1;32149:309;-1:-1:-1;1103:5:4;;31957:549:1;-1:-1:-1;;31957:549:1:o;2214:1816:5:-;2332:4;2326:11;2269;;2371:16;;;2326:11;2350:38;2431:6;2427:2;2422:16;2418:1;2413:3;2409:11;2401:38;2482:6;2478:2;2473:16;2469:1;2464:3;2460:11;2452:38;2533:6;2529:2;2524:16;2520:1;2515:3;2511:11;2503:38;2584:6;2580:2;2575:16;2571:1;2566:3;2562:11;2554:38;2635:6;2631:2;2626:16;2622:1;2617:3;2613:11;2605:38;2686:6;2682:2;2677:16;2673:1;2668:3;2664:11;2656:38;2737:6;2733:2;2728:16;2724:1;2719:3;2715:11;2707:38;2788:6;2784:2;2779:16;2775:1;2770:3;2766:11;2758:38;2839:6;2835:2;2830:16;2826:1;2821:3;2817:11;2809:38;2891:6;2887:2;2882:16;2877:2;2872:3;2868:12;2860:39;2943:6;2939:2;2934:16;2929:2;2924:3;2920:12;2912:39;2995:6;2991:2;2986:16;2981:2;2976:3;2972:12;2964:39;3047:6;3043:2;3038:16;3033:2;3028:3;3024:12;3016:39;3099:6;3095:2;3090:16;3085:2;3080:3;3076:12;3068:39;3151:6;3147:2;3142:16;3137:2;3132:3;3128:12;3120:39;3203:6;3199:2;3194:16;3189:2;3184:3;3180:12;3172:39;3255:6;3251:2;3246:16;3241:2;3236:3;3232:12;3224:39;3307:6;3303:2;3298:16;3293:2;3288:3;3284:12;3276:39;3359:6;3355:2;3350:16;3345:2;3340:3;3336:12;3328:39;3411:6;3407:2;3402:16;3397:2;3392:3;3388:12;3380:39;3463:6;3459:2;3454:16;3449:2;3444:3;3440:12;3432:39;3514:6;3511:1;3506:15;3501:2;3496:3;3492:12;3484:38;3565:6;3562:1;3557:15;3552:2;3547:3;3543:12;3535:38;3616:6;3613:1;3608:15;3603:2;3598:3;3594:12;3586:38;3667:6;3664:1;3659:15;3654:2;3649:3;3645:12;3637:38;3718:6;3715:1;3710:15;3705:2;3700:3;3696:12;3688:38;3769:6;3766:1;3761:15;3756:2;3751:3;3747:12;3739:38;3820:6;3817:1;3812:15;3807:2;3802:3;3798:12;3790:38;3871:6;3868:1;3863:15;3858:2;3853:3;3849:12;3841:38;3922:6;3919:1;3914:15;3909:2;3904:3;3900:12;3892:38;3973:6;3970:1;3965:15;3960:2;3955:3;3951:12;3943:38;4004:10;;2301:1723;-1:-1:-1;;2301:1723:5:o;4426:946::-;4582:16;;4548:4;;;4624:94;4640:6;4636:1;:10;4624:94;;;4682:25;4694:9;4704:1;4694:12;;;;;;;;;;;;;;4682:11;:25::i;:::-;4667:9;4677:1;4667:12;;;;;;;;;;;;;;;;;:40;4648:3;;4624:94;;;-1:-1:-1;4732:1:5;;4761:20;4773:7;4761:11;:20::i;:::-;4743:38;;4800:525;4811:6;4807:1;:10;4800:525;;;4833:13;4849:9;4859:1;4849:12;;;;;;;;;;;;;;4833:28;;4876:9;4899:10;4938:1;4927:8;:12;;;;;;4943:1;4927:17;4923:248;;;-1:-1:-1;5022:8:5;;-1:-1:-1;5056:10:5;4923:248;;;-1:-1:-1;5112:10:5;;-1:-1:-1;5148:8:5;4923:248;5202:63;5226:37;5250:4;5256:5;5233:29;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5233:29:5;;;5226:37;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5226:37:5;;;;;;;-1:-1:-1;263:2;;-1:-1;;5226:37:5;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5226:37:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5226:37:5;5209:55;;;5226:37;5209:55;;;;;;;;;26:21:-1;;;22:32;;6:49;;5209:55:5;;;;;;;5202:63;;5209:55;;;;5202:63;;;;;5209:55;5202:63;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5202:63:5;;;;;;;-1:-1:-1;263:2;;-1:-1;;5202:63:5;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5202:63:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5202:63:5;;-1:-1:-1;5293:1:5;5281:13;;;;5313:1;5308:6;;;;4800:525;;;;;;5342:23;5354:10;5342:11;:23::i;:::-;5335:30;4426:946;-1:-1:-1;;;;;;;4426:946:5:o;4327:518:1:-;4452:26;;;;;-1:-1:-1;;;;;4452:26:1;3135:10;:20;;3127:29;;;;;;4491;4523:24;;;:8;:24;;;;;4566:17;;-1:-1:-1;;;;;4566:17:1;:31;4558:40;;;;;;4609:29;;-1:-1:-1;;;;;4609:29:1;;;-1:-1:-1;;;;;;4609:29:1;;;;;;;4648:18;;:31;;;;;;;;;;;;4609:17;4689:30;:19;;;4609:17;4689:30;:::i;:::-;-1:-1:-1;4759:15:1;4729:27;;;:45;4790:48;;;;;;-1:-1:-1;;;;;4790:48:1;;;;;;;;;;;;;;;;;;;;;;;;3166:1;4327:518;;;;:::o;1135:259:5:-;1240:14;;1270:118;1301:1;1294:4;:8;1290:1;:12;1270:118;;;1371:1;1375;1371:5;1365:1;:12;1347:4;1358:1;1352:3;:7;1347:13;;;;;;;;;;;;;;1333:44;1323:54;;;;;1304:3;;1270:118;;;;1135:259;;;;;:::o;3665:348:1:-;1024:12:15;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:15;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;1016:106:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:15;;;;;1225:18;1213:4;1225:18;;;1170:80;3851:3:1;:14;;3857:8;;3851:3;-1:-1:-1;;3851:14:1;;3857:8;3851:14;;;;;;;;;;;;-1:-1:-1;3875:18:1;:33;;-1:-1:-1;;;;;;3875:33:1;-1:-1:-1;;;;;3875:33:1;;;;;3918:18;:40;;;3968:17;:38;;;1264:55:15;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:15;;;1264:55;3665:348:1;;;;;:::o;34088:148::-;34158:4;34181:24;;;:8;:24;;;;;:34;-1:-1:-1;;;;;34181:34:1;:48;;;34088:148::o;2350:30::-;;;;:::o;33794:289::-;33878:4;33894:28;;:::i;:::-;33925:24;;;;:8;:24;;;;;;;;;33894:55;;;;;;;;;-1:-1:-1;;;;;33894:55:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33925:24;;33894:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;33894:55:1;;;;-1:-1:-1;;33963:17:1;;33894:55;;-1:-1:-1;;;;;;;33963:31:1;33959:57;;34015:1;34008:8;;;;;33959:57;-1:-1:-1;;34033:24:1;;;;:8;:24;;;;;:36;;:43;;33794:289::o;16511:196::-;16654:8;16646:16;;16605:9;16597:17;;;;;16586:28;;;-1:-1:-1;;16692:7:1;16686:3;:14;16679:21;;16511:196::o;20140:759::-;20239:13;;20206:7;;20277:1;20267:11;;20263:33;;;20287:6;20294:1;20287:9;;;;;;;;;;;;;;20280:16;;;;;20263:33;20323:1;20314:6;:10;20306:42;;;;;-1:-1:-1;;;20306:42:1;;;;;;;;;;;;-1:-1:-1;;;20306:42:1;;;;;;;;;;;;;;;20359:6;20375:103;20391:6;20387:1;:10;20375:103;;;20438:28;20455:6;20462:1;20455:9;;;;;;;;;;;;;;20450:15;;20438:11;:28::i;:::-;20430:37;;20418:6;20425:1;20418:9;;;;;;;;;;;;;;;;;:49;20399:3;;20375:103;;;20488:6;20504;20521:318;20537:1;20528:6;:10;20521:318;;;-1:-1:-1;20558:1:1;;-1:-1:-1;20558:1:1;20573:232;20589:6;20585:1;:10;20573:232;;;20636:6;20628:1;20632;20628:5;:14;20627:37;;20663:1;20654:6;:10;20627:37;;;20646:1;20650;20646:5;20627:37;20623:41;;20694:72;20718:46;20742:6;20749:1;20742:9;;;;;;;;;;;;;;20753:6;20760:1;20753:9;;;;;;;;;;;;;;20725:38;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;20725:38:1;;;20718:46;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;20718:46:1;;;;;;;-1:-1:-1;263:2;;-1:-1;;20718:46:1;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20718:46:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20718:46:1;20701:64;;;20718:46;20701:64;;;;;;;;;26:21:-1;;;22:32;;6:49;;20701:64:1;;;;;;;20694:72;;20701:64;;;;20694:72;;;;;20701:64;20694:72;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;20694:72:1;;;;;;;-1:-1:-1;263:2;;-1:-1;;20694:72:1;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20694:72:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20694:72:1;20682:9;;:6;;20689:1;;20682:9;;;;;;;;;;;;;;;:84;20602:1;20597:6;;;;;20789:1;20784:6;20573:232;;;20827:1;20818:10;;20521:318;;;20863:28;20880:6;20887:1;20880:9;;;;;;;20863:28;20855:37;20140:759;-1:-1:-1;;;;;;20140:759:1:o;6600:341::-;6682:21;;:::i;:::-;6725:23;6733:9;6744:3;6725:7;:23::i;:::-;6715:33;;;;6781;6795:9;6806:3;6811:2;6781:13;:33::i;:::-;6758:12;;;:57;6840:28;6853:9;6864:3;6840:12;:28::i;:::-;6825:43;;:12;;;:43;6901:32;6918:9;6929:3;6901:16;:32::i;:::-;6878:12;;;:56;:2;6600:341;-1:-1:-1;;6600:341:1:o;25744:166::-;25822:4;25649:6;25845:36;25866:9;25877:3;25845:20;:36::i;:::-;:53;:58;;25902:1;25845:58;;25838:65;;25744:166;;;;;:::o;6947:1595::-;7047:20;;:::i;:::-;7083:27;7120:13;7249:2;7242:9;;;;7317:26;7329:8;7339:3;7317:11;:26::i;:::-;7288:55;-1:-1:-1;7288:55:1;-1:-1:-1;7369:44:1;7383:8;7393:3;7398:14;;;7369:13;:44::i;:::-;7353:13;;;;:60;;;;7506:9;;;-1:-1:-1;7559:34:1;7576:8;7506:9;7591:1;7559:16;:34::i;:::-;7526:24;;;7525:68;;;;;-1:-1:-1;7628:29:1;7639:8;7525:68;7654:2;7628:10;:29::i;:::-;7603:22;;;:54;7674:1;7667:8;;;;;7718:34;7735:8;7667;7750:1;7718:16;:34::i;:::-;7686:23;;;7685:67;;;;;-1:-1:-1;7788:29:1;7799:8;7685:67;7814:2;7788:10;:29::i;:::-;7762:23;;;:55;7834:1;7827:8;;;;;8030:32;8044:8;7827;8059:2;8030:13;:32::i;:::-;8011:51;;8079:2;8072:9;;;;;8155:30;8171:8;8072:9;8155:15;:30::i;:::-;8129:23;;;:56;8202:2;8195:9;;;;;8300:29;8311:8;8195:9;8326:2;8300:10;:29::i;:::-;8279:18;;;:50;8356:1;8352:5;;8339:10;;;:18;-1:-1:-1;8497:38:1;8520:14;8497:22;:38::i;:::-;8464:29;;;8408:127;-1:-1:-1;8409:25:1;;;8408:127;-1:-1:-1;8409:6:1;;6947:1595;-1:-1:-1;;;;6947:1595:1:o;15680:543::-;15759:4;15779:3;:19;;;15802:1;15779:24;15775:80;;-1:-1:-1;200:5:4;15819:25:1;;15775:80;15869:3;:26;;;15899:1;15869:31;15865:95;;-1:-1:-1;15923:26:1;;;;15916:33;;15865:95;16013:3;:22;;;15974:35;15993:10;16005:3;15974:18;:35::i;:::-;:61;15970:115;;-1:-1:-1;543:5:4;16051:23:1;;15970:115;16127:3;:20;;;16099:24;16119:3;16099:19;:24::i;:::-;:48;16095:103;;-1:-1:-1;588:5:4;16163:24:1;;16095:103;-1:-1:-1;16215:1:1;15680:543;;;;:::o;32938:302::-;33055:26;;:80;;;-1:-1:-1;;;33055:80:1;;;;;;;;-1:-1:-1;;;;;33055:80:1;;;;;;;;;;;;;;;;:26;;;;;;;;:41;;:80;;;;;-1:-1:-1;;33055:80:1;;;;;;;;-1:-1:-1;33055:26:1;:80;;;5:2:-1;;;;30:1;27;20:12;5:2;33055:80:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;33150:50:1;;;;;;;;;;;;-1:-1:-1;;;;;33150:50:1;;;;;;;;;;-1:-1:-1;33150:50:1;;;;;;;-1:-1:-1;33150:50:1;33210:23;33218:14;33210:7;:23::i;:::-;32938:302;;;;:::o;20959:1392::-;21205:19;;;:26;21185:4;;21235:1;21205:31;;:57;;-1:-1:-1;21247:15:1;21240:3;;;;:22;;;;;;;;;21205:57;21201:1109;;;21278:28;21330:15;21323:3;;;;:22;;;;;;;;;;:30;;21352:1;21323:30;;;21348:1;21323:30;21309:45;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;21309:45:1;-1:-1:-1;21278:76:1;-1:-1:-1;21368:6:1;21388:121;21404:19;;;:26;21400:30;;21388:121;;;21472:7;:19;;21492:1;21472:22;;;;;;;;;;;;;;;;21455:11;21467:1;21455:14;;;;;;;;;;;;;;;;;:39;21432:3;;21388:121;;;21539:10;21522:11;21534:1;21522:14;;;;;;;;;;;;;:27;;;;;21602:23;21613:11;21602:10;:23::i;:::-;21567:31;;:58;21563:133;;1276:5:4;21645:36:1;;;;;;21563:133;21923:10;:20;;;21895:48;;:14;:24;;;:48;21891:126;;1219:5:4;21963:39:1;;;;;;21891:126;22138:14;:23;;;22114:10;:20;;;:47;22110:123;;1982:5:4;22181:37:1;;;;;;22110:123;21201:1109;;;;;22263:19;;;27:10:-1;;39:1;23:18;;45:23;;-1:-1;22263:36:1;;;;;;;;;;;21201:1109;-1:-1:-1;837:1:4;20959:1392:1;;;;;;;:::o;28090:3791::-;28262:4;28278:60;;:::i;:::-;28348:29;;:::i;:::-;28380:18;28425:1;28399:18;:25;:27;28380:47;;;;;;;;;;;;;;28348:79;;28547:18;;;;;;;;;-1:-1:-1;;;;;28547:18:1;-1:-1:-1;;;;;28547:32:1;;28580:14;:23;;;28547:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28547:57:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28547:57:1;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;28547:57:1;;;;;;;;;;;;;;;28437:167;;28547:57;28500:27;;28437:167;28472:27;;28437:167;;;;28440:31;;28437:167;28677:19;;;:26;28707:1;-1:-1:-1;28674:277:1;;28853:18;:27;;;28818:18;28837:1;28818:21;;;;;;;;;;;;;;:31;;;:62;28815:124;;2101:5:4;28898:41:1;;;;;;28815:124;29069:8;29080:69;29092:7;29101:18;29121;:27;;;29080:11;:69::i;:::-;29069:80;-1:-1:-1;29162:24:1;;29159:51;;29207:3;-1:-1:-1;29200:10:1;;-1:-1:-1;;29200:10:1;29159:51;29362:18;:25;29391:2;29362:31;29359:2481;;29572:20;;;;29542:27;;;:50;29359:2481;;;29718:17;29738:38;29757:18;29738;:38::i;:::-;29718:58;;29876:14;:27;;;29860:12;:43;29857:109;;2648:5:4;29922:44:1;;;;;;;;29857:109;30059:18;:31;;;30043:12;:47;30040:112;;2713:5:4;30108:44:1;;;;;;;;30040:112;30407:15;30400:3;;;;:22;;;;;;;;;30396:1434;;30475:1;30470;30448:14;:21;;;:23;30447:29;;;;;;;;30446:36;;30481:1;30446:36;30442:1177;;;30506:35;;:::i;:::-;30544:18;30589:1;30563:18;:25;:27;30544:47;;;;;;;;;;;;;;;;;;;30922:18;;30999:21;;;;30964:61;;;-1:-1:-1;;;30964:61:1;;-1:-1:-1;;30999:25:1;;;30964:61;;;;;;;30544:47;;-1:-1:-1;;;;;;30922:18:1;;;;:41;;:18;;30964:34;;:61;;;;;30544:47;;30964:61;;;;;30922:18;30964:61;;;5:2:-1;;;;30:1;27;20:12;5:2;30964:61:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30964:61:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30964:61:1;30922:104;;;-1:-1:-1;;;;;;30922:104:1;;;;;;;;;;;;;;;;;;;;30964:61;;30922:104;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;30922:104:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30922:104:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30922:104:1;;30895:24;;:131;;;31085:26;;;;31140:27;;;;31048:14;;31065:103;;31085:53;;;;31065:19;:103::i;:::-;31048:120;;31315:7;31288:34;;:14;:23;;;:34;;;31284:126;;1867:5:4;31350:37:1;;;;;;;;;;31284:126;30442:1177;;;;;31487:18;:27;;;31460:54;;:14;:23;;;:54;;;31456:145;;2215:5:4;31542:36:1;;;;;;;;31456:145;31742:10;:15;;;31715:42;;:14;:23;;;:42;;;31711:104;;2215:5:4;31779:36:1;;;;;;;;31711:104;29359:2481;;-1:-1:-1;837:1:4;;28090:3791:1;-1:-1:-1;;;;;;28090:3791:1:o;32570:305::-;32688:26;;:80;;;-1:-1:-1;;;32688:80:1;;;;;;;;-1:-1:-1;;;;;32688:80:1;;;;;;;;;;;;;;;;:26;;;;;;;;:41;;:80;;;;;-1:-1:-1;;32688:80:1;;;;;;;;-1:-1:-1;32688:26:1;:80;;;5:2:-1;;;;30:1;27;20:12;5:2;32688:80:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;32783:52:1;;;;;;;;;;;;-1:-1:-1;;;;;32783:52:1;;;;;;;;;;-1:-1:-1;32783:52:1;;;;;;;-1:-1:-1;32783:52:1;32845:23;32853:14;32845:7;:23::i;1409:467:15:-;1842:7;1830:20;1864:7;1409:467;;:::o;6198:157:1:-;6274:11;6304:44;6325:12;6344:3;6339:4;:8;6304:20;:44::i;5781:162::-;5862:11;5892:44;5913:12;5932:3;5927:4;:8;5892:20;:44::i;5233:299::-;5439:33;;;;;5433:40;5318:4;;5375;:8;;5499:26;5433:40;5499:11;:26::i;10105:322::-;10204:13;10219:27;10292:36;10311:7;10320:3;10326:1;10320:7;10292:18;:36::i;:::-;10263:65;;-1:-1:-1;10263:65:1;-1:-1:-1;10349:30:1;10361:7;10263:65;10349:11;:30::i;:::-;10401:1;10389:13;;10105:322;;-1:-1:-1;10105:322:1;-1:-1:-1;;10105:322:1:o;10653:626::-;10768:13;10783:4;10803:15;10828:9;10868:25;10880:7;10889:3;10868:11;:25::i;:::-;10848:45;-1:-1:-1;10848:45:1;-1:-1:-1;10908:9:1;;;:30;;;10928:10;10921:4;:17;10908:30;10904:120;;;-1:-1:-1;10961:10:1;10904:120;;;-1:-1:-1;11009:4:1;10904:120;11034:28;11076:4;11065:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;11065:16:1;-1:-1:-1;11034:47:1;-1:-1:-1;11097:6:1;11092:142;11113:4;11109:1;:8;11092:142;;;11158:42;11170:29;11186:7;11195:3;11170:15;:29::i;:::-;11158:11;:42::i;:::-;11138:14;11153:1;11138:17;;;;;;;;;;;;;;;;;;:62;;;;11214:9;;;;;11119:3;;11092:142;;;-1:-1:-1;11252:14:1;11268:3;;-1:-1:-1;;;;;;10653:626:1:o;11357:182::-;11495:27;11509:4;11495:27;11489:34;;11466:67::o;12659:1171::-;12760:4;12766;12772;12792:13;12815:10;12828:1;12815:14;;12839:11;-1:-1:-1;;;12839:80:1;;12929:9;-1:-1:-1;;;;;;12929:78:1;;13057:8;13051:15;13105:4;13095:8;13091:19;13144:3;13138:4;13134:14;13162:350;13179:3;13173:4;13170:13;13162:350;;;13258:6;13251:4;13244;13238:11;13234:22;13231:34;13228:2;;;13291:14;13288:2;;13374:1;13366:4;13361:3;13357:14;13352:3;13348:24;13344:32;13332:44;;13288:2;13439:1;13432:5;13428:13;13419:22;;13228:2;13494:3;13488:4;13484:14;13476:22;;13162:350;;;13026:496;;;13545:1;13536:5;:10;13532:292;;-1:-1:-1;13570:1:1;;-1:-1:-1;;;;;13573:12:1;;-1:-1:-1;402:5:4;;-1:-1:-1;13562:41:1;;13532:292;13624:5;13633:1;13624:10;13620:204;;;13658:35;13674:8;13684;13658:15;:35::i;:::-;13650:61;-1:-1:-1;;;;13695:12:1;;;;-1:-1:-1;13709:1:1;;-1:-1:-1;13650:61:1;;-1:-1:-1;;13650:61:1;13620:204;-1:-1:-1;13776:1:1;;-1:-1:-1;;;;;13779:12:1;;-1:-1:-1;475:5:4;;-1:-1:-1;12659:1171:1;;;;;;:::o;14929:243::-;15015:4;15038:127;15052:10;15093:3;:20;;;15144:3;:20;;;15038:13;:127::i;14204:264::-;14274:4;14297:164;14309:151;14323:3;:10;;;14376:3;:19;;;14438:3;:21;;;14309:13;:151::i;33368:97::-;33434:24;;;;:8;:24;;;;;33427:31;;-1:-1:-1;;;;;;33427:31:1;;;;;;;;;;;;;;;;;;;;;;;;;;;33434:24;33427:31;;;;33434:24;33427:31;:::i;25976:1259::-;26137:25;;26108:4;;-1:-1:-1;;26137:27:1;26124:686;26165:3;;26124:686;;26187:29;;:::i;:::-;26219:18;26238:1;26219:21;;;;;;;;;;;;;;26187:53;;26254:29;;:::i;:::-;26286:18;26307:1;26305;:3;26286:23;;;;;;;;;;;;;;26254:55;;26494:18;:25;26523:2;26494:31;;:68;;;;26560:1;26534:18;:25;:27;26529:1;:33;26494:68;26490:195;;;26597:15;;26585:27;;;;;;;26581:89;;1924:5:4;26634:36:1;;;;;;;26581:89;26725:10;:20;;;26701:10;:20;;;:44;26698:101;;2039:5:4;26763:36:1;;;;;;;26698:101;-1:-1:-1;;;;26169:3:1;26124:686;;;;26836:18;26855:1;26836:21;;;;;;;;;;;;;;:26;;;26824:38;;:8;:38;;;26820:105;;-1:-1:-1;1924:5:4;26878:36:1;;26820:105;27009:19;;;:26;27039:1;-1:-1:-1;27005:190:1;;27091:18;27110:1;27091:21;;;;;;;;;;;;;;:31;;;27060:7;:27;;;:62;27056:128;;-1:-1:-1;2399:5:4;27140:44:1;;27056:128;-1:-1:-1;837:1:4;25976:1259:1;;;;;:::o;27645:361::-;27736:4;27751:26;;:::i;:::-;27846:6;27842:96;27857:2;27855:1;:4;27842:96;;;27894:18;27913:1;27915;27913:3;27894:23;;;;;;;;;;;;;;:33;;;27878:49;;:10;27889:1;27878:13;;;;;;;;;;:49;27860:3;;27842:96;;;;27947:22;27958:10;27947;:22::i;:::-;27986:13;;;;;-1:-1:-1;;27645:361:1:o;17001:669::-;17088:13;17135:15;564:5;17197:36;;17193:212;;;-1:-1:-1;564:5:1;17193:212;;;640:5;17306:14;:36;17302:103;;;-1:-1:-1;640:5:1;17302:103;17435:10;17448:21;17463:5;17448:14;:21::i;:::-;517:5;17487:22;;;17527:23;;-1:-1:-1;;;;;;17565:17:1;;17561:65;;;-1:-1:-1;;;;;;17561:65:1;17643:20;17657:5;17643:13;:20::i;11545:894::-;11651:4;11657:12;11685:13;11708:15;11751:25;11763:7;11772:3;11751:11;:25::i;:::-;11733:43;-1:-1:-1;11733:43:1;-1:-1:-1;11855:16:1;11852:257;;11904:25;11916:7;11925:3;11904:11;:25::i;:::-;11886:43;-1:-1:-1;11886:43:1;-1:-1:-1;11959:16:1;11951:25;;;;;;12073;12085:7;12094:3;12073:11;:25::i;:::-;12055:43;-1:-1:-1;12055:43:1;-1:-1:-1;11852:257:1;12126:8;12138:1;12126:13;12118:22;;;;;;12158:2;12151:9;;;;12208:25;12220:7;12229:3;12208:11;:25::i;:::-;12188:45;-1:-1:-1;12188:45:1;-1:-1:-1;12243:27:1;12297:40;12308:7;12188:45;12322:14;;;12297:10;:40::i;:::-;12347:21;;;;12367:1;12347:21;;;;-1:-1:-1;;;;;11545:894:1:o;9525:417::-;9600:4;9616:14;9640:15;9685:25;9697:7;9706:3;9685:11;:25::i;:::-;9666:44;-1:-1:-1;9666:44:1;-1:-1:-1;9741:2:1;9729:14;;9721:23;;;;;;9760:6;9755:160;9776:9;9772:1;:13;9755:160;;;9813:1;9806:8;;;;9848:25;9860:7;9869:3;9848:11;:25::i;:::-;9887:17;;;-1:-1:-1;9828:45:1;-1:-1:-1;9787:3:1;;9755:160;;;-1:-1:-1;9932:3:1;;9525:417;-1:-1:-1;;;;9525:417:1:o;27240:337::-;27308:6;27304:267;27324:2;27320:1;:6;27304:267;;;27362:1;27360:3;;27347:214;27369:2;27365:1;:6;27347:214;;;27408:3;27412:1;27408:6;;;;;;;;;;;27399:3;27403:1;27399:6;;;;;;;;;;;:15;27396:151;;;27438:9;27450:3;27454:1;27450:6;;;;;;;;;;;27438:18;;27487:3;27491:1;27487:6;;;;;;;;;;;27478:3;27482:1;27478:6;;;;;;;;;;:15;27524:4;27515:3;27519:1;27515:6;;;;;;;;;;:13;-1:-1:-1;27396:151:1;27373:3;;27347:214;;;-1:-1:-1;27328:3:1;;27304:267;;;;27240:337;:::o;19214:750::-;19270:6;19288:11;19308:33;19320:12;19327:4;19320:6;:12::i;:::-;19335:1;19320:16;19339:1;19308:10;:33::i;:::-;19288:54;-1:-1:-1;19352:14:1;19394:1;19384:11;;19380:242;;19429:46;19440:4;19447:8;19440:15;19467:6;19463:1;:10;19458:1;:16;19429:9;:46::i;:::-;19411:65;;19380:242;;;19525:34;19536:4;19556:1;19547:6;:10;19542:1;:16;19525:10;:34::i;:::-;19602:8;19592:18;;-1:-1:-1;19380:242:1;19794:10;19784:20;;19783:26;19779:122;;19842:22;19853:7;19842:22;;19862:1;19842:10;:22::i;:::-;19825:40;;19889:1;19879:11;;;;19779:122;19935:21;19945:6;19953:2;19935:9;:21::i;:::-;19918:39;;19214:750;-1:-1:-1;;;19214:750:1:o;18641:213::-;18690:11;18729:4;18743:105;18750:12;;18743:105;;18789:23;18800:8;18810:1;18789:10;:23::i;:::-;18778:34;;18836:1;18826:11;;;;18743:105;;;18641:213;;;;:::o;17934:118::-;18000:4;18039:6;18035:1;18030:15;18023:4;:22;;;;;;;17934:118;-1:-1:-1;;;17934:118:1:o;18317:117::-;18417:1;18412:15;18405:22;;18317:117::o;348:33890::-;;;;;;;;;-1:-1:-1;348:33890:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;348:33890:1;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;348:33890:1;;;;;;-1:-1:-1;;;;;348:33890:1;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;348:33890:1;;;-1:-1:-1;;348:33890:1:o;:::-;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "348:33890:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;348:33890:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1517:501:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1517:501:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;1517:501:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1517:501:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1517:501:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1517:501:5;;-1:-1:-1;;1517:501:5;;;-1:-1:-1;1517:501:5;;-1:-1:-1;;1517:501:5:i;:::-;;;;;;;;;;;;;;;;;;;9292:227:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9292:227:1;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9292:227:1;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9292:227:1;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9292:227:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9292:227:1;;-1:-1:-1;;9292:227:1;;;-1:-1:-1;;;9292:227:1;;;;:::i;:::-;;;;;;;;;;;;;;;;2429:29;;;:::i;8548:562::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8548:562:1;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;8548:562:1;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8548:562:1;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8548:562:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8548:562:1;;-1:-1:-1;;8548:562:1;;;-1:-1:-1;;;8548:562:1;;;;:::i;4019:265::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4019:265:1;-1:-1:-1;;;;;4019:265:1;;:::i;:::-;;5765:460:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5765:460:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5765:460:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5765:460:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5765:460:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5765:460:5;;-1:-1:-1;;5765:460:5;;;-1:-1:-1;;;5765:460:5;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5765:460:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4142:61:4;;;:::i;506:580:5:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;506:580:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;506:580:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;506:580:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;506:580:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;506:580:5;;-1:-1:-1;;506:580:5;;;-1:-1:-1;506:580:5;;-1:-1:-1;;506:580:5:i;:::-;;;;;;;;;;;;;;;;;;;;;;;22357:3252:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22357:3252:1;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;22357:3252:1;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22357:3252:1;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;22357:3252:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;22357:3252:1;;-1:-1:-1;;22357:3252:1;;;-1:-1:-1;22357:3252:1;;-1:-1:-1;;22357:3252:1:i;33547:242::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;33547:242:1;;:::i;:::-;;;;;;;;;;;;;;;;;;31957:549;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31957:549:1;;:::i;2214:1816:5:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2214:1816:5;;:::i;4426:946::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4426:946:5;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4426:946:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4426:946:5;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4426:946:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4426:946:5;;-1:-1:-1;4426:946:5;;-1:-1:-1;;;;;4426:946:5:i;4327:518:1:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4327:518:1;;;-1:-1:-1;;;;;4327:518:1;;;;;;;;;;;;:::i;1135:259:5:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1135:259:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;1135:259:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1135:259:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1135:259:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1135:259:5;;-1:-1:-1;;1135:259:5;;;-1:-1:-1;;;1135:259:5;;;;:::i;3665:348:1:-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;3665:348:1;;;;;-1:-1:-1;;;;;3665:348:1;;;;;;;;;;;;;;;:::i;34088:148::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;34088:148:1;;:::i;2350:30::-;;;:::i;33794:289::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;33794:289:1;;:::i;16511:196::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16511:196:1;;;;:::i;20140:759::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20140:759:1;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;20140:759:1;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;20140:759:1;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;20140:759:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;20140:759:1;;-1:-1:-1;20140:759:1;;-1:-1:-1;;;;;20140:759:1:i;1517:501:5:-;1622:13;1714:3;1707:4;1700:5;1696:16;1692:26;1686:33;1750:4;1744:11;1798:4;1795:1;1790:13;1786:1;1780:4;1776:12;1768:36;1847:4;1844:1;1839:13;1835:1;1829:4;1825:12;1817:36;1896:4;1893:1;1888:13;1884:1;1878:4;1874:12;1866:36;1945:4;1942:1;1937:13;1933:1;1927:4;1923:12;1915:36;1990:11;1978:10;1974:28;;1660:352;-1:-1:-1;;;;1660:352:5:o;9292:227:1:-;9407:4;9434:78;9451:59;9475:33;9485:9;9496:6;9504:3;9475:9;:33::i;:::-;9458:51;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;9458:51:1;;;9451:59;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;9451:59:1;;;;;;;-1:-1:-1;263:2;;-1:-1;;9451:59:1;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9451:59:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9451:59:1;9434:11;:78::i;:::-;9427:85;;9292:227;;;;;;:::o;2429:29::-;;;;:::o;8548:562::-;8659:14;8915:4;8909:11;9010:4;9005:3;9000;8991:6;8984:4;8973:9;8969:20;8965:33;8959:4;8954:3;8943:72;8933:2;;9045:1;9042;9035:12;8933:2;9084:10;;8698:406;-1:-1:-1;;;;8698:406:1:o;4019:265::-;4129:26;;;;;-1:-1:-1;;;;;4129:26:1;4121:49;:96;;;;-1:-1:-1;;;;;;4174:43:1;;;;4121:96;4113:105;;;;;;4228:26;:49;;-1:-1:-1;;;;;4228:49:1;;;;;-1:-1:-1;;;;;;4228:49:1;;;;;;;;;4019:265::o;5765:460:5:-;5859:12;5883:8;5906:6;5894:9;:18;5883:29;;5922:19;5954:3;5944:14;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;104:10;5944:14:5;87:34:-1;135:17;;-1:-1;5944:14:5;;5922:36;;6136:3;6129:4;6121:6;6117:17;6112:3;6103:6;6096:4;6085:9;6081:20;6077:33;6071:4;6066:3;6055:85;6045:2;;6170:1;6167;6160:12;6045:2;6212:6;5765:460;-1:-1:-1;;;;;5765:460:5:o;4142:61:4:-;4184:19;4142:61;:::o;506:580:5:-;580:4;586;660:10;679:7;687:3;679:12;;;;;;;;;;;;709:1;702:8;;;;;679:12;;;-1:-1:-1;746:4:5;739:11;;735:345;;;766:18;;;-1:-1:-1;780:3:5;;-1:-1:-1;766:18:5;;735:345;805:4;:12;;813:4;805:12;801:279;;;841:28;852:7;861:3;866:2;841:10;:28::i;:::-;871:3;877:1;871:7;833:46;;;;;;;801:279;900:4;:12;;908:4;900:12;896:184;;;936:28;947:7;956:3;961:2;936:10;:28::i;:::-;966:3;972:1;966:7;928:46;;;;;;;896:184;995:4;:12;;1003:4;995:12;991:89;;;1031:28;1042:7;1051:3;1056:2;1031:10;:28::i;:::-;1061:3;1067:1;1061:7;1023:46;;;;;;;991:89;506:580;;;;;;;:::o;22357:3252:1:-;22502:29;22534:24;;;:8;:24;;;;;22588:17;;-1:-1:-1;;;;;22588:17:1;22624:10;:23;;22616:32;;;;;;22681:19;;;:26;22729:15;22722:3;;;;:22;;;;;;;;;22718:185;;22783:1;22765:14;:19;;:39;;;;;22788:10;22802:2;22788:16;;22765:39;22764:86;;;;22810:14;22828:1;22810:19;:39;;;;;22833:10;22847:2;22833:16;;22810:39;22760:133;;;22870:8;;;22760:133;22913:56;;:::i;:::-;23177:18;;:48;;;-1:-1:-1;;;23177:48:1;;;;;;;;;;-1:-1:-1;;;;;23177:18:1;;;;:32;;:48;;;;;;;;;;;;;;;:18;:48;;;5:2:-1;;;;30:1;27;20:12;5:2;23177:48:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23177:48:1;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;23177:48:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22979:246;;;;23177:48;23140:21;;22979:246;23114:23;;;22979:246;;;;;;;23177:48;23090:23;;22979:246;23066:23;;;22979:246;;;;23038:27;;;22979:246;23013:24;;;22979:246;;;;;;;23289:25;;;;;;;;;;;;;;;;22980:31;;23177:48;23303:10;23289:25;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;23289:25:1;;23258:56;;23324:39;23384:10;23366:29;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;23324:71:1;-1:-1:-1;23406:8:1;;23445:1000;23466:18;:25;23462:1;:29;23445:1000;;;23535:35;23552:12;23566:3;23535:16;:35::i;:::-;23511:18;23530:1;23511:21;;;;;;;;;;;;;:59;;;;23584:11;23598:42;23613:18;23632:1;23613:21;;;;;;;;;;;;;;:26;;;23598:14;:42::i;:::-;23584:56;;23659:31;23672:12;23686:3;23659:12;:31::i;:::-;23655:717;;;23710:16;;:::i;:::-;23729:30;23741:12;23755:3;23729:11;:30::i;:::-;23710:49;;23796:6;23781:2;:12;;;:21;23777:125;;;736:5:4;23826:30:1;;23878:5;;;;23777:125;23920:15;23938:54;23955:18;23974:1;23955:21;;;;;;;;;;;;;;:31;;;23950:37;;23989:2;23938:11;:54::i;:::-;23920:72;;24014:10;24028:1;24014:15;24010:105;;24059:10;-1:-1:-1;24091:5:1;;-1:-1:-1;;24091:5:1;24010:105;-1:-1:-1;24139:6:1;;;;-1:-1:-1;23655:717:1;;;24228:6;24193:18;24212:1;24193:21;;;;;;;;;;;;;;:31;;;24188:37;;:46;24184:143;;;633:5:4;24258:23:1;;24303:5;;;24184:143;24351:3;24355:2;24351:6;24345:12;;23655:717;24403:18;24422:1;24403:21;;;;;;;;;;;;;;:31;;;24386:11;24398:1;24386:14;;;;;;;;;;;;;;;;;:48;-1:-1:-1;23493:3:1;;23445:1000;;;-1:-1:-1;24459:24:1;;24455:143;;24543:18;;;;24499:68;;24516:14;;24532:9;;-1:-1:-1;;;;;24543:18:1;24563:3;24499:16;:68::i;:::-;24581:7;;;;;;;;;;24455:143;24614:178;24649:7;24670:14;24698:23;24709:11;24698:10;:23::i;:::-;24735:18;24780:1;24754:18;:25;:27;24735:47;;;;;;;;;;;;;;24614:21;:178::i;:::-;24608:184;-1:-1:-1;24806:24:1;;24802:801;;24890:18;;;;24846:68;;24863:14;;24879:9;;-1:-1:-1;;;;;24890:18:1;24910:3;24846:16;:68::i;:::-;24802:801;;;24975:15;24945:27;;;:45;25010:60;24945:7;25035:14;25051:18;25010:15;:60::i;:::-;25004:66;-1:-1:-1;25088:24:1;;25084:155;;25176:18;;;;25132:68;;25149:14;;25165:9;;-1:-1:-1;;;;;25176:18:1;25196:3;25132:16;:68::i;25084:155::-;25339:10;25353:2;25339:16;:42;;;-1:-1:-1;25366:15:1;25359:3;;;;:22;;;;;;;;;25339:42;25336:172;;;25445:18;;;;25400:69;;25418:14;;25434:9;;-1:-1:-1;;;;;25445:18:1;25465:3;25400:17;:69::i;25336:172::-;25526:66;;;;;;25579:1;25562:18;;25526:66;;;;-1:-1:-1;;;;;25526:66:1;;;;;;;;;;;;;;;;;24802:801;22357:3252;;;;;;;;;;;;:::o;33547:242::-;33626:4;33674:24;;;:8;:24;;;;;33764:17;;33734:27;;;;;:47;33716:15;:65;33547:242;;;;:::o;31957:549::-;32016:4;32064:24;;;:8;:24;;;;;32106:17;;-1:-1:-1;;;;;32106:17:1;32098:40;;;;;;32201:17;;32171:7;:27;;;:47;32153:15;:65;32149:309;;;32267:17;;;32286:18;;;32234:95;;32251:14;;-1:-1:-1;;;;;32267:17:1;;;;32286:18;1050:5:4;32234:16:1;:95::i;:::-;32343:26;;;;;;;;;-1:-1:-1;;;;;32343:26:1;-1:-1:-1;;;;;32343:45:1;;32389:14;32343:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;32343:61:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;32343:61:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1050:5:4;;-1:-1:-1;32418:29:1;;-1:-1:-1;;32418:29:1;32149:309;-1:-1:-1;1103:5:4;;31957:549:1;-1:-1:-1;;31957:549:1:o;2214:1816:5:-;2332:4;2326:11;2269;;2371:16;;;2326:11;2350:38;2431:6;2427:2;2422:16;2418:1;2413:3;2409:11;2401:38;2482:6;2478:2;2473:16;2469:1;2464:3;2460:11;2452:38;2533:6;2529:2;2524:16;2520:1;2515:3;2511:11;2503:38;2584:6;2580:2;2575:16;2571:1;2566:3;2562:11;2554:38;2635:6;2631:2;2626:16;2622:1;2617:3;2613:11;2605:38;2686:6;2682:2;2677:16;2673:1;2668:3;2664:11;2656:38;2737:6;2733:2;2728:16;2724:1;2719:3;2715:11;2707:38;2788:6;2784:2;2779:16;2775:1;2770:3;2766:11;2758:38;2839:6;2835:2;2830:16;2826:1;2821:3;2817:11;2809:38;2891:6;2887:2;2882:16;2877:2;2872:3;2868:12;2860:39;2943:6;2939:2;2934:16;2929:2;2924:3;2920:12;2912:39;2995:6;2991:2;2986:16;2981:2;2976:3;2972:12;2964:39;3047:6;3043:2;3038:16;3033:2;3028:3;3024:12;3016:39;3099:6;3095:2;3090:16;3085:2;3080:3;3076:12;3068:39;3151:6;3147:2;3142:16;3137:2;3132:3;3128:12;3120:39;3203:6;3199:2;3194:16;3189:2;3184:3;3180:12;3172:39;3255:6;3251:2;3246:16;3241:2;3236:3;3232:12;3224:39;3307:6;3303:2;3298:16;3293:2;3288:3;3284:12;3276:39;3359:6;3355:2;3350:16;3345:2;3340:3;3336:12;3328:39;3411:6;3407:2;3402:16;3397:2;3392:3;3388:12;3380:39;3463:6;3459:2;3454:16;3449:2;3444:3;3440:12;3432:39;3514:6;3511:1;3506:15;3501:2;3496:3;3492:12;3484:38;3565:6;3562:1;3557:15;3552:2;3547:3;3543:12;3535:38;3616:6;3613:1;3608:15;3603:2;3598:3;3594:12;3586:38;3667:6;3664:1;3659:15;3654:2;3649:3;3645:12;3637:38;3718:6;3715:1;3710:15;3705:2;3700:3;3696:12;3688:38;3769:6;3766:1;3761:15;3756:2;3751:3;3747:12;3739:38;3820:6;3817:1;3812:15;3807:2;3802:3;3798:12;3790:38;3871:6;3868:1;3863:15;3858:2;3853:3;3849:12;3841:38;3922:6;3919:1;3914:15;3909:2;3904:3;3900:12;3892:38;3973:6;3970:1;3965:15;3960:2;3955:3;3951:12;3943:38;4004:10;;2301:1723;-1:-1:-1;;2301:1723:5:o;4426:946::-;4582:16;;4548:4;;;4624:94;4640:6;4636:1;:10;4624:94;;;4682:25;4694:9;4704:1;4694:12;;;;;;;;;;;;;;4682:11;:25::i;:::-;4667:9;4677:1;4667:12;;;;;;;;;;;;;;;;;:40;4648:3;;4624:94;;;-1:-1:-1;4732:1:5;;4761:20;4773:7;4761:11;:20::i;:::-;4743:38;;4800:525;4811:6;4807:1;:10;4800:525;;;4833:13;4849:9;4859:1;4849:12;;;;;;;;;;;;;;4833:28;;4876:9;4899:10;4938:1;4927:8;:12;;;;;;4943:1;4927:17;4923:248;;;-1:-1:-1;5022:8:5;;-1:-1:-1;5056:10:5;4923:248;;;-1:-1:-1;5112:10:5;;-1:-1:-1;5148:8:5;4923:248;5202:63;5226:37;5250:4;5256:5;5233:29;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5233:29:5;;;5226:37;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5226:37:5;;;;;;;-1:-1:-1;263:2;;-1:-1;;5226:37:5;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5226:37:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5226:37:5;5209:55;;;5226:37;5209:55;;;;;;;;;26:21:-1;;;22:32;;6:49;;5209:55:5;;;;;;;5202:63;;5209:55;;;;5202:63;;;;;5209:55;5202:63;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5202:63:5;;;;;;;-1:-1:-1;263:2;;-1:-1;;5202:63:5;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5202:63:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5202:63:5;;-1:-1:-1;5293:1:5;5281:13;;;;5313:1;5308:6;;;;4800:525;;;;;;5342:23;5354:10;5342:11;:23::i;:::-;5335:30;4426:946;-1:-1:-1;;;;;;;4426:946:5:o;4327:518:1:-;4452:26;;;;;-1:-1:-1;;;;;4452:26:1;3135:10;:20;;3127:29;;;;;;4491;4523:24;;;:8;:24;;;;;4566:17;;-1:-1:-1;;;;;4566:17:1;:31;4558:40;;;;;;4609:29;;-1:-1:-1;;;;;4609:29:1;;;-1:-1:-1;;;;;;4609:29:1;;;;;;;4648:18;;:31;;;;;;;;;;;;4609:17;4689:30;:19;;;4609:17;4689:30;:::i;:::-;-1:-1:-1;4759:15:1;4729:27;;;:45;4790:48;;;;;;-1:-1:-1;;;;;4790:48:1;;;;;;;;;;;;;;;;;;;;;;;;3166:1;4327:518;;;;:::o;1135:259:5:-;1240:14;;1270:118;1301:1;1294:4;:8;1290:1;:12;1270:118;;;1371:1;1375;1371:5;1365:1;:12;1347:4;1358:1;1352:3;:7;1347:13;;;;;;;;;;;;;;1333:44;1323:54;;;;;1304:3;;1270:118;;;;1135:259;;;;;:::o;3665:348:1:-;1024:12:16;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:16;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;1016:106:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:16;;;;;1225:18;1213:4;1225:18;;;1170:80;3851:3:1;:14;;3857:8;;3851:3;-1:-1:-1;;3851:14:1;;3857:8;3851:14;;;;;;;;;;;;-1:-1:-1;3875:18:1;:33;;-1:-1:-1;;;;;;3875:33:1;-1:-1:-1;;;;;3875:33:1;;;;;3918:18;:40;;;3968:17;:38;;;1264:55:16;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:16;;;1264:55;3665:348:1;;;;;:::o;34088:148::-;34158:4;34181:24;;;:8;:24;;;;;:34;-1:-1:-1;;;;;34181:34:1;:48;;;34088:148::o;2350:30::-;;;;:::o;33794:289::-;33878:4;33894:28;;:::i;:::-;33925:24;;;;:8;:24;;;;;;;;;33894:55;;;;;;;;;-1:-1:-1;;;;;33894:55:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33925:24;;33894:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;33894:55:1;;;;-1:-1:-1;;33963:17:1;;33894:55;;-1:-1:-1;;;;;;;33963:31:1;33959:57;;34015:1;34008:8;;;;;33959:57;-1:-1:-1;;34033:24:1;;;;:8;:24;;;;;:36;;:43;;33794:289::o;16511:196::-;16654:8;16646:16;;16605:9;16597:17;;;;;16586:28;;;-1:-1:-1;;16692:7:1;16686:3;:14;16679:21;;16511:196::o;20140:759::-;20239:13;;20206:7;;20277:1;20267:11;;20263:33;;;20287:6;20294:1;20287:9;;;;;;;;;;;;;;20280:16;;;;;20263:33;20323:1;20314:6;:10;20306:42;;;;;-1:-1:-1;;;20306:42:1;;;;;;;;;;;;-1:-1:-1;;;20306:42:1;;;;;;;;;;;;;;;20359:6;20375:103;20391:6;20387:1;:10;20375:103;;;20438:28;20455:6;20462:1;20455:9;;;;;;;;;;;;;;20450:15;;20438:11;:28::i;:::-;20430:37;;20418:6;20425:1;20418:9;;;;;;;;;;;;;;;;;:49;20399:3;;20375:103;;;20488:6;20504;20521:318;20537:1;20528:6;:10;20521:318;;;-1:-1:-1;20558:1:1;;-1:-1:-1;20558:1:1;20573:232;20589:6;20585:1;:10;20573:232;;;20636:6;20628:1;20632;20628:5;:14;20627:37;;20663:1;20654:6;:10;20627:37;;;20646:1;20650;20646:5;20627:37;20623:41;;20694:72;20718:46;20742:6;20749:1;20742:9;;;;;;;;;;;;;;20753:6;20760:1;20753:9;;;;;;;;;;;;;;20725:38;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;20725:38:1;;;20718:46;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;20718:46:1;;;;;;;-1:-1:-1;263:2;;-1:-1;;20718:46:1;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20718:46:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20718:46:1;20701:64;;;20718:46;20701:64;;;;;;;;;26:21:-1;;;22:32;;6:49;;20701:64:1;;;;;;;20694:72;;20701:64;;;;20694:72;;;;;20701:64;20694:72;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;20694:72:1;;;;;;;-1:-1:-1;263:2;;-1:-1;;20694:72:1;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20694:72:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20694:72:1;20682:9;;:6;;20689:1;;20682:9;;;;;;;;;;;;;;;:84;20602:1;20597:6;;;;;20789:1;20784:6;20573:232;;;20827:1;20818:10;;20521:318;;;20863:28;20880:6;20887:1;20880:9;;;;;;;20863:28;20855:37;20140:759;-1:-1:-1;;;;;;20140:759:1:o;6600:341::-;6682:21;;:::i;:::-;6725:23;6733:9;6744:3;6725:7;:23::i;:::-;6715:33;;;;6781;6795:9;6806:3;6811:2;6781:13;:33::i;:::-;6758:12;;;:57;6840:28;6853:9;6864:3;6840:12;:28::i;:::-;6825:43;;:12;;;:43;6901:32;6918:9;6929:3;6901:16;:32::i;:::-;6878:12;;;:56;:2;6600:341;-1:-1:-1;;6600:341:1:o;25744:166::-;25822:4;25649:6;25845:36;25866:9;25877:3;25845:20;:36::i;:::-;:53;:58;;25902:1;25845:58;;25838:65;;25744:166;;;;;:::o;6947:1595::-;7047:20;;:::i;:::-;7083:27;7120:13;7249:2;7242:9;;;;7317:26;7329:8;7339:3;7317:11;:26::i;:::-;7288:55;-1:-1:-1;7288:55:1;-1:-1:-1;7369:44:1;7383:8;7393:3;7398:14;;;7369:13;:44::i;:::-;7353:13;;;;:60;;;;7506:9;;;-1:-1:-1;7559:34:1;7576:8;7506:9;7591:1;7559:16;:34::i;:::-;7526:24;;;7525:68;;;;;-1:-1:-1;7628:29:1;7639:8;7525:68;7654:2;7628:10;:29::i;:::-;7603:22;;;:54;7674:1;7667:8;;;;;7718:34;7735:8;7667;7750:1;7718:16;:34::i;:::-;7686:23;;;7685:67;;;;;-1:-1:-1;7788:29:1;7799:8;7685:67;7814:2;7788:10;:29::i;:::-;7762:23;;;:55;7834:1;7827:8;;;;;8030:32;8044:8;7827;8059:2;8030:13;:32::i;:::-;8011:51;;8079:2;8072:9;;;;;8155:30;8171:8;8072:9;8155:15;:30::i;:::-;8129:23;;;:56;8202:2;8195:9;;;;;8300:29;8311:8;8195:9;8326:2;8300:10;:29::i;:::-;8279:18;;;:50;8356:1;8352:5;;8339:10;;;:18;-1:-1:-1;8497:38:1;8520:14;8497:22;:38::i;:::-;8464:29;;;8408:127;-1:-1:-1;8409:25:1;;;8408:127;-1:-1:-1;8409:6:1;;6947:1595;-1:-1:-1;;;;6947:1595:1:o;15680:543::-;15759:4;15779:3;:19;;;15802:1;15779:24;15775:80;;-1:-1:-1;200:5:4;15819:25:1;;15775:80;15869:3;:26;;;15899:1;15869:31;15865:95;;-1:-1:-1;15923:26:1;;;;15916:33;;15865:95;16013:3;:22;;;15974:35;15993:10;16005:3;15974:18;:35::i;:::-;:61;15970:115;;-1:-1:-1;543:5:4;16051:23:1;;15970:115;16127:3;:20;;;16099:24;16119:3;16099:19;:24::i;:::-;:48;16095:103;;-1:-1:-1;588:5:4;16163:24:1;;16095:103;-1:-1:-1;16215:1:1;15680:543;;;;:::o;32938:302::-;33055:26;;:80;;;-1:-1:-1;;;33055:80:1;;;;;;;;-1:-1:-1;;;;;33055:80:1;;;;;;;;;;;;;;;;:26;;;;;;;;:41;;:80;;;;;-1:-1:-1;;33055:80:1;;;;;;;;-1:-1:-1;33055:26:1;:80;;;5:2:-1;;;;30:1;27;20:12;5:2;33055:80:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;33150:50:1;;;;;;;;;;;;-1:-1:-1;;;;;33150:50:1;;;;;;;;;;-1:-1:-1;33150:50:1;;;;;;;-1:-1:-1;33150:50:1;33210:23;33218:14;33210:7;:23::i;:::-;32938:302;;;;:::o;20959:1392::-;21205:19;;;:26;21185:4;;21235:1;21205:31;;:57;;-1:-1:-1;21247:15:1;21240:3;;;;:22;;;;;;;;;21205:57;21201:1109;;;21278:28;21330:15;21323:3;;;;:22;;;;;;;;;;:30;;21352:1;21323:30;;;21348:1;21323:30;21309:45;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;21309:45:1;-1:-1:-1;21278:76:1;-1:-1:-1;21368:6:1;21388:121;21404:19;;;:26;21400:30;;21388:121;;;21472:7;:19;;21492:1;21472:22;;;;;;;;;;;;;;;;21455:11;21467:1;21455:14;;;;;;;;;;;;;;;;;:39;21432:3;;21388:121;;;21539:10;21522:11;21534:1;21522:14;;;;;;;;;;;;;:27;;;;;21602:23;21613:11;21602:10;:23::i;:::-;21567:31;;:58;21563:133;;1276:5:4;21645:36:1;;;;;;21563:133;21923:10;:20;;;21895:48;;:14;:24;;;:48;21891:126;;1219:5:4;21963:39:1;;;;;;21891:126;22138:14;:23;;;22114:10;:20;;;:47;22110:123;;1982:5:4;22181:37:1;;;;;;22110:123;21201:1109;;;;;22263:19;;;27:10:-1;;39:1;23:18;;45:23;;-1:-1;22263:36:1;;;;;;;;;;;21201:1109;-1:-1:-1;837:1:4;20959:1392:1;;;;;;;:::o;28090:3791::-;28262:4;28278:60;;:::i;:::-;28348:29;;:::i;:::-;28380:18;28425:1;28399:18;:25;:27;28380:47;;;;;;;;;;;;;;28348:79;;28547:18;;;;;;;;;-1:-1:-1;;;;;28547:18:1;-1:-1:-1;;;;;28547:32:1;;28580:14;:23;;;28547:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28547:57:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28547:57:1;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;28547:57:1;;;;;;;;;;;;;;;28437:167;;28547:57;28500:27;;28437:167;28472:27;;28437:167;;;;28440:31;;28437:167;28677:19;;;:26;28707:1;-1:-1:-1;28674:277:1;;28853:18;:27;;;28818:18;28837:1;28818:21;;;;;;;;;;;;;;:31;;;:62;28815:124;;2101:5:4;28898:41:1;;;;;;28815:124;29069:8;29080:69;29092:7;29101:18;29121;:27;;;29080:11;:69::i;:::-;29069:80;-1:-1:-1;29162:24:1;;29159:51;;29207:3;-1:-1:-1;29200:10:1;;-1:-1:-1;;29200:10:1;29159:51;29362:18;:25;29391:2;29362:31;29359:2481;;29572:20;;;;29542:27;;;:50;29359:2481;;;29718:17;29738:38;29757:18;29738;:38::i;:::-;29718:58;;29876:14;:27;;;29860:12;:43;29857:109;;2648:5:4;29922:44:1;;;;;;;;29857:109;30059:18;:31;;;30043:12;:47;30040:112;;2713:5:4;30108:44:1;;;;;;;;30040:112;30407:15;30400:3;;;;:22;;;;;;;;;30396:1434;;30475:1;30470;30448:14;:21;;;:23;30447:29;;;;;;;;30446:36;;30481:1;30446:36;30442:1177;;;30506:35;;:::i;:::-;30544:18;30589:1;30563:18;:25;:27;30544:47;;;;;;;;;;;;;;;;;;;30922:18;;30999:21;;;;30964:61;;;-1:-1:-1;;;30964:61:1;;-1:-1:-1;;30999:25:1;;;30964:61;;;;;;;30544:47;;-1:-1:-1;;;;;;30922:18:1;;;;:41;;:18;;30964:34;;:61;;;;;30544:47;;30964:61;;;;;30922:18;30964:61;;;5:2:-1;;;;30:1;27;20:12;5:2;30964:61:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30964:61:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30964:61:1;30922:104;;;-1:-1:-1;;;;;;30922:104:1;;;;;;;;;;;;;;;;;;;;30964:61;;30922:104;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;30922:104:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30922:104:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30922:104:1;;30895:24;;:131;;;31085:26;;;;31140:27;;;;31048:14;;31065:103;;31085:53;;;;31065:19;:103::i;:::-;31048:120;;31315:7;31288:34;;:14;:23;;;:34;;;31284:126;;1867:5:4;31350:37:1;;;;;;;;;;31284:126;30442:1177;;;;;31487:18;:27;;;31460:54;;:14;:23;;;:54;;;31456:145;;2215:5:4;31542:36:1;;;;;;;;31456:145;31742:10;:15;;;31715:42;;:14;:23;;;:42;;;31711:104;;2215:5:4;31779:36:1;;;;;;;;31711:104;29359:2481;;-1:-1:-1;837:1:4;;28090:3791:1;-1:-1:-1;;;;;;28090:3791:1:o;32570:305::-;32688:26;;:80;;;-1:-1:-1;;;32688:80:1;;;;;;;;-1:-1:-1;;;;;32688:80:1;;;;;;;;;;;;;;;;:26;;;;;;;;:41;;:80;;;;;-1:-1:-1;;32688:80:1;;;;;;;;-1:-1:-1;32688:26:1;:80;;;5:2:-1;;;;30:1;27;20:12;5:2;32688:80:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;32783:52:1;;;;;;;;;;;;-1:-1:-1;;;;;32783:52:1;;;;;;;;;;-1:-1:-1;32783:52:1;;;;;;;-1:-1:-1;32783:52:1;32845:23;32853:14;32845:7;:23::i;1409:467:16:-;1842:7;1830:20;1864:7;1409:467;;:::o;6198:157:1:-;6274:11;6304:44;6325:12;6344:3;6339:4;:8;6304:20;:44::i;5781:162::-;5862:11;5892:44;5913:12;5932:3;5927:4;:8;5892:20;:44::i;5233:299::-;5439:33;;;;;5433:40;5318:4;;5375;:8;;5499:26;5433:40;5499:11;:26::i;10105:322::-;10204:13;10219:27;10292:36;10311:7;10320:3;10326:1;10320:7;10292:18;:36::i;:::-;10263:65;;-1:-1:-1;10263:65:1;-1:-1:-1;10349:30:1;10361:7;10263:65;10349:11;:30::i;:::-;10401:1;10389:13;;10105:322;;-1:-1:-1;10105:322:1;-1:-1:-1;;10105:322:1:o;10653:626::-;10768:13;10783:4;10803:15;10828:9;10868:25;10880:7;10889:3;10868:11;:25::i;:::-;10848:45;-1:-1:-1;10848:45:1;-1:-1:-1;10908:9:1;;;:30;;;10928:10;10921:4;:17;10908:30;10904:120;;;-1:-1:-1;10961:10:1;10904:120;;;-1:-1:-1;11009:4:1;10904:120;11034:28;11076:4;11065:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;11065:16:1;-1:-1:-1;11034:47:1;-1:-1:-1;11097:6:1;11092:142;11113:4;11109:1;:8;11092:142;;;11158:42;11170:29;11186:7;11195:3;11170:15;:29::i;:::-;11158:11;:42::i;:::-;11138:14;11153:1;11138:17;;;;;;;;;;;;;;;;;;:62;;;;11214:9;;;;;11119:3;;11092:142;;;-1:-1:-1;11252:14:1;11268:3;;-1:-1:-1;;;;;;10653:626:1:o;11357:182::-;11495:27;11509:4;11495:27;11489:34;;11466:67::o;12659:1171::-;12760:4;12766;12772;12792:13;12815:10;12828:1;12815:14;;12839:11;-1:-1:-1;;;12839:80:1;;12929:9;-1:-1:-1;;;;;;12929:78:1;;13057:8;13051:15;13105:4;13095:8;13091:19;13144:3;13138:4;13134:14;13162:350;13179:3;13173:4;13170:13;13162:350;;;13258:6;13251:4;13244;13238:11;13234:22;13231:34;13228:2;;;13291:14;13288:2;;13374:1;13366:4;13361:3;13357:14;13352:3;13348:24;13344:32;13332:44;;13288:2;13439:1;13432:5;13428:13;13419:22;;13228:2;13494:3;13488:4;13484:14;13476:22;;13162:350;;;13026:496;;;13545:1;13536:5;:10;13532:292;;-1:-1:-1;13570:1:1;;-1:-1:-1;;;;;13573:12:1;;-1:-1:-1;402:5:4;;-1:-1:-1;13562:41:1;;13532:292;13624:5;13633:1;13624:10;13620:204;;;13658:35;13674:8;13684;13658:15;:35::i;:::-;13650:61;-1:-1:-1;;;;13695:12:1;;;;-1:-1:-1;13709:1:1;;-1:-1:-1;13650:61:1;;-1:-1:-1;;13650:61:1;13620:204;-1:-1:-1;13776:1:1;;-1:-1:-1;;;;;13779:12:1;;-1:-1:-1;475:5:4;;-1:-1:-1;12659:1171:1;;;;;;:::o;14929:243::-;15015:4;15038:127;15052:10;15093:3;:20;;;15144:3;:20;;;15038:13;:127::i;14204:264::-;14274:4;14297:164;14309:151;14323:3;:10;;;14376:3;:19;;;14438:3;:21;;;14309:13;:151::i;33368:97::-;33434:24;;;;:8;:24;;;;;33427:31;;-1:-1:-1;;;;;;33427:31:1;;;;;;;;;;;;;;;;;;;;;;;;;;;33434:24;33427:31;;;;33434:24;33427:31;:::i;25976:1259::-;26137:25;;26108:4;;-1:-1:-1;;26137:27:1;26124:686;26165:3;;26124:686;;26187:29;;:::i;:::-;26219:18;26238:1;26219:21;;;;;;;;;;;;;;26187:53;;26254:29;;:::i;:::-;26286:18;26307:1;26305;:3;26286:23;;;;;;;;;;;;;;26254:55;;26494:18;:25;26523:2;26494:31;;:68;;;;26560:1;26534:18;:25;:27;26529:1;:33;26494:68;26490:195;;;26597:15;;26585:27;;;;;;;26581:89;;1924:5:4;26634:36:1;;;;;;;26581:89;26725:10;:20;;;26701:10;:20;;;:44;26698:101;;2039:5:4;26763:36:1;;;;;;;26698:101;-1:-1:-1;;;;26169:3:1;26124:686;;;;26836:18;26855:1;26836:21;;;;;;;;;;;;;;:26;;;26824:38;;:8;:38;;;26820:105;;-1:-1:-1;1924:5:4;26878:36:1;;26820:105;27009:19;;;:26;27039:1;-1:-1:-1;27005:190:1;;27091:18;27110:1;27091:21;;;;;;;;;;;;;;:31;;;27060:7;:27;;;:62;27056:128;;-1:-1:-1;2399:5:4;27140:44:1;;27056:128;-1:-1:-1;837:1:4;25976:1259:1;;;;;:::o;27645:361::-;27736:4;27751:26;;:::i;:::-;27846:6;27842:96;27857:2;27855:1;:4;27842:96;;;27894:18;27913:1;27915;27913:3;27894:23;;;;;;;;;;;;;;:33;;;27878:49;;:10;27889:1;27878:13;;;;;;;;;;:49;27860:3;;27842:96;;;;27947:22;27958:10;27947;:22::i;:::-;27986:13;;;;;-1:-1:-1;;27645:361:1:o;17001:669::-;17088:13;17135:15;564:5;17197:36;;17193:212;;;-1:-1:-1;564:5:1;17193:212;;;640:5;17306:14;:36;17302:103;;;-1:-1:-1;640:5:1;17302:103;17435:10;17448:21;17463:5;17448:14;:21::i;:::-;517:5;17487:22;;;17527:23;;-1:-1:-1;;;;;;17565:17:1;;17561:65;;;-1:-1:-1;;;;;;17561:65:1;17643:20;17657:5;17643:13;:20::i;11545:894::-;11651:4;11657:12;11685:13;11708:15;11751:25;11763:7;11772:3;11751:11;:25::i;:::-;11733:43;-1:-1:-1;11733:43:1;-1:-1:-1;11855:16:1;11852:257;;11904:25;11916:7;11925:3;11904:11;:25::i;:::-;11886:43;-1:-1:-1;11886:43:1;-1:-1:-1;11959:16:1;11951:25;;;;;;12073;12085:7;12094:3;12073:11;:25::i;:::-;12055:43;-1:-1:-1;12055:43:1;-1:-1:-1;11852:257:1;12126:8;12138:1;12126:13;12118:22;;;;;;12158:2;12151:9;;;;12208:25;12220:7;12229:3;12208:11;:25::i;:::-;12188:45;-1:-1:-1;12188:45:1;-1:-1:-1;12243:27:1;12297:40;12308:7;12188:45;12322:14;;;12297:10;:40::i;:::-;12347:21;;;;12367:1;12347:21;;;;-1:-1:-1;;;;;11545:894:1:o;9525:417::-;9600:4;9616:14;9640:15;9685:25;9697:7;9706:3;9685:11;:25::i;:::-;9666:44;-1:-1:-1;9666:44:1;-1:-1:-1;9741:2:1;9729:14;;9721:23;;;;;;9760:6;9755:160;9776:9;9772:1;:13;9755:160;;;9813:1;9806:8;;;;9848:25;9860:7;9869:3;9848:11;:25::i;:::-;9887:17;;;-1:-1:-1;9828:45:1;-1:-1:-1;9787:3:1;;9755:160;;;-1:-1:-1;9932:3:1;;9525:417;-1:-1:-1;;;;9525:417:1:o;27240:337::-;27308:6;27304:267;27324:2;27320:1;:6;27304:267;;;27362:1;27360:3;;27347:214;27369:2;27365:1;:6;27347:214;;;27408:3;27412:1;27408:6;;;;;;;;;;;27399:3;27403:1;27399:6;;;;;;;;;;;:15;27396:151;;;27438:9;27450:3;27454:1;27450:6;;;;;;;;;;;27438:18;;27487:3;27491:1;27487:6;;;;;;;;;;;27478:3;27482:1;27478:6;;;;;;;;;;:15;27524:4;27515:3;27519:1;27515:6;;;;;;;;;;:13;-1:-1:-1;27396:151:1;27373:3;;27347:214;;;-1:-1:-1;27328:3:1;;27304:267;;;;27240:337;:::o;19214:750::-;19270:6;19288:11;19308:33;19320:12;19327:4;19320:6;:12::i;:::-;19335:1;19320:16;19339:1;19308:10;:33::i;:::-;19288:54;-1:-1:-1;19352:14:1;19394:1;19384:11;;19380:242;;19429:46;19440:4;19447:8;19440:15;19467:6;19463:1;:10;19458:1;:16;19429:9;:46::i;:::-;19411:65;;19380:242;;;19525:34;19536:4;19556:1;19547:6;:10;19542:1;:16;19525:10;:34::i;:::-;19602:8;19592:18;;-1:-1:-1;19380:242:1;19794:10;19784:20;;19783:26;19779:122;;19842:22;19853:7;19842:22;;19862:1;19842:10;:22::i;:::-;19825:40;;19889:1;19879:11;;;;19779:122;19935:21;19945:6;19953:2;19935:9;:21::i;:::-;19918:39;;19214:750;-1:-1:-1;;;19214:750:1:o;18641:213::-;18690:11;18729:4;18743:105;18750:12;;18743:105;;18789:23;18800:8;18810:1;18789:10;:23::i;:::-;18778:34;;18836:1;18826:11;;;;18743:105;;;18641:213;;;;:::o;17934:118::-;18000:4;18039:6;18035:1;18030:15;18023:4;:22;;;;;;;17934:118;-1:-1:-1;;;17934:118:1:o;18317:117::-;18417:1;18412:15;18405:22;;18317:117::o;348:33890::-;;;;;;;;;-1:-1:-1;348:33890:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;348:33890:1;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;348:33890:1;;;;;;-1:-1:-1;;;;;348:33890:1;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;348:33890:1;;;-1:-1:-1;;348:33890:1:o;:::-;;;;;;;;;;;;;;;;;;;;;", "source": "pragma solidity ^0.5.13;\n\nimport './interfaces/SyscoinClaimManagerI.sol';\nimport './interfaces/SyscoinSuperblocksI.sol';\nimport './SyscoinErrorCodes.sol';\nimport \"@openzeppelin/upgrades/contracts/Initializable.sol\";\nimport \"./SyscoinParser/SyscoinMessageLibrary.sol\";\n\n// @dev - Manages a battle session between superblock submitter and challenger\ncontract SyscoinBattleManager is Initializable, SyscoinErrorCodes, SyscoinMessageLibrary {\n\n // For verifying Syscoin difficulty\n uint constant TARGET_TIMESPAN = 21600;\n uint constant TARGET_TIMESPAN_MIN = 17280; // TARGET_TIMESPAN * (8/10);\n uint constant TARGET_TIMESPAN_MAX = 27000; // TARGET_TIMESPAN * (10/8);\n uint constant TARGET_TIMESPAN_ADJUSTMENT = 360; // 6 hour\n uint constant POW_LIMIT = 0x00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;\n\n struct BattleSession {\n address submitter;\n address challenger;\n uint lastActionTimestamp; // Last action timestamp\n bytes32 prevSubmitBlockhash;\n bytes32[] merkleRoots; // interim merkle roots to recreate final root hash on last set of headers\n }\n // AuxPoW block fields\n struct AuxPoW {\n uint blockHash;\n\n uint txHash;\n\n uint coinbaseMerkleRoot; // Merkle root of auxiliary block hash tree; stored in coinbase tx field\n uint[] chainMerkleProof; // proves that a given Syscoin block hash belongs to a tree with the above root\n uint syscoinHashIndex; // index of Syscoin block hash within block hash tree\n uint coinbaseMerkleRootCode; // encodes whether or not the root was found properly\n\n uint parentMerkleRoot; // Merkle root of transaction tree from parent Bitcoin block header\n uint[] parentMerkleProof; // proves that coinbase tx belongs to a tree with the above root\n uint coinbaseTxIndex; // index of coinbase tx within Bitcoin tx tree\n\n uint parentNonce;\n uint pos;\n }\n // Syscoin block header stored as a struct, mostly for readability purposes.\n // BlockHeader structs can be obtained by parsing a block header's first 80 bytes\n // with parseHeaderBytes.\n struct BlockHeader {\n uint32 bits;\n bytes32 prevBlock;\n uint32 timestamp;\n bytes32 blockHash;\n }\n mapping (bytes32 => BattleSession) sessions;\n\n uint public superblockDuration; // Superblock duration (in blocks)\n uint public superblockTimeout; // Timeout action (in seconds)\n\n // network that the stored blocks belong to\n Network private net;\n\n\n // Syscoin claim manager\n SyscoinClaimManagerI trustedSyscoinClaimManager;\n\n // Superblocks contract\n SyscoinSuperblocksI trustedSuperblocks;\n\n event NewBattle(bytes32 superblockHash,address submitter, address challenger);\n event ChallengerConvicted(bytes32 superblockHash, uint err, address challenger);\n event SubmitterConvicted(bytes32 superblockHash, uint err, address submitter);\n event RespondBlockHeaders(bytes32 superblockHash, uint merkleHashCount, address submitter);\n modifier onlyFrom(address sender) {\n require(msg.sender == sender);\n _;\n }\n\n modifier onlyChallenger(bytes32 superblockHash) {\n require(msg.sender == sessions[superblockHash].challenger);\n _;\n }\n\n // @dev – Configures the contract managing superblocks battles\n // @param _network Network type to use for block difficulty validation\n // @param _superblocks Contract that manages superblocks\n // @param _superblockDuration Superblock duration (in blocks)\n // @param _superblockTimeout Time to wait for challenges (in seconds)\n function init(\n Network _network,\n SyscoinSuperblocksI _superblocks,\n uint _superblockDuration,\n uint _superblockTimeout\n ) external initializer {\n net = _network;\n trustedSuperblocks = _superblocks;\n superblockDuration = _superblockDuration;\n superblockTimeout = _superblockTimeout;\n }\n\n function setSyscoinClaimManager(SyscoinClaimManagerI _syscoinClaimManager) external {\n require(address(trustedSyscoinClaimManager) == address(0) && address(_syscoinClaimManager) != address(0));\n trustedSyscoinClaimManager = _syscoinClaimManager;\n }\n\n // @dev - Start a battle session\n function beginBattleSession(bytes32 superblockHash, address submitter, address challenger)\n external onlyFrom(address(trustedSyscoinClaimManager)) {\n BattleSession storage session = sessions[superblockHash];\n\n require(session.submitter == address(0));\n\n session.submitter = submitter;\n session.challenger = challenger;\n session.merkleRoots.length = 0;\n session.lastActionTimestamp = block.timestamp;\n\n emit NewBattle(superblockHash, submitter, challenger);\n }\n\n // 0x00 version\n // 0x04 prev block hash\n // 0x24 merkle root\n // 0x44 timestamp\n // 0x48 bits\n // 0x4c nonce\n\n // @dev - extract previous block field from a raw Syscoin block header\n //\n // @param _blockHeader - Syscoin block header bytes\n // @param pos - where to start reading hash from\n // @return - hash of block's parent in big endian format\n function getHashPrevBlock(bytes memory _blockHeader, uint pos) private pure returns (uint) {\n uint hashPrevBlock;\n uint index = 0x04+pos;\n assembly {\n hashPrevBlock := mload(add(add(_blockHeader, 32), index))\n }\n return flip32Bytes(hashPrevBlock);\n }\n\n\n // @dev - extract timestamp field from a raw Syscoin block header\n //\n // @param _blockHeader - Syscoin block header bytes\n // @param pos - where to start reading bits from\n // @return - block's timestamp in big-endian format\n function getTimestamp(bytes memory _blockHeader, uint pos) private pure returns (uint32 time) {\n return bytesToUint32Flipped(_blockHeader, 0x44+pos);\n }\n\n // @dev - extract bits field from a raw Syscoin block header\n //\n // @param _blockHeader - Syscoin block header bytes\n // @param pos - where to start reading bits from\n // @return - block's difficulty in bits format, also big-endian\n function getBits(bytes memory _blockHeader, uint pos) private pure returns (uint32 bits) {\n return bytesToUint32Flipped(_blockHeader, 0x48+pos);\n }\n\n // @dev - converts raw bytes representation of a Syscoin block header to struct representation\n //\n // @param _rawBytes - first 80 bytes of a block header\n // @return - exact same header information in BlockHeader struct form\n function parseHeaderBytes(bytes memory _rawBytes, uint pos) private view returns (BlockHeader memory bh) {\n bh.bits = getBits(_rawBytes, pos);\n bh.blockHash = bytes32(dblShaFlipMem(_rawBytes, pos, 80));\n bh.timestamp = getTimestamp(_rawBytes, pos);\n bh.prevBlock = bytes32(getHashPrevBlock(_rawBytes, pos));\n }\n\n function parseAuxPoW(bytes memory rawBytes, uint pos)\n private\n view\n returns (AuxPoW memory auxpow)\n {\n bytes memory coinbaseScript;\n uint slicePos;\n // we need to traverse the bytes with a pointer because some fields are of variable length\n pos += 80; // skip non-AuxPoW header\n\n (slicePos, coinbaseScript) = getSlicePos(rawBytes, pos);\n auxpow.txHash = dblShaFlipMem(rawBytes, pos, slicePos - pos);\n pos = slicePos;\n // parent block hash, skip and manually hash below\n pos += 32;\n (auxpow.parentMerkleProof, pos) = scanMerkleBranch(rawBytes, pos, 0);\n auxpow.coinbaseTxIndex = getBytesLE(rawBytes, pos, 32);\n pos += 4;\n (auxpow.chainMerkleProof, pos) = scanMerkleBranch(rawBytes, pos, 0);\n auxpow.syscoinHashIndex = getBytesLE(rawBytes, pos, 32);\n pos += 4;\n // calculate block hash instead of reading it above, as some are LE and some are BE, we cannot know endianness and have to calculate from parent block header\n auxpow.blockHash = dblShaFlipMem(rawBytes, pos, 80);\n pos += 36; // skip parent version and prev block\n auxpow.parentMerkleRoot = sliceBytes32Int(rawBytes, pos);\n pos += 40; // skip root that was just read, parent block timestamp and bits\n auxpow.parentNonce = getBytesLE(rawBytes, pos, 32);\n auxpow.pos = pos+4;\n uint coinbaseMerkleRootPosition;\n (auxpow.coinbaseMerkleRoot, coinbaseMerkleRootPosition, auxpow.coinbaseMerkleRootCode) = findCoinbaseMerkleRoot(coinbaseScript);\n }\n\n function sha256mem(bytes memory _rawBytes, uint offset, uint len)\n public\n view\n returns (bytes32 result)\n {\n assembly {\n // Call sha256 precompiled contract (located in address 0x02) to copy data.\n // Assign to ptr the next available memory position (stored in memory position 0x40).\n let ptr := mload(0x40)\n if iszero(staticcall(gas, 0x02, add(add(_rawBytes, 0x20), offset), len, ptr, 0x20)) {\n revert(0, 0)\n }\n result := mload(ptr)\n }\n }\n\n // @dev - Bitcoin-way of hashing\n // @param _dataBytes - raw data to be hashed\n // @return - result of applying SHA-256 twice to raw data and then flipping the bytes\n function dblShaFlipMem(bytes memory _rawBytes, uint offset, uint len)\n public\n view\n returns (uint)\n {\n return flip32Bytes(uint(sha256(abi.encodePacked(sha256mem(_rawBytes, offset, len)))));\n }\n\n function skipOutputs(bytes memory txBytes, uint pos) private pure returns (uint) {\n uint n_outputs;\n uint script_len;\n\n (n_outputs, pos) = parseVarInt(txBytes, pos);\n\n require(n_outputs < 10);\n\n for (uint i = 0; i < n_outputs; i++) {\n pos += 8;\n (script_len, pos) = parseVarInt(txBytes, pos);\n pos += script_len;\n }\n\n return pos;\n }\n\n // get final position of inputs, outputs and lock time\n // this is a helper function to slice a byte array and hash the inputs, outputs and lock time\n function getSlicePos(bytes memory txBytes, uint pos)\n private\n view\n returns (uint slicePos, bytes memory coinbaseScript)\n {\n\n (slicePos, coinbaseScript) = skipInputsCoinbase(txBytes, pos + 4);\n slicePos = skipOutputs(txBytes, slicePos);\n slicePos += 4; // skip lock time\n }\n\n // scan a Merkle branch.\n // return array of values and the end position of the sibling hashes.\n // takes a 'stop' argument which sets the maximum number of\n // siblings to scan through. stop=0 => scan all.\n function scanMerkleBranch(bytes memory txBytes, uint pos, uint stop)\n private\n pure\n returns (uint[] memory, uint)\n {\n uint n_siblings;\n uint halt;\n\n (n_siblings, pos) = parseVarInt(txBytes, pos);\n\n if (stop == 0 || stop > n_siblings) {\n halt = n_siblings;\n } else {\n halt = stop;\n }\n\n uint[] memory sibling_values = new uint[](halt);\n\n for (uint i = 0; i < halt; i++) {\n sibling_values[i] = flip32Bytes(sliceBytes32Int(txBytes, pos));\n pos += 32;\n }\n\n return (sibling_values, pos);\n }\n\n // Slice 32 contiguous bytes from bytes `data`, starting at `start`\n function sliceBytes32Int(bytes memory data, uint start) private pure returns (uint slice) {\n assembly {\n slice := mload(add(data, add(0x20, start)))\n }\n }\n\n function skipInputsCoinbase(bytes memory txBytes, uint pos)\n private\n view\n returns (uint, bytes memory)\n {\n uint n_inputs;\n uint script_len;\n (n_inputs, pos) = parseVarInt(txBytes, pos);\n // if dummy 0x00 is present this is a witness transaction\n if(n_inputs == 0x00){\n (n_inputs, pos) = parseVarInt(txBytes, pos); // flag\n require(n_inputs != 0x00);\n // after dummy/flag the real var int comes for txins\n (n_inputs, pos) = parseVarInt(txBytes, pos);\n }\n require(n_inputs == 1);\n\n pos += 36; // skip outpoint\n (script_len, pos) = parseVarInt(txBytes, pos);\n bytes memory coinbaseScript;\n coinbaseScript = sliceArray(txBytes, pos, pos+script_len);\n pos += script_len + 4; // skip sig_script, seq\n\n return (pos, coinbaseScript);\n }\n\n // @dev - looks for {0xfa, 0xbe, 'm', 'm'} byte sequence\n // returns the following 32 bytes if it appears once and only once,\n // 0 otherwise\n // also returns the position where the bytes first appear\n function findCoinbaseMerkleRoot(bytes memory rawBytes)\n private\n pure\n returns (uint, uint, uint)\n {\n uint position;\n uint found = 0;\n uint target = 0xfabe6d6d00000000000000000000000000000000000000000000000000000000;\n uint mask = 0xffffffff00000000000000000000000000000000000000000000000000000000;\n assembly {\n let len := mload(rawBytes)\n let data := add(rawBytes, 0x20)\n let end := add(data, len)\n\n for { } lt(data, end) { } { // while(i < end)\n if eq(and(mload(data), mask), target) {\n if eq(found, 0x0) {\n position := add(sub(len, sub(end, data)), 4)\n }\n found := add(found, 1)\n }\n data := add(data, 0x1)\n }\n }\n\n if (found >= 2) {\n return (0, position - 4, ERR_FOUND_TWICE);\n } else if (found == 1) {\n return (sliceBytes32Int(rawBytes, position), position - 4, 1);\n } else { // no merge mining header\n return (0, position - 4, ERR_NO_MERGE_HEADER);\n }\n }\n\n // @dev - calculates the Merkle root of a tree containing Bitcoin transactions\n // in order to prove that `ap`'s coinbase tx is in that Bitcoin block.\n //\n // @param _ap - AuxPoW information\n // @return - Merkle root of Bitcoin block that the Syscoin block\n // with this info was mined in if AuxPoW Merkle proof is correct,\n // garbage otherwise\n function computeParentMerkle(AuxPoW memory _ap) private pure returns (uint) {\n return flip32Bytes(computeMerkle(_ap.txHash,\n _ap.coinbaseTxIndex,\n _ap.parentMerkleProof));\n }\n\n // @dev - calculates the Merkle root of a tree containing auxiliary block hashes\n // in order to prove that the Syscoin block identified by _blockHash\n // was merge-mined in a Bitcoin block.\n //\n // @param _blockHash - SHA-256 hash of a certain Syscoin block\n // @param _ap - AuxPoW information corresponding to said block\n // @return - Merkle root of auxiliary chain tree\n // if AuxPoW Merkle proof is correct, garbage otherwise\n function computeChainMerkle(uint _blockHash, AuxPoW memory _ap) private pure returns (uint) {\n return computeMerkle(_blockHash,\n _ap.syscoinHashIndex,\n _ap.chainMerkleProof);\n } \n\n // @dev - checks if a merge-mined block's Merkle proofs are correct,\n // i.e. Syscoin block hash is in coinbase Merkle tree\n // and coinbase transaction is in parent Merkle tree.\n //\n // @param _blockHash - SHA-256 hash of the block whose Merkle proofs are being checked\n // @param _ap - AuxPoW struct corresponding to the block\n // @return 1 if block was merge-mined and coinbase index, chain Merkle root and Merkle proofs are correct,\n // respective error code otherwise\n function checkAuxPoW(uint _blockHash, AuxPoW memory _ap) private pure returns (uint) {\n if (_ap.coinbaseTxIndex != 0) {\n return ERR_COINBASE_INDEX;\n }\n\n if (_ap.coinbaseMerkleRootCode != 1) {\n return _ap.coinbaseMerkleRootCode;\n }\n\n if (computeChainMerkle(_blockHash, _ap) != _ap.coinbaseMerkleRoot) {\n return ERR_CHAIN_MERKLE;\n }\n\n if (computeParentMerkle(_ap) != _ap.parentMerkleRoot) {\n return ERR_PARENT_MERKLE;\n }\n\n return 1;\n }\n\n // @dev - Bitcoin-way of computing the target from the 'bits' field of a block header\n // based on http://www.righto.com/2014/02/bitcoin-mining-hard-way-algorithms.html//ref3\n //\n // @param _bits - difficulty in bits format\n // @return - difficulty in target format\n function targetFromBits(uint32 _bits) public pure returns (uint) {\n uint exp = _bits / 0x1000000; // 2**24\n uint mant = _bits & 0xffffff;\n return mant * 256**(exp - 3);\n }\n \n // @param _actualTimespan - time elapsed from previous block creation til current block creation;\n // i.e., how much time it took to mine the current block\n // @param _bits - previous block header difficulty (in bits)\n // @return - expected difficulty for the next block\n function calculateDifficulty(uint _actualTimespan, uint32 _bits) private pure returns (uint32 result) {\n uint actualTimespan = _actualTimespan;\n // Limit adjustment step\n if (actualTimespan < TARGET_TIMESPAN_MIN) {\n actualTimespan = TARGET_TIMESPAN_MIN;\n } else if (actualTimespan > TARGET_TIMESPAN_MAX) {\n actualTimespan = TARGET_TIMESPAN_MAX;\n }\n\n // Retarget\n uint bnNew = targetFromBits(_bits);\n bnNew = bnNew * actualTimespan;\n bnNew = bnNew / TARGET_TIMESPAN;\n\n if (bnNew > POW_LIMIT) {\n bnNew = POW_LIMIT;\n }\n\n return toCompactBits(bnNew);\n }\n\n // @dev - shift information to the right by a specified number of bits\n //\n // @param _val - value to be shifted\n // @param _shift - number of bits to shift\n // @return - `_val` shifted `_shift` bits to the right, i.e. divided by 2**`_shift`\n function shiftRight(uint _val, uint _shift) private pure returns (uint) {\n return _val / uint(2)**_shift;\n }\n\n // @dev - shift information to the left by a specified number of bits\n //\n // @param _val - value to be shifted\n // @param _shift - number of bits to shift\n // @return - `_val` shifted `_shift` bits to the left, i.e. multiplied by 2**`_shift`\n function shiftLeft(uint _val, uint _shift) private pure returns (uint) {\n return _val * uint(2)**_shift;\n }\n\n // @dev - get the number of bits required to represent a given integer value without losing information\n //\n // @param _val - unsigned integer value\n // @return - given value's bit length\n function bitLen(uint _val) private pure returns (uint length) {\n uint int_type = _val;\n while (int_type > 0) {\n int_type = shiftRight(int_type, 1);\n length += 1;\n }\n }\n\n // @dev - Convert uint256 to compact encoding\n // based on https://github.com/petertodd/python-bitcoinlib/blob/2a5dda45b557515fb12a0a18e5dd48d2f5cd13c2/bitcoin/core/serialize.py\n // Analogous to arith_uint256::GetCompact from C++ implementation\n //\n // @param _val - difficulty in target format\n // @return - difficulty in bits format\n function toCompactBits(uint _val) private pure returns (uint32) {\n uint nbytes = uint (shiftRight((bitLen(_val) + 7), 3));\n uint32 compact = 0;\n if (nbytes <= 3) {\n compact = uint32 (shiftLeft((_val & 0xFFFFFF), 8 * (3 - nbytes)));\n } else {\n compact = uint32 (shiftRight(_val, 8 * (nbytes - 3)));\n compact = uint32 (compact & 0xFFFFFF);\n }\n\n // If the sign bit (0x00800000) is set, divide the mantissa by 256 and\n // increase the exponent to get an encoding without it set.\n if ((compact & 0x00800000) > 0) {\n compact = uint32(shiftRight(compact, 8));\n nbytes += 1;\n }\n\n return compact | uint32(shiftLeft(nbytes, 24));\n }\n\n // @dev - Evaluate the merkle root\n //\n // Given an array of hashes it calculates the\n // root of the merkle tree.\n //\n // @return root of merkle tree\n function makeMerkle(bytes32[] memory hashes) public pure returns (bytes32) {\n uint length = hashes.length;\n\n if (length == 1) return hashes[0];\n require(length > 0, \"Must provide hashes\");\n\n uint i;\n for (i = 0; i < length; i++) {\n hashes[i] = bytes32(flip32Bytes(uint(hashes[i])));\n }\n\n uint j;\n uint k;\n\n while (length > 1) {\n k = 0;\n for (i = 0; i < length; i += 2) {\n j = (i + 1 < length) ? i + 1 : length - 1;\n hashes[k] = sha256(abi.encodePacked(sha256(abi.encodePacked(hashes[i], hashes[j]))));\n k += 1;\n }\n length = k;\n }\n return bytes32(flip32Bytes(uint(hashes[0])));\n }\n\n // @dev - Verify block headers sent by challenger\n function doRespondBlockHeaders(\n BattleSession storage session,\n SyscoinSuperblocksI.SuperblockInfo memory superblockInfo,\n bytes32 merkleRoot,\n BlockHeader memory lastHeader\n ) private returns (uint) {\n if (session.merkleRoots.length == 3 || net == Network.REGTEST) {\n bytes32[] memory merkleRoots = new bytes32[](net != Network.REGTEST ? 4 : 1);\n uint i;\n for (i = 0; i < session.merkleRoots.length; i++) {\n merkleRoots[i] = session.merkleRoots[i];\n }\n merkleRoots[i] = merkleRoot;\n if (superblockInfo.blocksMerkleRoot != makeMerkle(merkleRoots)) {\n return ERR_SUPERBLOCK_INVALID_MERKLE;\n }\n\n // if you have the last set of headers we can enfoce checks against the end\n // ensure the last block's timestamp matches the superblock's proposed timestamp\n if (superblockInfo.timestamp != lastHeader.timestamp) {\n return ERR_SUPERBLOCK_INVALID_TIMESTAMP;\n }\n // ensure last headers hash matches the last hash of the superblock\n if (lastHeader.blockHash != superblockInfo.lastHash) {\n return ERR_SUPERBLOCK_HASH_SUPERBLOCK;\n }\n } else {\n session.merkleRoots.push(merkleRoot);\n }\n\n return ERR_SUPERBLOCK_OK;\n }\n\n function respondBlockHeaders (\n bytes32 superblockHash,\n bytes memory blockHeaders,\n uint numHeaders\n ) public {\n BattleSession storage session = sessions[superblockHash];\n address submitter = session.submitter;\n\n require(msg.sender == submitter);\n\n uint merkleRootsLen = session.merkleRoots.length;\n\n if (net != Network.REGTEST) {\n if ((merkleRootsLen <= 2 && numHeaders != 16) || (merkleRootsLen == 3 && numHeaders != 12)) {\n revert();\n }\n }\n\n SyscoinSuperblocksI.SuperblockInfo memory superblockInfo;\n (superblockInfo.blocksMerkleRoot, superblockInfo.timestamp,superblockInfo.mtpTimestamp,superblockInfo.lastHash,superblockInfo.lastBits,superblockInfo.parentId,,,superblockInfo.height) =\n trustedSuperblocks.getSuperblock(superblockHash);\n\n uint pos = 0;\n bytes32[] memory blockHashes = new bytes32[](numHeaders);\n BlockHeader[] memory parsedBlockHeaders = new BlockHeader[](numHeaders);\n\n uint err = ERR_SUPERBLOCK_OK;\n\n for (uint i = 0; i < parsedBlockHeaders.length; i++){\n parsedBlockHeaders[i] = parseHeaderBytes(blockHeaders, pos);\n uint target = targetFromBits(parsedBlockHeaders[i].bits);\n\n if (isMergeMined(blockHeaders, pos)) {\n AuxPoW memory ap = parseAuxPoW(blockHeaders, pos);\n if (ap.blockHash > target) {\n err = ERR_PROOF_OF_WORK_AUXPOW;\n break;\n }\n\n uint auxPoWCode = checkAuxPoW(uint(parsedBlockHeaders[i].blockHash), ap);\n if (auxPoWCode != 1) {\n err = auxPoWCode;\n break;\n }\n\n pos = ap.pos;\n } else {\n if (uint(parsedBlockHeaders[i].blockHash) > target) {\n err = ERR_PROOF_OF_WORK;\n break;\n }\n\n pos = pos+80;\n }\n\n blockHashes[i] = parsedBlockHeaders[i].blockHash;\n }\n\n if (err != ERR_SUPERBLOCK_OK) {\n convictSubmitter(superblockHash, submitter, session.challenger, err);\n return;\n }\n\n err = doRespondBlockHeaders(\n session,\n superblockInfo,\n makeMerkle(blockHashes),\n parsedBlockHeaders[parsedBlockHeaders.length-1]\n );\n if (err != ERR_SUPERBLOCK_OK) {\n convictSubmitter(superblockHash, submitter, session.challenger, err);\n } else {\n session.lastActionTimestamp = block.timestamp;\n err = validateHeaders(session, superblockInfo, parsedBlockHeaders);\n if (err != ERR_SUPERBLOCK_OK) {\n convictSubmitter(superblockHash, submitter, session.challenger, err);\n return;\n }\n // only convict challenger at the end if all headers have been provided\n if(numHeaders == 12 || net == Network.REGTEST){\n convictChallenger(superblockHash, submitter, session.challenger, err);\n return;\n }\n emit RespondBlockHeaders(superblockHash, merkleRootsLen + 1, submitter);\n }\n }\n\n uint32 constant VERSION_AUXPOW = (1 << 8);\n // @dev - checks version to determine if a block has merge mining information\n function isMergeMined(bytes memory _rawBytes, uint pos) private pure returns (bool) {\n return bytesToUint32Flipped(_rawBytes, pos) & VERSION_AUXPOW != 0;\n }\n\n // @dev - Validate prev bits, prev hash of block header\n function checkBlocks(BattleSession storage session, BlockHeader[] memory blockHeadersParsed, uint32 prevBits) private view returns (uint) {\n for(uint i = blockHeadersParsed.length-1;i>0;i--){\n BlockHeader memory thisHeader = blockHeadersParsed[i];\n BlockHeader memory prevHeader = blockHeadersParsed[i-1];\n // except for the last header except all the bits to match\n // last chunk has 12 headers which is the only time we care to skip the last header\n if (blockHeadersParsed.length != 12 || i < (blockHeadersParsed.length-1)){\n if (prevBits != thisHeader.bits)\n return ERR_SUPERBLOCK_BITS_PREVBLOCK;\n }\n if(prevHeader.blockHash != thisHeader.prevBlock)\n return ERR_SUPERBLOCK_HASH_PREVBLOCK;\n }\n\n if (prevBits != blockHeadersParsed[0].bits) {\n return ERR_SUPERBLOCK_BITS_PREVBLOCK;\n }\n\n // enforce linking against previous submitted batch of blocks\n if (session.merkleRoots.length >= 2) {\n if (session.prevSubmitBlockhash != blockHeadersParsed[0].prevBlock)\n return ERR_SUPERBLOCK_HASH_INTERIM_PREVBLOCK;\n }\n return ERR_SUPERBLOCK_OK;\n }\n function sort_array(uint[11] memory arr) private pure {\n for(uint i = 0; i < 11; i++) {\n for(uint j = i+1; j < 11 ;j++) {\n if(arr[i] > arr[j]) {\n uint temp = arr[i];\n arr[i] = arr[j];\n arr[j] = temp;\n }\n }\n }\n }\n\n // @dev - Gets the median timestamp of the last 11 blocks\n function getMedianTimestamp(BlockHeader[] memory blockHeadersParsed) private pure returns (uint){\n uint[11] memory timestamps;\n // timestamps 0->10 = blockHeadersParsed 1->11\n for(uint i=0;i<11;i++){\n timestamps[i] = blockHeadersParsed[i+1].timestamp;\n }\n sort_array(timestamps);\n return timestamps[5];\n }\n // @dev - Validate superblock accumulated work + other block header fields\n function validateHeaders(BattleSession storage session, SyscoinSuperblocksI.SuperblockInfo memory superblockInfo, BlockHeader[] memory blockHeadersParsed) private returns (uint) {\n SyscoinSuperblocksI.SuperblockInfo memory prevSuperblockInfo;\n BlockHeader memory lastHeader = blockHeadersParsed[blockHeadersParsed.length-1];\n (,,prevSuperblockInfo.mtpTimestamp,prevSuperblockInfo.lastHash,prevSuperblockInfo.lastBits,,,,) =\n trustedSuperblocks.getSuperblock(superblockInfo.parentId);\n // for blocks 0 -> 16 we can check the first header\n if(session.merkleRoots.length <= 1){\n // ensure first headers prev block matches the last hash of the prev superblock\n if(blockHeadersParsed[0].prevBlock != prevSuperblockInfo.lastHash)\n return ERR_SUPERBLOCK_HASH_PREVSUPERBLOCK;\n\n }\n // make sure all bits are the same and timestamps are within range as well as headers are all linked\n uint err = checkBlocks(session, blockHeadersParsed, prevSuperblockInfo.lastBits);\n if(err != ERR_SUPERBLOCK_OK)\n return err;\n // for every batch of blocks up to the last one (at superblockDuration blocks we have all the headers so we can complete the game)\n if(blockHeadersParsed.length != 12){\n // set the last block header details in the session for subsequent batch of blocks to validate it connects to this header\n session.prevSubmitBlockhash = lastHeader.blockHash;\n }\n // once all the headers are received we can check merkle and enforce difficulty\n else{\n uint mtpTimestamp = getMedianTimestamp(blockHeadersParsed);\n\n // make sure calculated MTP is same as superblock MTP\n if(mtpTimestamp != superblockInfo.mtpTimestamp)\n return ERR_SUPERBLOCK_MISMATCH_TIMESTAMP_MTP;\n\n // ensure MTP of this SB is > than last SB MTP\n if(mtpTimestamp <= prevSuperblockInfo.mtpTimestamp)\n return ERR_SUPERBLOCK_TOOSMALL_TIMESTAMP_MTP;\n\n\n // make sure every 6th superblock adjusts difficulty\n // calculate the new work from prevBits minus one as if its an adjustment we need to account for new bits, if not then just add one more prevBits work\n if (net != Network.REGTEST) {\n if (((superblockInfo.height-1) % 6) == 0) {\n BlockHeader memory prevToLastHeader = blockHeadersParsed[blockHeadersParsed.length-2];\n\n // ie: superblockHeight = 7 meaning blocks 661->720, we need to check timestamp from block 719 - to block 360\n // get 6 superblocks previous for second timestamp (for example block 360 has the timetamp 6 superblocks ago on second adjustment)\n superblockInfo.timestamp = trustedSuperblocks.getSuperblockTimestamp(trustedSuperblocks.getSuperblockAt(superblockInfo.height - 6));\n uint32 newBits = calculateDifficulty(prevToLastHeader.timestamp - superblockInfo.timestamp, prevSuperblockInfo.lastBits);\n\n // ensure bits of superblock match derived bits from calculateDifficulty\n if (superblockInfo.lastBits != newBits) {\n return ERR_SUPERBLOCK_BITS_SUPERBLOCK;\n }\n } else {\n if (superblockInfo.lastBits != prevSuperblockInfo.lastBits) {\n return ERR_SUPERBLOCK_BITS_LASTBLOCK;\n }\n }\n\n // make sure superblock bits match that of the last block\n if (superblockInfo.lastBits != lastHeader.bits)\n return ERR_SUPERBLOCK_BITS_LASTBLOCK;\n }\n }\n\n return ERR_SUPERBLOCK_OK;\n }\n\n\n // @dev - Trigger conviction if response is not received in time\n function timeout(bytes32 superblockHash) external returns (uint) {\n BattleSession storage session = sessions[superblockHash];\n require(session.submitter != address(0));\n\n if (block.timestamp > session.lastActionTimestamp + superblockTimeout) {\n convictSubmitter(superblockHash, session.submitter, session.challenger, ERR_SUPERBLOCK_TIMEOUT);\n trustedSyscoinClaimManager.checkClaimFinished(superblockHash);\n return ERR_SUPERBLOCK_TIMEOUT;\n }\n return ERR_SUPERBLOCK_NO_TIMEOUT;\n }\n\n // @dev - To be called when a challenger is convicted\n function convictChallenger(bytes32 superblockHash, address submitter, address challenger, uint err) private {\n trustedSyscoinClaimManager.sessionDecided(superblockHash, submitter, challenger);\n emit ChallengerConvicted(superblockHash, err, challenger);\n disable(superblockHash);\n }\n\n // @dev - To be called when a submitter is convicted\n function convictSubmitter(bytes32 superblockHash, address submitter, address challenger, uint err) private {\n trustedSyscoinClaimManager.sessionDecided(superblockHash, challenger, submitter);\n emit SubmitterConvicted(superblockHash, err, submitter);\n disable(superblockHash);\n }\n\n // @dev - Disable session\n // It should be called only when either the submitter or the challenger were convicted.\n function disable(bytes32 superblockHash) private {\n delete sessions[superblockHash];\n }\n\n // @dev - Check if a session's submitter did not respond before timeout\n function getSubmitterHitTimeout(bytes32 superblockHash) external view returns (bool) {\n BattleSession storage session = sessions[superblockHash];\n return (block.timestamp > session.lastActionTimestamp + superblockTimeout);\n }\n function getNumMerkleHashesBySession(bytes32 superblockHash) external view returns (uint) {\n BattleSession memory session = sessions[superblockHash];\n if (session.submitter == address(0))\n return 0;\n return sessions[superblockHash].merkleRoots.length;\n }\n function sessionExists(bytes32 superblockHash) external view returns (bool) {\n return sessions[superblockHash].submitter != address(0);\n }\n}\n", "sourcePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinBattleManager.sol", "ast": { @@ -635,7 +635,7 @@ "id": 59, "nodeType": "ImportDirective", "scope": 2538, - "sourceUnit": 7598, + "sourceUnit": 8098, "src": "26:47:1", "symbolAliases": [], "unitAlias": "" @@ -646,7 +646,7 @@ "id": 60, "nodeType": "ImportDirective", "scope": 2538, - "sourceUnit": 7791, + "sourceUnit": 8313, "src": "74:46:1", "symbolAliases": [], "unitAlias": "" @@ -657,7 +657,7 @@ "id": 61, "nodeType": "ImportDirective", "scope": 2538, - "sourceUnit": 4678, + "sourceUnit": 4687, "src": "121:33:1", "symbolAliases": [], "unitAlias": "" @@ -668,7 +668,7 @@ "id": 62, "nodeType": "ImportDirective", "scope": 2538, - "sourceUnit": 8723, + "sourceUnit": 9342, "src": "155:60:1", "symbolAliases": [], "unitAlias": "" @@ -679,7 +679,7 @@ "id": 63, "nodeType": "ImportDirective", "scope": 2538, - "sourceUnit": 4992, + "sourceUnit": 5001, "src": "216:51:1", "symbolAliases": [], "unitAlias": "" @@ -693,10 +693,10 @@ "id": 64, "name": "Initializable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8722, + "referencedDeclaration": 9341, "src": "381:13:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_Initializable_$8722", + "typeIdentifier": "t_contract$_Initializable_$9341", "typeString": "contract Initializable" } }, @@ -711,10 +711,10 @@ "id": 66, "name": "SyscoinErrorCodes", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4677, + "referencedDeclaration": 4686, "src": "396:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinErrorCodes_$4677", + "typeIdentifier": "t_contract$_SyscoinErrorCodes_$4686", "typeString": "contract SyscoinErrorCodes" } }, @@ -729,10 +729,10 @@ "id": 68, "name": "SyscoinMessageLibrary", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, + "referencedDeclaration": 5000, "src": "415:21:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinMessageLibrary_$4991", + "typeIdentifier": "t_contract$_SyscoinMessageLibrary_$5000", "typeString": "contract SyscoinMessageLibrary" } }, @@ -742,9 +742,9 @@ } ], "contractDependencies": [ - 4677, - 4991, - 8722 + 4686, + 5000, + 9341 ], "contractKind": "contract", "documentation": null, @@ -752,9 +752,9 @@ "id": 2537, "linearizedBaseContracts": [ 2537, - 4991, - 4677, - 8722 + 5000, + 4686, + 9341 ], "name": "SyscoinBattleManager", "nodeType": "ContractDefinition", @@ -1668,7 +1668,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "typeName": { @@ -1676,10 +1676,10 @@ "id": 139, "name": "Network", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "2553:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -1696,7 +1696,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" }, "typeName": { @@ -1704,10 +1704,10 @@ "id": 141, "name": "SyscoinClaimManagerI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7597, + "referencedDeclaration": 8097, "src": "2609:20:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -1724,7 +1724,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" }, "typeName": { @@ -1732,10 +1732,10 @@ "id": 143, "name": "SyscoinSuperblocksI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7790, + "referencedDeclaration": 8312, "src": "2691:19:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -2160,7 +2160,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "3135:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2214,10 +2214,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "3127:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -2319,7 +2319,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "3246:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2416,10 +2416,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "3238:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -2514,7 +2514,7 @@ "referencedDeclaration": 140, "src": "3851:3:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -2529,13 +2529,13 @@ "referencedDeclaration": 207, "src": "3857:8:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, "src": "3851:14:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -2560,7 +2560,7 @@ "referencedDeclaration": 144, "src": "3875:18:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -2575,13 +2575,13 @@ "referencedDeclaration": 209, "src": "3896:12:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, "src": "3875:33:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -2697,7 +2697,7 @@ "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8703, + "referencedDeclaration": 9322, "src": "3829:11:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -2724,7 +2724,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "typeName": { @@ -2732,10 +2732,10 @@ "id": 206, "name": "Network", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "3688:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -2752,7 +2752,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" }, "typeName": { @@ -2760,10 +2760,10 @@ "id": 208, "name": "SyscoinSuperblocksI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7790, + "referencedDeclaration": 8312, "src": "3714:19:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -2881,7 +2881,7 @@ "referencedDeclaration": 142, "src": "4129:26:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } } @@ -2889,7 +2889,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } ], @@ -3009,7 +3009,7 @@ "referencedDeclaration": 237, "src": "4182:20:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } } @@ -3017,7 +3017,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } ], @@ -3130,10 +3130,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "4113:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -3175,7 +3175,7 @@ "referencedDeclaration": 142, "src": "4228:26:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -3190,13 +3190,13 @@ "referencedDeclaration": 237, "src": "4257:20:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, "src": "4228:49:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -3227,7 +3227,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" }, "typeName": { @@ -3235,10 +3235,10 @@ "id": 236, "name": "SyscoinClaimManagerI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7597, + "referencedDeclaration": 8097, "src": "4051:20:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -3464,10 +3464,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "4558:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -3746,7 +3746,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, + "referencedDeclaration": 11088, "src": "4759:5:1", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -3886,7 +3886,7 @@ "referencedDeclaration": 142, "src": "4452:26:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } } @@ -3894,7 +3894,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } ], @@ -4238,7 +4238,7 @@ "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "5499:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", @@ -4460,7 +4460,7 @@ "name": "bytesToUint32Flipped", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4830, + "referencedDeclaration": 4839, "src": "5892:20:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", @@ -4682,7 +4682,7 @@ "name": "bytesToUint32Flipped", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4830, + "referencedDeclaration": 4839, "src": "6304:20:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", @@ -6282,7 +6282,7 @@ "name": "getBytesLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4819, + "referencedDeclaration": 4828, "src": "7628:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", @@ -6637,7 +6637,7 @@ "name": "getBytesLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4819, + "referencedDeclaration": 4828, "src": "7788:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", @@ -7179,7 +7179,7 @@ "name": "getBytesLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4819, + "referencedDeclaration": 4828, "src": "8300:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", @@ -7911,7 +7911,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10171, + "referencedDeclaration": 11085, "src": "9458:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -7958,7 +7958,7 @@ "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10193, + "referencedDeclaration": 11107, "src": "9451:6:1", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", @@ -8026,7 +8026,7 @@ "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "9434:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", @@ -8363,7 +8363,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "9685:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -8460,10 +8460,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "9721:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -8643,7 +8643,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "9848:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -9618,7 +9618,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "10868:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -10127,7 +10127,7 @@ "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "11158:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", @@ -10892,7 +10892,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "11751:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -11081,7 +11081,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "11904:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -11178,10 +11178,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "11951:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -11304,7 +11304,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "12073:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -11404,10 +11404,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "12118:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -11581,7 +11581,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "12208:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -11766,7 +11766,7 @@ "name": "sliceArray", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4990, + "referencedDeclaration": 4999, "src": "12297:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", @@ -12532,7 +12532,7 @@ "name": "ERR_NO_MERGE_HEADER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4487, + "referencedDeclaration": 4496, "src": "13793:19:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12814,7 +12814,7 @@ "name": "ERR_FOUND_TWICE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4484, + "referencedDeclaration": 4493, "src": "13587:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13096,7 +13096,7 @@ "name": "computeMerkle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4962, + "referencedDeclaration": 4971, "src": "14309:13:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", @@ -13129,7 +13129,7 @@ "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "14297:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", @@ -13339,7 +13339,7 @@ "name": "computeMerkle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4962, + "referencedDeclaration": 4971, "src": "15038:13:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", @@ -13563,7 +13563,7 @@ "name": "ERR_COINBASE_INDEX", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4478, + "referencedDeclaration": 4487, "src": "15826:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13823,7 +13823,7 @@ "name": "ERR_CHAIN_MERKLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4490, + "referencedDeclaration": 4499, "src": "16058:16:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13952,7 +13952,7 @@ "name": "ERR_PARENT_MERKLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4493, + "referencedDeclaration": 4502, "src": "16170:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17900,10 +17900,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, + "referencedDeclaration": 11102, "src": "20306:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18117,7 +18117,7 @@ "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "20438:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", @@ -18862,7 +18862,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10171, + "referencedDeclaration": 11085, "src": "20725:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -18909,7 +18909,7 @@ "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10193, + "referencedDeclaration": 11107, "src": "20718:6:1", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", @@ -18944,7 +18944,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10171, + "referencedDeclaration": 11085, "src": "20701:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -18991,7 +18991,7 @@ "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10193, + "referencedDeclaration": 11107, "src": "20694:6:1", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", @@ -19430,7 +19430,7 @@ "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "20863:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", @@ -19687,7 +19687,7 @@ "rightExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "id": 1499, @@ -19704,7 +19704,7 @@ "referencedDeclaration": 140, "src": "21240:3:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -19718,10 +19718,10 @@ "name": "Network", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "21247:7:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Network_$4693_$", + "typeIdentifier": "t_type$_t_enum$_Network_$4702_$", "typeString": "type(enum SyscoinMessageLibrary.Network)" } }, @@ -19735,7 +19735,7 @@ "referencedDeclaration": null, "src": "21247:15:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -19903,7 +19903,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "id": 1511, @@ -19920,7 +19920,7 @@ "referencedDeclaration": 140, "src": "21323:3:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -19934,10 +19934,10 @@ "name": "Network", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "21330:7:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Network_$4693_$", + "typeIdentifier": "t_type$_t_enum$_Network_$4702_$", "typeString": "type(enum SyscoinMessageLibrary.Network)" } }, @@ -19951,7 +19951,7 @@ "referencedDeclaration": null, "src": "21330:15:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -20489,7 +20489,7 @@ "referencedDeclaration": 1482, "src": "21567:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -20500,7 +20500,7 @@ "lValueRequested": false, "memberName": "blocksMerkleRoot", "nodeType": "MemberAccess", - "referencedDeclaration": 7619, + "referencedDeclaration": 8120, "src": "21567:31:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -20580,7 +20580,7 @@ "name": "ERR_SUPERBLOCK_INVALID_MERKLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4532, + "referencedDeclaration": 4541, "src": "21652:29:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20618,7 +20618,7 @@ "referencedDeclaration": 1482, "src": "21895:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -20629,7 +20629,7 @@ "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7621, + "referencedDeclaration": 8122, "src": "21895:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20689,7 +20689,7 @@ "name": "ERR_SUPERBLOCK_INVALID_TIMESTAMP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4529, + "referencedDeclaration": 4538, "src": "21970:32:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20758,7 +20758,7 @@ "referencedDeclaration": 1482, "src": "22138:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -20769,7 +20769,7 @@ "lValueRequested": false, "memberName": "lastHash", "nodeType": "MemberAccess", - "referencedDeclaration": 7625, + "referencedDeclaration": 8126, "src": "22138:23:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -20798,7 +20798,7 @@ "name": "ERR_SUPERBLOCK_HASH_SUPERBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4562, + "referencedDeclaration": 4571, "src": "22188:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20823,7 +20823,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "22327:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20886,7 +20886,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { @@ -20894,10 +20894,10 @@ "id": 1481, "name": "SyscoinSuperblocksI.SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, + "referencedDeclaration": 8137, "src": "21038:34:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -21173,7 +21173,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "22624:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21227,10 +21227,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "22616:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -21340,7 +21340,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "id": 1627, @@ -21357,7 +21357,7 @@ "referencedDeclaration": 140, "src": "22722:3:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -21371,10 +21371,10 @@ "name": "Network", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "22729:7:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Network_$4693_$", + "typeIdentifier": "t_type$_t_enum$_Network_$4702_$", "typeString": "type(enum SyscoinMessageLibrary.Network)" } }, @@ -21388,7 +21388,7 @@ "referencedDeclaration": null, "src": "22729:15:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -21718,10 +21718,10 @@ "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 10189, - 10190 + 11103, + 11104 ], - "referencedDeclaration": 10189, + "referencedDeclaration": 11103, "src": "22870:6:1", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$__$returns$__$", @@ -21767,7 +21767,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { @@ -21775,10 +21775,10 @@ "id": 1654, "name": "SyscoinSuperblocksI.SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, + "referencedDeclaration": 8137, "src": "22913:34:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -21813,7 +21813,7 @@ "referencedDeclaration": 1655, "src": "22980:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -21824,7 +21824,7 @@ "lValueRequested": true, "memberName": "blocksMerkleRoot", "nodeType": "MemberAccess", - "referencedDeclaration": 7619, + "referencedDeclaration": 8120, "src": "22980:31:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -21842,7 +21842,7 @@ "referencedDeclaration": 1655, "src": "23013:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -21853,7 +21853,7 @@ "lValueRequested": true, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7621, + "referencedDeclaration": 8122, "src": "23013:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21871,7 +21871,7 @@ "referencedDeclaration": 1655, "src": "23038:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -21882,7 +21882,7 @@ "lValueRequested": true, "memberName": "mtpTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7623, + "referencedDeclaration": 8124, "src": "23038:27:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21900,7 +21900,7 @@ "referencedDeclaration": 1655, "src": "23066:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -21911,7 +21911,7 @@ "lValueRequested": true, "memberName": "lastHash", "nodeType": "MemberAccess", - "referencedDeclaration": 7625, + "referencedDeclaration": 8126, "src": "23066:23:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -21929,7 +21929,7 @@ "referencedDeclaration": 1655, "src": "23090:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -21940,7 +21940,7 @@ "lValueRequested": true, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "23090:23:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -21958,7 +21958,7 @@ "referencedDeclaration": 1655, "src": "23114:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -21969,7 +21969,7 @@ "lValueRequested": true, "memberName": "parentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7627, + "referencedDeclaration": 8128, "src": "23114:23:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -21989,7 +21989,7 @@ "referencedDeclaration": 1655, "src": "23140:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -22000,7 +22000,7 @@ "lValueRequested": true, "memberName": "height", "nodeType": "MemberAccess", - "referencedDeclaration": 7633, + "referencedDeclaration": 8134, "src": "23140:21:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -22056,7 +22056,7 @@ "referencedDeclaration": 144, "src": "23177:18:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -22067,10 +22067,10 @@ "lValueRequested": false, "memberName": "getSuperblock", "nodeType": "MemberAccess", - "referencedDeclaration": 7680, + "referencedDeclaration": 8181, "src": "23177:32:1", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", "typeString": "function (bytes32) view external returns (bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" } }, @@ -22084,7 +22084,7 @@ "nodeType": "FunctionCall", "src": "23177:48:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", "typeString": "tuple(bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" } }, @@ -22427,7 +22427,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "23417:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22934,7 +22934,7 @@ "name": "ERR_PROOF_OF_WORK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4496, + "referencedDeclaration": 4505, "src": "24264:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23256,7 +23256,7 @@ "name": "ERR_PROOF_OF_WORK_AUXPOW", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4502, + "referencedDeclaration": 4511, "src": "23832:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23947,7 +23947,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "24466:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24148,7 +24148,7 @@ "referencedDeclaration": 1655, "src": "24670:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -24302,7 +24302,7 @@ "typeString": "struct SyscoinBattleManager.BattleSession storage pointer" }, { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" }, { @@ -24321,7 +24321,7 @@ "referencedDeclaration": 1591, "src": "24614:21:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BattleSession_$96_storage_ptr_$_t_struct$_SuperblockInfo_$7636_memory_ptr_$_t_bytes32_$_t_struct$_BlockHeader_$130_memory_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BattleSession_$96_storage_ptr_$_t_struct$_SuperblockInfo_$8137_memory_ptr_$_t_bytes32_$_t_struct$_BlockHeader_$130_memory_ptr_$returns$_t_uint256_$", "typeString": "function (struct SyscoinBattleManager.BattleSession storage pointer,struct SyscoinSuperblocksI.SuperblockInfo memory,bytes32,struct SyscoinBattleManager.BlockHeader memory) returns (uint256)" } }, @@ -24382,7 +24382,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "24813:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24447,7 +24447,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, + "referencedDeclaration": 11088, "src": "24975:5:1", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -24526,7 +24526,7 @@ "referencedDeclaration": 1655, "src": "25035:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -24551,7 +24551,7 @@ "typeString": "struct SyscoinBattleManager.BattleSession storage pointer" }, { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" }, { @@ -24566,7 +24566,7 @@ "referencedDeclaration": 2345, "src": "25010:15:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BattleSession_$96_storage_ptr_$_t_struct$_SuperblockInfo_$7636_memory_ptr_$_t_array$_t_struct$_BlockHeader_$130_memory_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BattleSession_$96_storage_ptr_$_t_struct$_SuperblockInfo_$8137_memory_ptr_$_t_array$_t_struct$_BlockHeader_$130_memory_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (struct SyscoinBattleManager.BattleSession storage pointer,struct SyscoinSuperblocksI.SuperblockInfo memory,struct SyscoinBattleManager.BlockHeader memory[] memory) returns (uint256)" } }, @@ -24627,7 +24627,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "25095:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24847,7 +24847,7 @@ "rightExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "id": 1897, @@ -24864,7 +24864,7 @@ "referencedDeclaration": 140, "src": "25359:3:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -24878,10 +24878,10 @@ "name": "Network", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "25366:7:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Network_$4693_$", + "typeIdentifier": "t_type$_t_enum$_Network_$4702_$", "typeString": "type(enum SyscoinMessageLibrary.Network)" } }, @@ -24895,7 +24895,7 @@ "referencedDeclaration": null, "src": "25366:15:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -25587,7 +25587,7 @@ "name": "bytesToUint32Flipped", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4830, + "referencedDeclaration": 4839, "src": "25845:20:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", @@ -26255,7 +26255,7 @@ "name": "ERR_SUPERBLOCK_BITS_PREVBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4559, + "referencedDeclaration": 4568, "src": "26641:29:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26360,7 +26360,7 @@ "name": "ERR_SUPERBLOCK_HASH_PREVBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4565, + "referencedDeclaration": 4574, "src": "26770:29:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26675,7 +26675,7 @@ "name": "ERR_SUPERBLOCK_BITS_PREVBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4559, + "referencedDeclaration": 4568, "src": "26885:29:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26903,7 +26903,7 @@ "name": "ERR_SUPERBLOCK_HASH_INTERIM_PREVBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4583, + "referencedDeclaration": 4592, "src": "27147:37:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26926,7 +26926,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "27211:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28457,7 +28457,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { @@ -28465,10 +28465,10 @@ "id": 2169, "name": "SyscoinSuperblocksI.SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, + "referencedDeclaration": 8137, "src": "28278:34:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -28636,7 +28636,7 @@ "referencedDeclaration": 2170, "src": "28440:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -28647,7 +28647,7 @@ "lValueRequested": true, "memberName": "mtpTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7623, + "referencedDeclaration": 8124, "src": "28440:31:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28665,7 +28665,7 @@ "referencedDeclaration": 2170, "src": "28472:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -28676,7 +28676,7 @@ "lValueRequested": true, "memberName": "lastHash", "nodeType": "MemberAccess", - "referencedDeclaration": 7625, + "referencedDeclaration": 8126, "src": "28472:27:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -28694,7 +28694,7 @@ "referencedDeclaration": 2170, "src": "28500:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -28705,7 +28705,7 @@ "lValueRequested": true, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "28500:27:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -28746,7 +28746,7 @@ "referencedDeclaration": 2159, "src": "28580:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -28757,7 +28757,7 @@ "lValueRequested": false, "memberName": "parentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7627, + "referencedDeclaration": 8128, "src": "28580:23:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -28781,7 +28781,7 @@ "referencedDeclaration": 144, "src": "28547:18:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -28792,10 +28792,10 @@ "lValueRequested": false, "memberName": "getSuperblock", "nodeType": "MemberAccess", - "referencedDeclaration": 7680, + "referencedDeclaration": 8181, "src": "28547:32:1", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", "typeString": "function (bytes32) view external returns (bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" } }, @@ -28809,7 +28809,7 @@ "nodeType": "FunctionCall", "src": "28547:57:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", "typeString": "tuple(bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" } }, @@ -29001,7 +29001,7 @@ "referencedDeclaration": 2170, "src": "28853:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -29012,7 +29012,7 @@ "lValueRequested": false, "memberName": "lastHash", "nodeType": "MemberAccess", - "referencedDeclaration": 7625, + "referencedDeclaration": 8126, "src": "28853:27:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -29036,7 +29036,7 @@ "name": "ERR_SUPERBLOCK_HASH_PREVSUPERBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4568, + "referencedDeclaration": 4577, "src": "28905:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29125,7 +29125,7 @@ "referencedDeclaration": 2170, "src": "29121:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -29136,7 +29136,7 @@ "lValueRequested": false, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "29121:27:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -29220,7 +29220,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "29169:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29452,7 +29452,7 @@ "referencedDeclaration": 2159, "src": "29876:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -29463,7 +29463,7 @@ "lValueRequested": false, "memberName": "mtpTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7623, + "referencedDeclaration": 8124, "src": "29876:27:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29487,7 +29487,7 @@ "name": "ERR_SUPERBLOCK_MISMATCH_TIMESTAMP_MTP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4595, + "referencedDeclaration": 4604, "src": "29929:37:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29538,7 +29538,7 @@ "referencedDeclaration": 2170, "src": "30059:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -29549,7 +29549,7 @@ "lValueRequested": false, "memberName": "mtpTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7623, + "referencedDeclaration": 8124, "src": "30059:31:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29573,7 +29573,7 @@ "name": "ERR_SUPERBLOCK_TOOSMALL_TIMESTAMP_MTP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4598, + "referencedDeclaration": 4607, "src": "30115:37:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29590,7 +29590,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "id": 2263, @@ -29607,7 +29607,7 @@ "referencedDeclaration": 140, "src": "30400:3:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -29621,10 +29621,10 @@ "name": "Network", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "30407:7:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Network_$4693_$", + "typeIdentifier": "t_type$_t_enum$_Network_$4702_$", "typeString": "type(enum SyscoinMessageLibrary.Network)" } }, @@ -29638,7 +29638,7 @@ "referencedDeclaration": null, "src": "30407:15:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -29708,7 +29708,7 @@ "referencedDeclaration": 2159, "src": "30448:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -29719,7 +29719,7 @@ "lValueRequested": false, "memberName": "height", "nodeType": "MemberAccess", - "referencedDeclaration": 7633, + "referencedDeclaration": 8134, "src": "30448:21:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -29860,7 +29860,7 @@ "referencedDeclaration": 2159, "src": "31460:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -29871,7 +29871,7 @@ "lValueRequested": false, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "31460:23:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -29891,7 +29891,7 @@ "referencedDeclaration": 2170, "src": "31487:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -29902,7 +29902,7 @@ "lValueRequested": false, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "31487:27:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -29931,7 +29931,7 @@ "name": "ERR_SUPERBLOCK_BITS_LASTBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4574, + "referencedDeclaration": 4583, "src": "31549:29:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30106,7 +30106,7 @@ "referencedDeclaration": 2159, "src": "30895:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -30117,7 +30117,7 @@ "lValueRequested": true, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7621, + "referencedDeclaration": 8122, "src": "30895:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30154,7 +30154,7 @@ "referencedDeclaration": 2159, "src": "30999:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -30165,7 +30165,7 @@ "lValueRequested": false, "memberName": "height", "nodeType": "MemberAccess", - "referencedDeclaration": 7633, + "referencedDeclaration": 8134, "src": "30999:21:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -30215,7 +30215,7 @@ "referencedDeclaration": 144, "src": "30964:18:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -30226,7 +30226,7 @@ "lValueRequested": false, "memberName": "getSuperblockAt", "nodeType": "MemberAccess", - "referencedDeclaration": 7775, + "referencedDeclaration": 8276, "src": "30964:34:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bytes32_$", @@ -30264,7 +30264,7 @@ "referencedDeclaration": 144, "src": "30922:18:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -30275,7 +30275,7 @@ "lValueRequested": false, "memberName": "getSuperblockTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7782, + "referencedDeclaration": 8283, "src": "30922:41:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", @@ -30395,7 +30395,7 @@ "referencedDeclaration": 2159, "src": "31114:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -30406,7 +30406,7 @@ "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7621, + "referencedDeclaration": 8122, "src": "31114:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30430,7 +30430,7 @@ "referencedDeclaration": 2170, "src": "31140:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -30441,7 +30441,7 @@ "lValueRequested": false, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "31140:27:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -30511,7 +30511,7 @@ "referencedDeclaration": 2159, "src": "31288:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -30522,7 +30522,7 @@ "lValueRequested": false, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "31288:23:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -30566,7 +30566,7 @@ "name": "ERR_SUPERBLOCK_BITS_SUPERBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4556, + "referencedDeclaration": 4565, "src": "31357:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30607,7 +30607,7 @@ "referencedDeclaration": 2159, "src": "31715:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -30618,7 +30618,7 @@ "lValueRequested": false, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "31715:23:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -30673,7 +30673,7 @@ "name": "ERR_SUPERBLOCK_BITS_LASTBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4574, + "referencedDeclaration": 4583, "src": "31786:29:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30787,7 +30787,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "31857:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30850,7 +30850,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { @@ -30858,10 +30858,10 @@ "id": 2158, "name": "SyscoinSuperblocksI.SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, + "referencedDeclaration": 8137, "src": "28146:34:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -31152,10 +31152,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "32098:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -31200,7 +31200,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, + "referencedDeclaration": 11088, "src": "32153:5:1", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -31380,7 +31380,7 @@ "name": "ERR_SUPERBLOCK_TIMEOUT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4520, + "referencedDeclaration": 4529, "src": "32306:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31470,7 +31470,7 @@ "referencedDeclaration": 142, "src": "32343:26:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -31481,7 +31481,7 @@ "lValueRequested": false, "memberName": "checkClaimFinished", "nodeType": "MemberAccess", - "referencedDeclaration": 7587, + "referencedDeclaration": 8087, "src": "32343:45:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$_t_bool_$", @@ -31513,7 +31513,7 @@ "name": "ERR_SUPERBLOCK_TIMEOUT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4520, + "referencedDeclaration": 4529, "src": "32425:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31535,7 +31535,7 @@ "name": "ERR_SUPERBLOCK_NO_TIMEOUT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4523, + "referencedDeclaration": 4532, "src": "32474:25:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31702,7 +31702,7 @@ "referencedDeclaration": 142, "src": "32688:26:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -31713,7 +31713,7 @@ "lValueRequested": false, "memberName": "sessionDecided", "nodeType": "MemberAccess", - "referencedDeclaration": 7596, + "referencedDeclaration": 8096, "src": "32688:41:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", @@ -32088,7 +32088,7 @@ "referencedDeclaration": 142, "src": "33055:26:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -32099,7 +32099,7 @@ "lValueRequested": false, "memberName": "sessionDecided", "nodeType": "MemberAccess", - "referencedDeclaration": 7596, + "referencedDeclaration": 8096, "src": "33055:41:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", @@ -32628,7 +32628,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, + "referencedDeclaration": 11088, "src": "33716:5:1", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -33453,7 +33453,7 @@ "id": 59, "nodeType": "ImportDirective", "scope": 2538, - "sourceUnit": 7598, + "sourceUnit": 8098, "src": "26:47:1", "symbolAliases": [], "unitAlias": "" @@ -33464,7 +33464,7 @@ "id": 60, "nodeType": "ImportDirective", "scope": 2538, - "sourceUnit": 7791, + "sourceUnit": 8313, "src": "74:46:1", "symbolAliases": [], "unitAlias": "" @@ -33475,7 +33475,7 @@ "id": 61, "nodeType": "ImportDirective", "scope": 2538, - "sourceUnit": 4678, + "sourceUnit": 4687, "src": "121:33:1", "symbolAliases": [], "unitAlias": "" @@ -33486,7 +33486,7 @@ "id": 62, "nodeType": "ImportDirective", "scope": 2538, - "sourceUnit": 8723, + "sourceUnit": 9342, "src": "155:60:1", "symbolAliases": [], "unitAlias": "" @@ -33497,7 +33497,7 @@ "id": 63, "nodeType": "ImportDirective", "scope": 2538, - "sourceUnit": 4992, + "sourceUnit": 5001, "src": "216:51:1", "symbolAliases": [], "unitAlias": "" @@ -33511,10 +33511,10 @@ "id": 64, "name": "Initializable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8722, + "referencedDeclaration": 9341, "src": "381:13:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_Initializable_$8722", + "typeIdentifier": "t_contract$_Initializable_$9341", "typeString": "contract Initializable" } }, @@ -33529,10 +33529,10 @@ "id": 66, "name": "SyscoinErrorCodes", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4677, + "referencedDeclaration": 4686, "src": "396:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinErrorCodes_$4677", + "typeIdentifier": "t_contract$_SyscoinErrorCodes_$4686", "typeString": "contract SyscoinErrorCodes" } }, @@ -33547,10 +33547,10 @@ "id": 68, "name": "SyscoinMessageLibrary", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, + "referencedDeclaration": 5000, "src": "415:21:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinMessageLibrary_$4991", + "typeIdentifier": "t_contract$_SyscoinMessageLibrary_$5000", "typeString": "contract SyscoinMessageLibrary" } }, @@ -33560,9 +33560,9 @@ } ], "contractDependencies": [ - 4677, - 4991, - 8722 + 4686, + 5000, + 9341 ], "contractKind": "contract", "documentation": null, @@ -33570,9 +33570,9 @@ "id": 2537, "linearizedBaseContracts": [ 2537, - 4991, - 4677, - 8722 + 5000, + 4686, + 9341 ], "name": "SyscoinBattleManager", "nodeType": "ContractDefinition", @@ -34486,7 +34486,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "typeName": { @@ -34494,10 +34494,10 @@ "id": 139, "name": "Network", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "2553:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -34514,7 +34514,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" }, "typeName": { @@ -34522,10 +34522,10 @@ "id": 141, "name": "SyscoinClaimManagerI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7597, + "referencedDeclaration": 8097, "src": "2609:20:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -34542,7 +34542,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" }, "typeName": { @@ -34550,10 +34550,10 @@ "id": 143, "name": "SyscoinSuperblocksI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7790, + "referencedDeclaration": 8312, "src": "2691:19:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -34978,7 +34978,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "3135:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -35032,10 +35032,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "3127:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -35137,7 +35137,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "3246:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -35234,10 +35234,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "3238:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -35332,7 +35332,7 @@ "referencedDeclaration": 140, "src": "3851:3:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -35347,13 +35347,13 @@ "referencedDeclaration": 207, "src": "3857:8:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, "src": "3851:14:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -35378,7 +35378,7 @@ "referencedDeclaration": 144, "src": "3875:18:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -35393,13 +35393,13 @@ "referencedDeclaration": 209, "src": "3896:12:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, "src": "3875:33:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -35515,7 +35515,7 @@ "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8703, + "referencedDeclaration": 9322, "src": "3829:11:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -35542,7 +35542,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "typeName": { @@ -35550,10 +35550,10 @@ "id": 206, "name": "Network", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "3688:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -35570,7 +35570,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" }, "typeName": { @@ -35578,10 +35578,10 @@ "id": 208, "name": "SyscoinSuperblocksI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7790, + "referencedDeclaration": 8312, "src": "3714:19:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -35699,7 +35699,7 @@ "referencedDeclaration": 142, "src": "4129:26:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } } @@ -35707,7 +35707,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } ], @@ -35827,7 +35827,7 @@ "referencedDeclaration": 237, "src": "4182:20:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } } @@ -35835,7 +35835,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } ], @@ -35948,10 +35948,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "4113:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -35993,7 +35993,7 @@ "referencedDeclaration": 142, "src": "4228:26:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -36008,13 +36008,13 @@ "referencedDeclaration": 237, "src": "4257:20:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, "src": "4228:49:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -36045,7 +36045,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" }, "typeName": { @@ -36053,10 +36053,10 @@ "id": 236, "name": "SyscoinClaimManagerI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7597, + "referencedDeclaration": 8097, "src": "4051:20:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -36282,10 +36282,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "4558:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -36564,7 +36564,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, + "referencedDeclaration": 11088, "src": "4759:5:1", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -36704,7 +36704,7 @@ "referencedDeclaration": 142, "src": "4452:26:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } } @@ -36712,7 +36712,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } ], @@ -37056,7 +37056,7 @@ "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "5499:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", @@ -37278,7 +37278,7 @@ "name": "bytesToUint32Flipped", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4830, + "referencedDeclaration": 4839, "src": "5892:20:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", @@ -37500,7 +37500,7 @@ "name": "bytesToUint32Flipped", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4830, + "referencedDeclaration": 4839, "src": "6304:20:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", @@ -39100,7 +39100,7 @@ "name": "getBytesLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4819, + "referencedDeclaration": 4828, "src": "7628:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", @@ -39455,7 +39455,7 @@ "name": "getBytesLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4819, + "referencedDeclaration": 4828, "src": "7788:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", @@ -39997,7 +39997,7 @@ "name": "getBytesLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4819, + "referencedDeclaration": 4828, "src": "8300:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", @@ -40729,7 +40729,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10171, + "referencedDeclaration": 11085, "src": "9458:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -40776,7 +40776,7 @@ "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10193, + "referencedDeclaration": 11107, "src": "9451:6:1", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", @@ -40844,7 +40844,7 @@ "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "9434:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", @@ -41181,7 +41181,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "9685:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -41278,10 +41278,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "9721:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -41461,7 +41461,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "9848:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -42436,7 +42436,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "10868:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -42945,7 +42945,7 @@ "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "11158:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", @@ -43710,7 +43710,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "11751:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -43899,7 +43899,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "11904:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -43996,10 +43996,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "11951:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -44122,7 +44122,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "12073:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -44222,10 +44222,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "12118:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -44399,7 +44399,7 @@ "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4783, "src": "12208:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", @@ -44584,7 +44584,7 @@ "name": "sliceArray", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4990, + "referencedDeclaration": 4999, "src": "12297:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", @@ -45350,7 +45350,7 @@ "name": "ERR_NO_MERGE_HEADER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4487, + "referencedDeclaration": 4496, "src": "13793:19:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -45632,7 +45632,7 @@ "name": "ERR_FOUND_TWICE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4484, + "referencedDeclaration": 4493, "src": "13587:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -45914,7 +45914,7 @@ "name": "computeMerkle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4962, + "referencedDeclaration": 4971, "src": "14309:13:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", @@ -45947,7 +45947,7 @@ "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "14297:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", @@ -46157,7 +46157,7 @@ "name": "computeMerkle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4962, + "referencedDeclaration": 4971, "src": "15038:13:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", @@ -46381,7 +46381,7 @@ "name": "ERR_COINBASE_INDEX", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4478, + "referencedDeclaration": 4487, "src": "15826:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -46641,7 +46641,7 @@ "name": "ERR_CHAIN_MERKLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4490, + "referencedDeclaration": 4499, "src": "16058:16:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -46770,7 +46770,7 @@ "name": "ERR_PARENT_MERKLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4493, + "referencedDeclaration": 4502, "src": "16170:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -50718,10 +50718,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, + "referencedDeclaration": 11102, "src": "20306:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -50935,7 +50935,7 @@ "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "20438:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", @@ -51680,7 +51680,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10171, + "referencedDeclaration": 11085, "src": "20725:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -51727,7 +51727,7 @@ "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10193, + "referencedDeclaration": 11107, "src": "20718:6:1", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", @@ -51762,7 +51762,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10171, + "referencedDeclaration": 11085, "src": "20701:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -51809,7 +51809,7 @@ "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10193, + "referencedDeclaration": 11107, "src": "20694:6:1", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", @@ -52248,7 +52248,7 @@ "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "20863:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", @@ -52505,7 +52505,7 @@ "rightExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "id": 1499, @@ -52522,7 +52522,7 @@ "referencedDeclaration": 140, "src": "21240:3:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -52536,10 +52536,10 @@ "name": "Network", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "21247:7:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Network_$4693_$", + "typeIdentifier": "t_type$_t_enum$_Network_$4702_$", "typeString": "type(enum SyscoinMessageLibrary.Network)" } }, @@ -52553,7 +52553,7 @@ "referencedDeclaration": null, "src": "21247:15:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -52721,7 +52721,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "id": 1511, @@ -52738,7 +52738,7 @@ "referencedDeclaration": 140, "src": "21323:3:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -52752,10 +52752,10 @@ "name": "Network", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "21330:7:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Network_$4693_$", + "typeIdentifier": "t_type$_t_enum$_Network_$4702_$", "typeString": "type(enum SyscoinMessageLibrary.Network)" } }, @@ -52769,7 +52769,7 @@ "referencedDeclaration": null, "src": "21330:15:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -53307,7 +53307,7 @@ "referencedDeclaration": 1482, "src": "21567:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -53318,7 +53318,7 @@ "lValueRequested": false, "memberName": "blocksMerkleRoot", "nodeType": "MemberAccess", - "referencedDeclaration": 7619, + "referencedDeclaration": 8120, "src": "21567:31:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -53398,7 +53398,7 @@ "name": "ERR_SUPERBLOCK_INVALID_MERKLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4532, + "referencedDeclaration": 4541, "src": "21652:29:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53436,7 +53436,7 @@ "referencedDeclaration": 1482, "src": "21895:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -53447,7 +53447,7 @@ "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7621, + "referencedDeclaration": 8122, "src": "21895:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53507,7 +53507,7 @@ "name": "ERR_SUPERBLOCK_INVALID_TIMESTAMP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4529, + "referencedDeclaration": 4538, "src": "21970:32:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53576,7 +53576,7 @@ "referencedDeclaration": 1482, "src": "22138:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -53587,7 +53587,7 @@ "lValueRequested": false, "memberName": "lastHash", "nodeType": "MemberAccess", - "referencedDeclaration": 7625, + "referencedDeclaration": 8126, "src": "22138:23:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -53616,7 +53616,7 @@ "name": "ERR_SUPERBLOCK_HASH_SUPERBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4562, + "referencedDeclaration": 4571, "src": "22188:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53641,7 +53641,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "22327:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53704,7 +53704,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { @@ -53712,10 +53712,10 @@ "id": 1481, "name": "SyscoinSuperblocksI.SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, + "referencedDeclaration": 8137, "src": "21038:34:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -53991,7 +53991,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "22624:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -54045,10 +54045,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "22616:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -54158,7 +54158,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "id": 1627, @@ -54175,7 +54175,7 @@ "referencedDeclaration": 140, "src": "22722:3:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -54189,10 +54189,10 @@ "name": "Network", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "22729:7:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Network_$4693_$", + "typeIdentifier": "t_type$_t_enum$_Network_$4702_$", "typeString": "type(enum SyscoinMessageLibrary.Network)" } }, @@ -54206,7 +54206,7 @@ "referencedDeclaration": null, "src": "22729:15:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -54536,10 +54536,10 @@ "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 10189, - 10190 + 11103, + 11104 ], - "referencedDeclaration": 10189, + "referencedDeclaration": 11103, "src": "22870:6:1", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$__$returns$__$", @@ -54585,7 +54585,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { @@ -54593,10 +54593,10 @@ "id": 1654, "name": "SyscoinSuperblocksI.SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, + "referencedDeclaration": 8137, "src": "22913:34:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -54631,7 +54631,7 @@ "referencedDeclaration": 1655, "src": "22980:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -54642,7 +54642,7 @@ "lValueRequested": true, "memberName": "blocksMerkleRoot", "nodeType": "MemberAccess", - "referencedDeclaration": 7619, + "referencedDeclaration": 8120, "src": "22980:31:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -54660,7 +54660,7 @@ "referencedDeclaration": 1655, "src": "23013:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -54671,7 +54671,7 @@ "lValueRequested": true, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7621, + "referencedDeclaration": 8122, "src": "23013:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54689,7 +54689,7 @@ "referencedDeclaration": 1655, "src": "23038:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -54700,7 +54700,7 @@ "lValueRequested": true, "memberName": "mtpTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7623, + "referencedDeclaration": 8124, "src": "23038:27:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54718,7 +54718,7 @@ "referencedDeclaration": 1655, "src": "23066:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -54729,7 +54729,7 @@ "lValueRequested": true, "memberName": "lastHash", "nodeType": "MemberAccess", - "referencedDeclaration": 7625, + "referencedDeclaration": 8126, "src": "23066:23:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -54747,7 +54747,7 @@ "referencedDeclaration": 1655, "src": "23090:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -54758,7 +54758,7 @@ "lValueRequested": true, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "23090:23:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -54776,7 +54776,7 @@ "referencedDeclaration": 1655, "src": "23114:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -54787,7 +54787,7 @@ "lValueRequested": true, "memberName": "parentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7627, + "referencedDeclaration": 8128, "src": "23114:23:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -54807,7 +54807,7 @@ "referencedDeclaration": 1655, "src": "23140:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -54818,7 +54818,7 @@ "lValueRequested": true, "memberName": "height", "nodeType": "MemberAccess", - "referencedDeclaration": 7633, + "referencedDeclaration": 8134, "src": "23140:21:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -54874,7 +54874,7 @@ "referencedDeclaration": 144, "src": "23177:18:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -54885,10 +54885,10 @@ "lValueRequested": false, "memberName": "getSuperblock", "nodeType": "MemberAccess", - "referencedDeclaration": 7680, + "referencedDeclaration": 8181, "src": "23177:32:1", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", "typeString": "function (bytes32) view external returns (bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" } }, @@ -54902,7 +54902,7 @@ "nodeType": "FunctionCall", "src": "23177:48:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", "typeString": "tuple(bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" } }, @@ -55245,7 +55245,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "23417:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -55752,7 +55752,7 @@ "name": "ERR_PROOF_OF_WORK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4496, + "referencedDeclaration": 4505, "src": "24264:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -56074,7 +56074,7 @@ "name": "ERR_PROOF_OF_WORK_AUXPOW", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4502, + "referencedDeclaration": 4511, "src": "23832:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -56765,7 +56765,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "24466:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -56966,7 +56966,7 @@ "referencedDeclaration": 1655, "src": "24670:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -57120,7 +57120,7 @@ "typeString": "struct SyscoinBattleManager.BattleSession storage pointer" }, { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" }, { @@ -57139,7 +57139,7 @@ "referencedDeclaration": 1591, "src": "24614:21:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BattleSession_$96_storage_ptr_$_t_struct$_SuperblockInfo_$7636_memory_ptr_$_t_bytes32_$_t_struct$_BlockHeader_$130_memory_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BattleSession_$96_storage_ptr_$_t_struct$_SuperblockInfo_$8137_memory_ptr_$_t_bytes32_$_t_struct$_BlockHeader_$130_memory_ptr_$returns$_t_uint256_$", "typeString": "function (struct SyscoinBattleManager.BattleSession storage pointer,struct SyscoinSuperblocksI.SuperblockInfo memory,bytes32,struct SyscoinBattleManager.BlockHeader memory) returns (uint256)" } }, @@ -57200,7 +57200,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "24813:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -57265,7 +57265,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, + "referencedDeclaration": 11088, "src": "24975:5:1", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -57344,7 +57344,7 @@ "referencedDeclaration": 1655, "src": "25035:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -57369,7 +57369,7 @@ "typeString": "struct SyscoinBattleManager.BattleSession storage pointer" }, { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" }, { @@ -57384,7 +57384,7 @@ "referencedDeclaration": 2345, "src": "25010:15:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BattleSession_$96_storage_ptr_$_t_struct$_SuperblockInfo_$7636_memory_ptr_$_t_array$_t_struct$_BlockHeader_$130_memory_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BattleSession_$96_storage_ptr_$_t_struct$_SuperblockInfo_$8137_memory_ptr_$_t_array$_t_struct$_BlockHeader_$130_memory_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (struct SyscoinBattleManager.BattleSession storage pointer,struct SyscoinSuperblocksI.SuperblockInfo memory,struct SyscoinBattleManager.BlockHeader memory[] memory) returns (uint256)" } }, @@ -57445,7 +57445,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "25095:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -57665,7 +57665,7 @@ "rightExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "id": 1897, @@ -57682,7 +57682,7 @@ "referencedDeclaration": 140, "src": "25359:3:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -57696,10 +57696,10 @@ "name": "Network", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "25366:7:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Network_$4693_$", + "typeIdentifier": "t_type$_t_enum$_Network_$4702_$", "typeString": "type(enum SyscoinMessageLibrary.Network)" } }, @@ -57713,7 +57713,7 @@ "referencedDeclaration": null, "src": "25366:15:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -58405,7 +58405,7 @@ "name": "bytesToUint32Flipped", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4830, + "referencedDeclaration": 4839, "src": "25845:20:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", @@ -59073,7 +59073,7 @@ "name": "ERR_SUPERBLOCK_BITS_PREVBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4559, + "referencedDeclaration": 4568, "src": "26641:29:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59178,7 +59178,7 @@ "name": "ERR_SUPERBLOCK_HASH_PREVBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4565, + "referencedDeclaration": 4574, "src": "26770:29:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59493,7 +59493,7 @@ "name": "ERR_SUPERBLOCK_BITS_PREVBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4559, + "referencedDeclaration": 4568, "src": "26885:29:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59721,7 +59721,7 @@ "name": "ERR_SUPERBLOCK_HASH_INTERIM_PREVBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4583, + "referencedDeclaration": 4592, "src": "27147:37:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59744,7 +59744,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "27211:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -61275,7 +61275,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { @@ -61283,10 +61283,10 @@ "id": 2169, "name": "SyscoinSuperblocksI.SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, + "referencedDeclaration": 8137, "src": "28278:34:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -61454,7 +61454,7 @@ "referencedDeclaration": 2170, "src": "28440:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -61465,7 +61465,7 @@ "lValueRequested": true, "memberName": "mtpTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7623, + "referencedDeclaration": 8124, "src": "28440:31:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -61483,7 +61483,7 @@ "referencedDeclaration": 2170, "src": "28472:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -61494,7 +61494,7 @@ "lValueRequested": true, "memberName": "lastHash", "nodeType": "MemberAccess", - "referencedDeclaration": 7625, + "referencedDeclaration": 8126, "src": "28472:27:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -61512,7 +61512,7 @@ "referencedDeclaration": 2170, "src": "28500:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -61523,7 +61523,7 @@ "lValueRequested": true, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "28500:27:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -61564,7 +61564,7 @@ "referencedDeclaration": 2159, "src": "28580:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -61575,7 +61575,7 @@ "lValueRequested": false, "memberName": "parentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7627, + "referencedDeclaration": 8128, "src": "28580:23:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -61599,7 +61599,7 @@ "referencedDeclaration": 144, "src": "28547:18:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -61610,10 +61610,10 @@ "lValueRequested": false, "memberName": "getSuperblock", "nodeType": "MemberAccess", - "referencedDeclaration": 7680, + "referencedDeclaration": 8181, "src": "28547:32:1", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", "typeString": "function (bytes32) view external returns (bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" } }, @@ -61627,7 +61627,7 @@ "nodeType": "FunctionCall", "src": "28547:57:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", "typeString": "tuple(bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" } }, @@ -61819,7 +61819,7 @@ "referencedDeclaration": 2170, "src": "28853:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -61830,7 +61830,7 @@ "lValueRequested": false, "memberName": "lastHash", "nodeType": "MemberAccess", - "referencedDeclaration": 7625, + "referencedDeclaration": 8126, "src": "28853:27:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -61854,7 +61854,7 @@ "name": "ERR_SUPERBLOCK_HASH_PREVSUPERBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4568, + "referencedDeclaration": 4577, "src": "28905:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -61943,7 +61943,7 @@ "referencedDeclaration": 2170, "src": "29121:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -61954,7 +61954,7 @@ "lValueRequested": false, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "29121:27:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -62038,7 +62038,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "29169:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -62270,7 +62270,7 @@ "referencedDeclaration": 2159, "src": "29876:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -62281,7 +62281,7 @@ "lValueRequested": false, "memberName": "mtpTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7623, + "referencedDeclaration": 8124, "src": "29876:27:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -62305,7 +62305,7 @@ "name": "ERR_SUPERBLOCK_MISMATCH_TIMESTAMP_MTP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4595, + "referencedDeclaration": 4604, "src": "29929:37:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -62356,7 +62356,7 @@ "referencedDeclaration": 2170, "src": "30059:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -62367,7 +62367,7 @@ "lValueRequested": false, "memberName": "mtpTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7623, + "referencedDeclaration": 8124, "src": "30059:31:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -62391,7 +62391,7 @@ "name": "ERR_SUPERBLOCK_TOOSMALL_TIMESTAMP_MTP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4598, + "referencedDeclaration": 4607, "src": "30115:37:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -62408,7 +62408,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" }, "id": 2263, @@ -62425,7 +62425,7 @@ "referencedDeclaration": 140, "src": "30400:3:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -62439,10 +62439,10 @@ "name": "Network", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4693, + "referencedDeclaration": 4702, "src": "30407:7:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Network_$4693_$", + "typeIdentifier": "t_type$_t_enum$_Network_$4702_$", "typeString": "type(enum SyscoinMessageLibrary.Network)" } }, @@ -62456,7 +62456,7 @@ "referencedDeclaration": null, "src": "30407:15:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$4693", + "typeIdentifier": "t_enum$_Network_$4702", "typeString": "enum SyscoinMessageLibrary.Network" } }, @@ -62526,7 +62526,7 @@ "referencedDeclaration": 2159, "src": "30448:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -62537,7 +62537,7 @@ "lValueRequested": false, "memberName": "height", "nodeType": "MemberAccess", - "referencedDeclaration": 7633, + "referencedDeclaration": 8134, "src": "30448:21:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -62678,7 +62678,7 @@ "referencedDeclaration": 2159, "src": "31460:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -62689,7 +62689,7 @@ "lValueRequested": false, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "31460:23:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -62709,7 +62709,7 @@ "referencedDeclaration": 2170, "src": "31487:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -62720,7 +62720,7 @@ "lValueRequested": false, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "31487:27:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -62749,7 +62749,7 @@ "name": "ERR_SUPERBLOCK_BITS_LASTBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4574, + "referencedDeclaration": 4583, "src": "31549:29:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -62924,7 +62924,7 @@ "referencedDeclaration": 2159, "src": "30895:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -62935,7 +62935,7 @@ "lValueRequested": true, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7621, + "referencedDeclaration": 8122, "src": "30895:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -62972,7 +62972,7 @@ "referencedDeclaration": 2159, "src": "30999:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -62983,7 +62983,7 @@ "lValueRequested": false, "memberName": "height", "nodeType": "MemberAccess", - "referencedDeclaration": 7633, + "referencedDeclaration": 8134, "src": "30999:21:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -63033,7 +63033,7 @@ "referencedDeclaration": 144, "src": "30964:18:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -63044,7 +63044,7 @@ "lValueRequested": false, "memberName": "getSuperblockAt", "nodeType": "MemberAccess", - "referencedDeclaration": 7775, + "referencedDeclaration": 8276, "src": "30964:34:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bytes32_$", @@ -63082,7 +63082,7 @@ "referencedDeclaration": 144, "src": "30922:18:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -63093,7 +63093,7 @@ "lValueRequested": false, "memberName": "getSuperblockTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7782, + "referencedDeclaration": 8283, "src": "30922:41:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", @@ -63213,7 +63213,7 @@ "referencedDeclaration": 2159, "src": "31114:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -63224,7 +63224,7 @@ "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7621, + "referencedDeclaration": 8122, "src": "31114:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -63248,7 +63248,7 @@ "referencedDeclaration": 2170, "src": "31140:18:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -63259,7 +63259,7 @@ "lValueRequested": false, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "31140:27:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -63329,7 +63329,7 @@ "referencedDeclaration": 2159, "src": "31288:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -63340,7 +63340,7 @@ "lValueRequested": false, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "31288:23:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -63384,7 +63384,7 @@ "name": "ERR_SUPERBLOCK_BITS_SUPERBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4556, + "referencedDeclaration": 4565, "src": "31357:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -63425,7 +63425,7 @@ "referencedDeclaration": 2159, "src": "31715:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo memory" } }, @@ -63436,7 +63436,7 @@ "lValueRequested": false, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, + "referencedDeclaration": 8132, "src": "31715:23:1", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -63491,7 +63491,7 @@ "name": "ERR_SUPERBLOCK_BITS_LASTBLOCK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4574, + "referencedDeclaration": 4583, "src": "31786:29:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -63605,7 +63605,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "31857:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -63668,7 +63668,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_memory_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_memory_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { @@ -63676,10 +63676,10 @@ "id": 2158, "name": "SyscoinSuperblocksI.SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, + "referencedDeclaration": 8137, "src": "28146:34:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -63970,10 +63970,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "32098:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -64018,7 +64018,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, + "referencedDeclaration": 11088, "src": "32153:5:1", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -64198,7 +64198,7 @@ "name": "ERR_SUPERBLOCK_TIMEOUT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4520, + "referencedDeclaration": 4529, "src": "32306:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -64288,7 +64288,7 @@ "referencedDeclaration": 142, "src": "32343:26:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -64299,7 +64299,7 @@ "lValueRequested": false, "memberName": "checkClaimFinished", "nodeType": "MemberAccess", - "referencedDeclaration": 7587, + "referencedDeclaration": 8087, "src": "32343:45:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$_t_bool_$", @@ -64331,7 +64331,7 @@ "name": "ERR_SUPERBLOCK_TIMEOUT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4520, + "referencedDeclaration": 4529, "src": "32425:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -64353,7 +64353,7 @@ "name": "ERR_SUPERBLOCK_NO_TIMEOUT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4523, + "referencedDeclaration": 4532, "src": "32474:25:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -64520,7 +64520,7 @@ "referencedDeclaration": 142, "src": "32688:26:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -64531,7 +64531,7 @@ "lValueRequested": false, "memberName": "sessionDecided", "nodeType": "MemberAccess", - "referencedDeclaration": 7596, + "referencedDeclaration": 8096, "src": "32688:41:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", @@ -64906,7 +64906,7 @@ "referencedDeclaration": 142, "src": "33055:26:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$7597", + "typeIdentifier": "t_contract$_SyscoinClaimManagerI_$8097", "typeString": "contract SyscoinClaimManagerI" } }, @@ -64917,7 +64917,7 @@ "lValueRequested": false, "memberName": "sessionDecided", "nodeType": "MemberAccess", - "referencedDeclaration": 7596, + "referencedDeclaration": 8096, "src": "33055:41:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", @@ -65446,7 +65446,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, + "referencedDeclaration": 11088, "src": "33716:5:1", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -66248,16 +66248,9 @@ "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, - "networks": { - "4": { - "links": {}, - "events": {}, - "address": "0xf1ad87244F381d209F70f5c9B089e6Bd1cEa0FB0", - "updated_at": 1576039531245 - } - }, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.401Z", + "networks": {}, + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.267Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/SyscoinBattleManagerI.json b/build/contracts/SyscoinBattleManagerI.json index 04f56c5..5373f4d 100644 --- a/build/contracts/SyscoinBattleManagerI.json +++ b/build/contracts/SyscoinBattleManagerI.json @@ -38,14 +38,14 @@ "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinBattleManagerI.sol", "exportedSymbols": { "SyscoinBattleManagerI": [ - 7559 + 8059 ] }, - "id": 7560, + "id": 8060, "nodeType": "SourceUnit", "nodes": [ { - "id": 7549, + "id": 8049, "literals": [ "solidity", "^", @@ -53,7 +53,7 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:8" + "src": "0:24:9" }, { "baseContracts": [], @@ -61,9 +61,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 7559, + "id": 8059, "linearizedBaseContracts": [ - 7559 + 8059 ], "name": "SyscoinBattleManagerI", "nodeType": "ContractDefinition", @@ -71,23 +71,23 @@ { "body": null, "documentation": null, - "id": 7558, + "id": 8058, "implemented": false, "kind": "function", "modifiers": [], "name": "beginBattleSession", "nodeType": "FunctionDefinition", "parameters": { - "id": 7556, + "id": 8056, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7551, + "id": 8051, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7558, - "src": "208:22:8", + "scope": 8058, + "src": "208:22:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -95,10 +95,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7550, + "id": 8050, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "208:7:8", + "src": "208:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -109,11 +109,11 @@ }, { "constant": false, - "id": 7553, + "id": 8053, "name": "submitter", "nodeType": "VariableDeclaration", - "scope": 7558, - "src": "232:17:8", + "scope": 8058, + "src": "232:17:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -121,10 +121,10 @@ "typeString": "address" }, "typeName": { - "id": 7552, + "id": 8052, "name": "address", "nodeType": "ElementaryTypeName", - "src": "232:7:8", + "src": "232:7:9", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -136,11 +136,11 @@ }, { "constant": false, - "id": 7555, + "id": 8055, "name": "challenger", "nodeType": "VariableDeclaration", - "scope": 7558, - "src": "251:18:8", + "scope": 8058, + "src": "251:18:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -148,10 +148,10 @@ "typeString": "address" }, "typeName": { - "id": 7554, + "id": 8054, "name": "address", "nodeType": "ElementaryTypeName", - "src": "251:7:8", + "src": "251:7:9", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -162,39 +162,39 @@ "visibility": "internal" } ], - "src": "207:63:8" + "src": "207:63:9" }, "returnParameters": { - "id": 7557, + "id": 8057, "nodeType": "ParameterList", "parameters": [], - "src": "287:0:8" + "src": "287:0:9" }, - "scope": 7559, - "src": "180:108:8", + "scope": 8059, + "src": "180:108:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 7560, - "src": "105:185:8" + "scope": 8060, + "src": "105:185:9" } ], - "src": "0:291:8" + "src": "0:291:9" }, "legacyAST": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinBattleManagerI.sol", "exportedSymbols": { "SyscoinBattleManagerI": [ - 7559 + 8059 ] }, - "id": 7560, + "id": 8060, "nodeType": "SourceUnit", "nodes": [ { - "id": 7549, + "id": 8049, "literals": [ "solidity", "^", @@ -202,7 +202,7 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:8" + "src": "0:24:9" }, { "baseContracts": [], @@ -210,9 +210,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 7559, + "id": 8059, "linearizedBaseContracts": [ - 7559 + 8059 ], "name": "SyscoinBattleManagerI", "nodeType": "ContractDefinition", @@ -220,23 +220,23 @@ { "body": null, "documentation": null, - "id": 7558, + "id": 8058, "implemented": false, "kind": "function", "modifiers": [], "name": "beginBattleSession", "nodeType": "FunctionDefinition", "parameters": { - "id": 7556, + "id": 8056, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7551, + "id": 8051, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7558, - "src": "208:22:8", + "scope": 8058, + "src": "208:22:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -244,10 +244,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7550, + "id": 8050, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "208:7:8", + "src": "208:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -258,11 +258,11 @@ }, { "constant": false, - "id": 7553, + "id": 8053, "name": "submitter", "nodeType": "VariableDeclaration", - "scope": 7558, - "src": "232:17:8", + "scope": 8058, + "src": "232:17:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -270,10 +270,10 @@ "typeString": "address" }, "typeName": { - "id": 7552, + "id": 8052, "name": "address", "nodeType": "ElementaryTypeName", - "src": "232:7:8", + "src": "232:7:9", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -285,11 +285,11 @@ }, { "constant": false, - "id": 7555, + "id": 8055, "name": "challenger", "nodeType": "VariableDeclaration", - "scope": 7558, - "src": "251:18:8", + "scope": 8058, + "src": "251:18:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -297,10 +297,10 @@ "typeString": "address" }, "typeName": { - "id": 7554, + "id": 8054, "name": "address", "nodeType": "ElementaryTypeName", - "src": "251:7:8", + "src": "251:7:9", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -311,34 +311,34 @@ "visibility": "internal" } ], - "src": "207:63:8" + "src": "207:63:9" }, "returnParameters": { - "id": 7557, + "id": 8057, "nodeType": "ParameterList", "parameters": [], - "src": "287:0:8" + "src": "287:0:9" }, - "scope": 7559, - "src": "180:108:8", + "scope": 8059, + "src": "180:108:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 7560, - "src": "105:185:8" + "scope": 8060, + "src": "105:185:9" } ], - "src": "0:291:8" + "src": "0:291:9" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.562Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.446Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/SyscoinClaimManager.json b/build/contracts/SyscoinClaimManager.json index 41e10cd..a0b1086 100644 --- a/build/contracts/SyscoinClaimManager.json +++ b/build/contracts/SyscoinClaimManager.json @@ -612,6 +612,37 @@ "stateMutability": "view", "type": "function" }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "superblockHash", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "unbondDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, { "constant": false, "inputs": [ @@ -930,21 +961,21 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositBonded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositMade\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositUnbonded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"err\",\"type\":\"uint256\"}],\"name\":\"ErrorClaim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"loser\",\"type\":\"address\"}],\"name\":\"SuperblockBattleDecided\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"name\":\"SuperblockClaimChallenged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"processCounter\",\"type\":\"uint256\"}],\"name\":\"SuperblockClaimCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"processCounter\",\"type\":\"uint256\"}],\"name\":\"SuperblockClaimFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"}],\"name\":\"SuperblockClaimPending\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"processCounter\",\"type\":\"uint256\"}],\"name\":\"SuperblockClaimSuccessful\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"name\":\"VerificationGameStarted\",\"type\":\"event\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"bondDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"challengeSuperblock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"checkClaimFinished\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"claims\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengeTimeout\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"verificationOngoing\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"decided\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"invalid\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challengeDefended\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"descendantId\",\"type\":\"bytes32\"}],\"name\":\"confirmClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getBondedDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getClaimChallenger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getClaimDecided\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getClaimExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getClaimInvalid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getClaimSubmitter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"getDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getInBattleAndSemiApprovable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getNewSuperblockEventTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"inProcessCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contract SyscoinSuperblocksI\",\"name\":\"_superblocks\",\"type\":\"address\"},{\"internalType\":\"contract SyscoinBattleManagerI\",\"name\":\"_syscoinBattleManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_superblockDelay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_superblockTimeout\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_superblockConfirmations\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"makeDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minProposalDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentHash\",\"type\":\"bytes32\"}],\"name\":\"proposeSuperblock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"rejectClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"loser\",\"type\":\"address\"}],\"name\":\"sessionDecided\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"superblockConfirmations\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"superblockDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"superblockTimeout\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"trustedSuperblocks\",\"outputs\":[{\"internalType\":\"contract SyscoinSuperblocksI\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"trustedSyscoinBattleManager\",\"outputs\":[{\"internalType\":\"contract SyscoinBattleManagerI\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinClaimManager.sol\":\"SyscoinClaimManager\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinClaimManager.sol\":{\"keccak256\":\"0x07802f4d3833fc3d0b24852c6a7144d4cbc04666684ad706fc88b8ed90e49ea6\",\"urls\":[\"bzz-raw://71582dc792fa6b14fb05f51161316e951724d2ca0607ae1d76c9b74f93e5dab0\",\"dweb:/ipfs/QmWUkuibyBwDJ15K3PK77CB5TLynDyzPjZwRWG2puqrzcP\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinDepositsManager.sol\":{\"keccak256\":\"0xcbcb0dca2569249428be0542b590145149afac4f9064a2876b5c99f511795b1a\",\"urls\":[\"bzz-raw://f45cb168ff5cd6d6b7291a5a4babf6c11d7b7c47ea3d75911e6bcacf35774c2c\",\"dweb:/ipfs/QmVsFw6WPVecLC3Y5GZiYPJuhWv3b2ML8sc8i7kE66YWqP\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinErrorCodes.sol\":{\"keccak256\":\"0x02931f928c2e9680efca3cf47c69a1dc441d9c61dc903d7a8dc9b37a80d1d67f\",\"urls\":[\"bzz-raw://a54ffdf18cd31b84a118b424b670e22d1c91fb1721edbfd00cf671b9a1de928c\",\"dweb:/ipfs/QmQYNCXgBzerzAEuZ1KYhgC7MymqiFtDMcAaFJf6yxv3GU\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinBattleManagerI.sol\":{\"keccak256\":\"0xf8b2414a059a740fa83732da4920a1366c65050eb7a71a5c02384baee3909510\",\"urls\":[\"bzz-raw://47fe417636eb124718f48987d688ab184ea240eb969dcf6d486febc57c1a5dc2\",\"dweb:/ipfs/QmaJGBEGGo7sHUrJPGb41vMqT8nvFrxXhpAcUfYDDNqdZg\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinClaimManagerI.sol\":{\"keccak256\":\"0x10621a56230a5720fce059a05915eceb0277cd955bbb1ad9f109ce6c247a5638\",\"urls\":[\"bzz-raw://c0fdbc1c8d02f6c62e4e8cabf044e85b805a21e6e7b13c6f304541707a5a3355\",\"dweb:/ipfs/QmSK8E13yiYq1AVHtfJbUvijVkjebvxdoixXvUVSAkz5eX\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol\":{\"keccak256\":\"0x45dee08e14623208dd251ab7df22264396bc6d7453f860b2168946bfe132e753\",\"urls\":[\"bzz-raw://63eeda0c89724a00b59e4833a6da6891dd8e69afb000122b861a6877a28a9c06\",\"dweb:/ipfs/QmZhyw5pkWaMAsKMBRfrCVNe7pjzuwgAZ6xRoK7pqLDcwk\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0xf79d9851c085aa8412e87d7a26d3485488fe12538ecb4e317ce41fc1f2c3a16a\",\"urls\":[\"bzz-raw://6af1a35ad6aed2169ce9f44095438b3192cd6066903908f769d5c49a06a0caf8\",\"dweb:/ipfs/QmaH41CwJ7WrMQwSnbfCKuL2pd8bxF7sbGSLPZb6JaHBFF\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50612a9c806100206000396000f3fe6080604052600436106101b75760003560e01c806357872488116100ec578063c3d3290f1161008a578063e1254fba11610064578063e1254fba146105bf578063eff0f592146105f2578063f934436e14610675578063fc7e286d146106c4576101b7565b8063c3d3290f14610541578063c44205e31461056b578063dac1d76414610595576101b7565b806390a14aea116100c657806390a14aea14610480578063a4cbce7b14610495578063a8b4633f146104d8578063c2569e5a14610502576101b7565b8063578724881461042c5780635ac4e02c146104415780635bf7d5db14610456576101b7565b80632bcf947e116101595780633352f1a4116101335780633352f1a4146103bb57806340732c89146103e5578063455e6166146103ed57806355e4286b14610402576101b7565b80632bcf947e14610315578063329af83f1461037c57806333289a4614610391576101b7565b806318b011de1161019557806318b011de1461025a5780631fed7b851461028157806327b425a6146102c757806329118a9b146102dc576101b7565b8063040aa57a146101c25780630ac0d9c91461020657806313be4f9e14610230575b6101bf6106f7565b50005b3480156101ce57600080fd5b506101f2600480360360408110156101e557600080fd5b5080359060200135610717565b604080519115158252519081900360200190f35b34801561021257600080fd5b506101f26004803603602081101561022957600080fd5b5035610d42565b34801561023c57600080fd5b506101f26004803603602081101561025357600080fd5b5035610d61565b34801561026657600080fd5b5061026f611104565b60408051918252519081900360200190f35b34801561028d57600080fd5b506102ab600480360360208110156102a457600080fd5b503561110a565b604080516001600160a01b039092168252519081900360200190f35b3480156102d357600080fd5b5061026f611128565b3480156102e857600080fd5b5061026f600480360360408110156102ff57600080fd5b50803590602001356001600160a01b031661112e565b34801561032157600080fd5b50610363600480360360c081101561033857600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a00135611172565b6040805192835260208301919091528051918290030190f35b34801561038857600080fd5b506102ab61153f565b34801561039d57600080fd5b5061026f600480360360208110156103b457600080fd5b503561154e565b3480156103c757600080fd5b506101f2600480360360208110156103de57600080fd5b5035611619565b61026f6106f7565b3480156103f957600080fd5b5061026f611b4a565b34801561040e57600080fd5b506103636004803603602081101561042557600080fd5b5035611b56565b34801561043857600080fd5b5061026f611fa2565b34801561044d57600080fd5b5061026f611fa8565b34801561046257600080fd5b506102ab6004803603602081101561047957600080fd5b5035611fae565b34801561048c57600080fd5b506102ab611fcc565b3480156104a157600080fd5b506104d6600480360360608110156104b857600080fd5b508035906001600160a01b0360208201358116916040013516611fdb565b005b3480156104e457600080fd5b506101f2600480360360208110156104fb57600080fd5b50356120d9565b34801561050e57600080fd5b5061026f6004803603606081101561052557600080fd5b508035906001600160a01b0360208201351690604001356121c3565b34801561054d57600080fd5b5061026f6004803603602081101561056457600080fd5b5035612302565b34801561057757600080fd5b506101f26004803603602081101561058e57600080fd5b5035612317565b3480156105a157600080fd5b506101f2600480360360208110156105b857600080fd5b5035612334565b3480156105cb57600080fd5b5061026f600480360360208110156105e257600080fd5b50356001600160a01b0316612352565b3480156105fe57600080fd5b5061061c6004803603602081101561061557600080fd5b503561236d565b60408051998a526001600160a01b0398891660208b0152969097168887015260608801949094526080870192909252151560a0860152151560c0850152151560e084015290151561010083015251908190036101200190f35b34801561068157600080fd5b506104d6600480360360a081101561069857600080fd5b506001600160a01b038135811691602081013590911690604081013590606081013590608001356123ce565b3480156106d057600080fd5b5061026f600480360360208110156106e757600080fd5b50356001600160a01b03166124b9565b600061070333346124cb565b503360009081526033602052604090205490565b6000818152603460205260408120819060019084905b8682146109085761073d81612550565b15806107535750600681015462010000900460ff165b1561078f576040805188815261c3a060208201528151600080516020612a1a833981519152929181900390910190a16000945050505050610d3c565b603554604080516365702c0f60e11b81526004810185905290516003926001600160a01b03169163cae0581e916024808301926020929190829003018186803b1580156107db57600080fd5b505afa1580156107ef573d6000803e3d6000fd5b505050506040513d602081101561080557600080fd5b5051600581111561081257fe5b1461084e576040805188815261c36460208201528151600080516020612a1a833981519152929181900390910190a16000945050505050610d3c565b828015610867575060028101546001600160a01b031615155b1561087157600092505b60355460408051632af00c6760e11b81526004810185905290516001600160a01b03909216916355e018ce91602480820192602092909190829003018186803b1580156108bd57600080fd5b505afa1580156108d1573d6000803e3d6000fd5b505050506040513d60208110156108e757600080fd5b5051600081815260346020526040902060019590950194909250905061072d565b603754841015610949576040805188815261c3dc60208201528151600080516020612a1a833981519152929181900390910190a16000945050505050610d3c565b603554604080516365702c0f60e11b81526004810185905290516003926001600160a01b03169163cae0581e916024808301926020929190829003018186803b15801561099557600080fd5b505afa1580156109a9573d6000803e3d6000fd5b505050506040513d60208110156109bf57600080fd5b505160058111156109cc57fe5b14610a08576040805188815261c36460208201528151600080516020612a1a833981519152929181900390910190a16000945050505050610d3c565b603554604080516395b45ee760e01b8152600481018a905233602482015290516000926001600160a01b0316916395b45ee791604480830192602092919082900301818787803b158015610a5b57600080fd5b505af1158015610a6f573d6000803e3d6000fd5b505050506040513d6020811015610a8557600080fd5b505190508015610ac65760408051898152602081018390528151600080516020612a1a833981519152929181900390910190a1600095505050505050610d3c565b610ad08883612562565b8315610cd757606085604051908082528060200260200182016040528015610b02578160200160208202803883390190505b50889450905060005b898514610baa5784828281518110610b1f57fe5b60209081029190910181019190915260355460408051632af00c6760e11b81526004810189905290516001600160a01b03909216926355e018ce92602480840193829003018186803b158015610b7457600080fd5b505afa158015610b88573d6000803e3d6000fd5b505050506040513d6020811015610b9e57600080fd5b50519450600101610b0b565b8015610cd457600181039050818181518110610bc257fe5b602090810291909101810151600081815260348352604080822060355482516395b45ee760e01b8152600481018690523360248201529251949a509098506001600160a01b0316936395b45ee79360448084019492939192918390030190829087803b158015610c3157600080fd5b505af1158015610c45573d6000803e3d6000fd5b505050506040513d6020811015610c5b57600080fd5b505192508215610c6a57600080fd5b610c748585612562565b603a805460001901908190556001850154604080518881526001600160a01b0390921660208301528181019290925290517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a1610baa565b50505b603a805460001901908190556001830154604080518b81526001600160a01b0390921660208301528181019290925290517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a16001955050505050505b92915050565b6000818152603460205260408120610d5990612550565b90505b919050565b6000818152603460205260408120610d7881612550565b610db0576040805184815261c3a060208201528151600080516020612a1a833981519152929181900390910190a16000915050610d5c565b60355460408051632e40019160e01b81526004810186905290516000926001600160a01b031691632e400191916024808301926020929190829003018186803b158015610dfc57600080fd5b505afa158015610e10573d6000803e3d6000fd5b505050506040513d6020811015610e2657600080fd5b505160355460408051632dab940960e11b8152905163ffffffff90931693506001600160a01b0390911691635b57281291600480820192602092909190829003018186803b158015610e7757600080fd5b505afa158015610e8b573d6000803e3d6000fd5b505050506040513d6020811015610ea157600080fd5b5051811115610edf576040805185815261c3fa60208201528151600080516020612a1a833981519152929181900390910190a1600092505050610d5c565b603554604080516365702c0f60e11b81526004810187905290516000926001600160a01b03169163cae0581e916024808301926020929190829003018186803b158015610f2b57600080fd5b505afa158015610f3f573d6000803e3d6000fd5b505050506040513d6020811015610f5557600080fd5b505190506003816005811115610f6757fe5b14610fa2576040805186815261c36460208201528151600080516020612a1a833981519152929181900390910190a160009350505050610d5c565b6006830154610100900460ff16610fe9576040805186815261c3b460208201528151600080516020612a1a833981519152929181900390910190a160009350505050610d5c565b603554600184015460408051633a102bc360e11b8152600481018990526001600160a01b0392831660248201529051600093929092169163742057869160448082019260209290919082900301818787803b15801561104757600080fd5b505af115801561105b573d6000803e3d6000fd5b505050506040513d602081101561107157600080fd5b50519050801561108057600080fd5b61108a8685612614565b60068401805462ff0000191662010000179055603a805460001901908190556002850154604080518981526001600160a01b0390921660208301528181019290925290517f6ebb2f466d4c07e002cf7da3bf393c34f5c693c635dfd53295a724e2c03ad7e99181900360600190a150600195945050505050565b60395481565b6000908152603460205260409020600201546001600160a01b031690565b60375481565b600082815260346020526040812061114581612550565b61114e57600080fd5b6001600160a01b038316600090815260049091016020526040902054905092915050565b60355460009081906001600160a01b031661118c57600080fd5b600a603a54106111ce57604080516000815261c38e60208201528151600080516020612a1a833981519152929181900390910190a15061c38e90506000611534565b336000908152603360205260409020546729a2241af62c0000111561122557604080516000815261c39160208201528151600080516020612a1a833981519152929181900390910190a15061c39190506000611534565b426038548701111561126957604080516000815261c39560208201528151600080516020612a1a833981519152929181900390910190a15061c39590506000611534565b611c2f420187106112ac57604080516000815261c37360208201528151600080516020612a1a833981519152929181900390910190a15061c37390506000611534565b60355460408051639e20c80360e01b8152600481018b9052602481018a9052604481018990526064810188905263ffffffff8716608482015260a481018690523360c4820152815160009384936001600160a01b0390911692639e20c8039260e4808301939282900301818787803b15801561132757600080fd5b505af115801561133b573d6000803e3d6000fd5b505050506040513d604081101561135157600080fd5b508051602090910151909250905081156113985760408051828152602081018490528151600080516020612a1a833981519152929181900390910190a19092509050611534565b60008181526034602052604090206113af81612550565b1561140457600681015462010000900460ff16151560011480156113e25750600681015460ff6101009091041615156001145b80156113fb575060018101546001600160a01b03163314155b61140457600080fd5b818155600181018054336001600160a01b03199182168117909255600283018054909116905560068201805462ffffff1981168255426003850181905560395401600585015563ffffffff191690556040805163612b4f2d60e11b81526004810185905260248101929092526729a2241af62c0000604483015251309163c2569e5a9160648083019260209291908290030181600087803b1580156114a857600080fd5b505af11580156114bc573d6000803e3d6000fd5b505050506040513d60208110156114d257600080fd5b5051925082156114e157600080fd5b603a8054600101908190556040805184815233602082015280820192909252517f5f53357548142db44904e21464dc5ffa3e092fb7b155299341125bd259906e309181900360600190a150600093509150505b965096945050505050565b6036546001600160a01b031681565b3360009081526033602052604081205482111561156a57600080fd5b3360009081526033602052604090205461158a908363ffffffff6127ec16565b33600081815260336020526040808220939093559151909184156108fc02918591818181858888f193505050501580156115c8573d6000803e3d6000fd5b50604080513381526020810184905281517f4482101800a5c2e900f4156e57e05e19ffd7b366cde579553d723fd3abb2180e929181900390910190a150503360009081526033602052604090205490565b600081815260346020526040812061163081612550565b158061164557506006810154610100900460ff165b1561167e576040805184815261c3a060208201528151600080516020612a1a833981519152929181900390910190a16000915050610d5c565b600681015460ff16156116bf576040805184815261c3aa60208201528151600080516020612a1a833981519152929181900390910190a16000915050610d5c565b600681015462010000900460ff16156117ea5760068101805461ff001916610100179055603554600182015460408051633a102bc360e11b8152600481018790526001600160a01b0392831660248201529051600093929092169163742057869160448082019260209290919082900301818787803b15801561174157600080fd5b505af1158015611755573d6000803e3d6000fd5b505050506040513d602081101561176b57600080fd5b50519050801561177a57600080fd5b6117848483612614565b603a805460001901908190556002830154604080518781526001600160a01b0390921660208301528181019290925290517f6ebb2f466d4c07e002cf7da3bf393c34f5c693c635dfd53295a724e2c03ad7e99181900360600190a1600092505050610d5c565b80600501544211611829576040805184815261c36e60208201528151600080516020612a1a833981519152929181900390910190a16000915050610d5c565b60068101805461ff00191661010017905560028101546000906001600160a01b03166119635760355460408051632af00c6760e11b81526004810187905290516000926001600160a01b0316916355e018ce916024808301926020929190829003018186803b15801561189b57600080fd5b505afa1580156118af573d6000803e3d6000fd5b505050506040513d60208110156118c557600080fd5b5051603554604080516365702c0f60e11b81526004810184905290519293506000926001600160a01b039092169163cae0581e91602480820192602092909190829003018186803b15801561191957600080fd5b505afa15801561192d573d6000803e3d6000fd5b505050506040513d602081101561194357600080fd5b50519050600481600581111561195557fe5b141561196057600192505b50505b8015611a6a57603554604080516395b45ee760e01b81526004810187905233602482015290516000926001600160a01b0316916395b45ee791604480830192602092919082900301818787803b1580156119bc57600080fd5b505af11580156119d0573d6000803e3d6000fd5b505050506040513d60208110156119e657600080fd5b5051905080156119f557600080fd5b60018301546001600160a01b0316611a0d868261282e565b5050603a80546000190190819055604080518881526001600160a01b038416602082015280820192909252517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a15050611b40565b603554604080516327426f7560e01b81526004810187905233602482015290516000926001600160a01b0316916327426f7591604480830192602092919082900301818787803b158015611abd57600080fd5b505af1158015611ad1573d6000803e3d6000fd5b505050506040513d6020811015611ae757600080fd5b505190508015611af657600080fd5b6001830154604080518781526001600160a01b03909216602083015280517f68c34be3e9c7221898bee267017dda5f7344326a8825b2d4427dfeaba0fa19299281900390910190a1505b5060019392505050565b6729a2241af62c000081565b60355460009081906001600160a01b0316611b7057600080fd5b6000838152603460205260409020611b8781612550565b611bc3576040805185815261c3a060208201528151600080516020612a1a833981519152929181900390910190a161c3a0849250925050611f9d565b60068101546301000000900460ff16151560011415611c14576040805185815261c41860208201528151600080516020612a1a833981519152929181900390910190a161c418849250925050611f9d565b6006810154610100900460ff1680611c365750600681015462010000900460ff165b15611c73576040805185815261c3b460208201528151600080516020612a1a833981519152929181900390910190a161c3b4849250925050611f9d565b600681015460ff1615611cb8576040805185815261c3be60208201528151600080516020612a1a833981519152929181900390910190a161c3be849250925050611f9d565b336000908152603360205260409020546729a2241af62c00001115611d0f576040805185815261c39160208201528151600080516020612a1a833981519152929181900390910190a161c391849250925050611f9d565b6035546040805163c1f67ab360e01b81526004810187905233602482015290516000926001600160a01b03169163c1f67ab391604480830192602092919082900301818787803b158015611d6257600080fd5b505af1158015611d76573d6000803e3d6000fd5b505050506040513d6020811015611d8c57600080fd5b505190508015611dcc5760408051868152602081018390528151600080516020612a1a833981519152929181900390910190a1925060009150611f9d9050565b6040805163612b4f2d60e11b8152600481018790523360248201526729a2241af62c000060448201529051309163c2569e5a9160648083019260209291908290030181600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b505050506040513d6020811015611e4a57600080fd5b505190508015611e5957600080fd5b603954420160058301556002820180546001600160a01b0319163390811790915560408051878152602081019290925280517f4e4ec862758a1fd984d86a07836cbea0bb7aec069cc98cd7a543266b270e42e49281900390910190a160365460018301546002840154604080516368ed776f60e11b8152600481018a90526001600160a01b039384166024820152918316604483015251919092169163d1daeede91606480830192600092919082900301818387803b158015611f1b57600080fd5b505af1158015611f2f573d6000803e3d6000fd5b5050505060018201546002830154604080518881526001600160a01b0393841660208201529290911682820152517f39232966947bb72bddd01335ecadedd95920ea1e1f044f9913a5f35e34275d9c9181900360600190a150600601805460ff191660011790555060009050815b915091565b60385481565b603a5481565b6000908152603460205260409020600101546001600160a01b031690565b6035546001600160a01b031681565b6036546001600160a01b03163314611ff257600080fd5b600083815260346020526040902061200981612550565b61201257600080fd5b60068101805460ff1916905560018101546001600160a01b039081169083168114156120505760068201805462ff0000191662010000179055612089565b836001600160a01b0316816001600160a01b031614156120845760068201805463ff00000019166301000000179055612089565b600080fd5b604080518681526001600160a01b03808716602083015285168183015290517f1a6e323d263407d13632ff217899ae9353a07223d311df6db8d80cad6a57c2d59181900360600190a15050505050565b60008181526034602052604081206002603554604080516365702c0f60e11b81526004810187905290516001600160a01b039092169163cae0581e91602480820192602092909190829003018186803b15801561213557600080fd5b505afa158015612149573d6000803e3d6000fd5b505050506040513d602081101561215f57600080fd5b5051600581111561216c57fe5b1480156121845750600681015462010000900460ff16155b80156121955750600681015460ff16155b80156121a45750806005015442115b80156121bc575060028101546001600160a01b031615155b9392505050565b6036546000906001600160a01b03163314806121de57503330145b6121e757600080fd5b60008481526034602052604090206121fe81612550565b61220d5761c3a09150506121bc565b6001600160a01b0384166000908152603360205260409020548311156122385761c3919150506121bc565b6001600160a01b038416600090815260336020526040902054612261908463ffffffff6127ec16565b6001600160a01b0385166000908152603360209081526040808320939093556004840190522054612298908463ffffffff61292216565b6001600160a01b038516600081815260048401602090815260409182902093909355805188815292830191909152818101859052517ff49b89a01f8b7e79e855801f268b5df3d7c88c4bc61293934fc1f9c52ddfeb319181900360600190a1506000949350505050565b60009081526034602052604090206003015490565b600090815260346020526040902060060154610100900460ff1690565b60009081526034602052604090206006015462010000900460ff1690565b6001600160a01b031660009081526033602052604090205490565b60346020526000908152604090208054600182015460028301546003840154600585015460069095015493946001600160a01b03938416949290931692909160ff808216916101008104821691620100008204811691630100000090041689565b600054610100900460ff16806123e757506123e761297c565b806123f5575060005460ff16155b6124305760405162461bcd60e51b815260040180806020018281038252602e815260200180612a3a602e913960400191505060405180910390fd5b600054610100900460ff1615801561245b576000805460ff1961ff0019909116610100171660011790555b603580546001600160a01b038089166001600160a01b03199283161790925560368054928816929091169190911790556038849055603983905560378290556000603a5580156124b1576000805461ff00191690555b505050505050565b60336020526000908152604090205481565b6001600160a01b0382166000908152603360205260409020546124f4908263ffffffff61292216565b6001600160a01b03831660008181526033602090815260409182902093909355805191825291810183905281517fd15c9547ea5c06670c0010ce19bc32d54682a4b3801ece7f3ab0c3f17106b4bb929181900390910190a15050565b600101546001600160a01b0316151590565b600281015460018201546001600160a01b039182169116811580159061259057506001600160a01b03811615155b1561260e576001600160a01b0380831660009081526004850160205260408082205492841682529020546125ca908263ffffffff61292216565b6001600160a01b03831660009081526004860160205260409020556125ef858361282e565b5050506001600160a01b03821660009081526004840160205260408120555b50505050565b600281015460018201546001600160a01b039182169116811580159061264257506001600160a01b03811615155b1561260e576001600160a01b038082166000908152600485016020526040808220549285168252902054670de0b6b3a763ffff199091019061268a908263ffffffff61292216565b6001600160a01b03841660009081526004860160205260409020556126af858461282e565b50506001600160a01b0382166000908152600485016020526040812081905580805b60078310156127e25760355460408051636e5b707160e01b8152600481018b905290516001600160a01b0390921691636e5b70719160248082019261012092909190829003018186803b15801561272757600080fd5b505afa15801561273b573d6000803e3d6000fd5b505050506040513d61012081101561275257600080fd5b5060a081015160c082015160e090920151909950909250905087612775576127e2565b600481600581111561278357fe5b1461278d576126d1565b6001600160a01b0382166000908152603360205260409020546127be9067016345785d8a000063ffffffff61292216565b6001600160a01b0383166000908152603360205260409020556001909201916126d1565b5050505050505050565b60006121bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612982565b6000828152603460205260408120819061284781612550565b61285a575061c3a091506000905061291b565b6006810154610100900460ff1661287a575061c36491506000905061291b565b6001600160a01b038416600090815260048201602090815260408083208054908490556033909252909120546128b6908263ffffffff61292216565b6001600160a01b03861660008181526033602090815260409182902093909355805189815292830191909152818101839052517faafcd902e5217659ba924addbacae78ebf6a7c77409df0d0065b9ebca01298739181900360600190a1600093509150505b9250929050565b6000828201838110156121bc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b303b1590565b60008184841115612a115760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156129d65781810151838201526020016129be565b50505050905090810190601f168015612a035780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe94bc311f1c6f4ed382aae7a5df5a4917f0ef0289f84bad39fee69c943e85fa33436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a7231582096ed62eada25a8683ca6de76ee8bfc56461933136d3ed49fe384c3d5d7fed7b364736f6c634300050d0032", - "deployedBytecode": "0x6080604052600436106101b75760003560e01c806357872488116100ec578063c3d3290f1161008a578063e1254fba11610064578063e1254fba146105bf578063eff0f592146105f2578063f934436e14610675578063fc7e286d146106c4576101b7565b8063c3d3290f14610541578063c44205e31461056b578063dac1d76414610595576101b7565b806390a14aea116100c657806390a14aea14610480578063a4cbce7b14610495578063a8b4633f146104d8578063c2569e5a14610502576101b7565b8063578724881461042c5780635ac4e02c146104415780635bf7d5db14610456576101b7565b80632bcf947e116101595780633352f1a4116101335780633352f1a4146103bb57806340732c89146103e5578063455e6166146103ed57806355e4286b14610402576101b7565b80632bcf947e14610315578063329af83f1461037c57806333289a4614610391576101b7565b806318b011de1161019557806318b011de1461025a5780631fed7b851461028157806327b425a6146102c757806329118a9b146102dc576101b7565b8063040aa57a146101c25780630ac0d9c91461020657806313be4f9e14610230575b6101bf6106f7565b50005b3480156101ce57600080fd5b506101f2600480360360408110156101e557600080fd5b5080359060200135610717565b604080519115158252519081900360200190f35b34801561021257600080fd5b506101f26004803603602081101561022957600080fd5b5035610d42565b34801561023c57600080fd5b506101f26004803603602081101561025357600080fd5b5035610d61565b34801561026657600080fd5b5061026f611104565b60408051918252519081900360200190f35b34801561028d57600080fd5b506102ab600480360360208110156102a457600080fd5b503561110a565b604080516001600160a01b039092168252519081900360200190f35b3480156102d357600080fd5b5061026f611128565b3480156102e857600080fd5b5061026f600480360360408110156102ff57600080fd5b50803590602001356001600160a01b031661112e565b34801561032157600080fd5b50610363600480360360c081101561033857600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a00135611172565b6040805192835260208301919091528051918290030190f35b34801561038857600080fd5b506102ab61153f565b34801561039d57600080fd5b5061026f600480360360208110156103b457600080fd5b503561154e565b3480156103c757600080fd5b506101f2600480360360208110156103de57600080fd5b5035611619565b61026f6106f7565b3480156103f957600080fd5b5061026f611b4a565b34801561040e57600080fd5b506103636004803603602081101561042557600080fd5b5035611b56565b34801561043857600080fd5b5061026f611fa2565b34801561044d57600080fd5b5061026f611fa8565b34801561046257600080fd5b506102ab6004803603602081101561047957600080fd5b5035611fae565b34801561048c57600080fd5b506102ab611fcc565b3480156104a157600080fd5b506104d6600480360360608110156104b857600080fd5b508035906001600160a01b0360208201358116916040013516611fdb565b005b3480156104e457600080fd5b506101f2600480360360208110156104fb57600080fd5b50356120d9565b34801561050e57600080fd5b5061026f6004803603606081101561052557600080fd5b508035906001600160a01b0360208201351690604001356121c3565b34801561054d57600080fd5b5061026f6004803603602081101561056457600080fd5b5035612302565b34801561057757600080fd5b506101f26004803603602081101561058e57600080fd5b5035612317565b3480156105a157600080fd5b506101f2600480360360208110156105b857600080fd5b5035612334565b3480156105cb57600080fd5b5061026f600480360360208110156105e257600080fd5b50356001600160a01b0316612352565b3480156105fe57600080fd5b5061061c6004803603602081101561061557600080fd5b503561236d565b60408051998a526001600160a01b0398891660208b0152969097168887015260608801949094526080870192909252151560a0860152151560c0850152151560e084015290151561010083015251908190036101200190f35b34801561068157600080fd5b506104d6600480360360a081101561069857600080fd5b506001600160a01b038135811691602081013590911690604081013590606081013590608001356123ce565b3480156106d057600080fd5b5061026f600480360360208110156106e757600080fd5b50356001600160a01b03166124b9565b600061070333346124cb565b503360009081526033602052604090205490565b6000818152603460205260408120819060019084905b8682146109085761073d81612550565b15806107535750600681015462010000900460ff165b1561078f576040805188815261c3a060208201528151600080516020612a1a833981519152929181900390910190a16000945050505050610d3c565b603554604080516365702c0f60e11b81526004810185905290516003926001600160a01b03169163cae0581e916024808301926020929190829003018186803b1580156107db57600080fd5b505afa1580156107ef573d6000803e3d6000fd5b505050506040513d602081101561080557600080fd5b5051600581111561081257fe5b1461084e576040805188815261c36460208201528151600080516020612a1a833981519152929181900390910190a16000945050505050610d3c565b828015610867575060028101546001600160a01b031615155b1561087157600092505b60355460408051632af00c6760e11b81526004810185905290516001600160a01b03909216916355e018ce91602480820192602092909190829003018186803b1580156108bd57600080fd5b505afa1580156108d1573d6000803e3d6000fd5b505050506040513d60208110156108e757600080fd5b5051600081815260346020526040902060019590950194909250905061072d565b603754841015610949576040805188815261c3dc60208201528151600080516020612a1a833981519152929181900390910190a16000945050505050610d3c565b603554604080516365702c0f60e11b81526004810185905290516003926001600160a01b03169163cae0581e916024808301926020929190829003018186803b15801561099557600080fd5b505afa1580156109a9573d6000803e3d6000fd5b505050506040513d60208110156109bf57600080fd5b505160058111156109cc57fe5b14610a08576040805188815261c36460208201528151600080516020612a1a833981519152929181900390910190a16000945050505050610d3c565b603554604080516395b45ee760e01b8152600481018a905233602482015290516000926001600160a01b0316916395b45ee791604480830192602092919082900301818787803b158015610a5b57600080fd5b505af1158015610a6f573d6000803e3d6000fd5b505050506040513d6020811015610a8557600080fd5b505190508015610ac65760408051898152602081018390528151600080516020612a1a833981519152929181900390910190a1600095505050505050610d3c565b610ad08883612562565b8315610cd757606085604051908082528060200260200182016040528015610b02578160200160208202803883390190505b50889450905060005b898514610baa5784828281518110610b1f57fe5b60209081029190910181019190915260355460408051632af00c6760e11b81526004810189905290516001600160a01b03909216926355e018ce92602480840193829003018186803b158015610b7457600080fd5b505afa158015610b88573d6000803e3d6000fd5b505050506040513d6020811015610b9e57600080fd5b50519450600101610b0b565b8015610cd457600181039050818181518110610bc257fe5b602090810291909101810151600081815260348352604080822060355482516395b45ee760e01b8152600481018690523360248201529251949a509098506001600160a01b0316936395b45ee79360448084019492939192918390030190829087803b158015610c3157600080fd5b505af1158015610c45573d6000803e3d6000fd5b505050506040513d6020811015610c5b57600080fd5b505192508215610c6a57600080fd5b610c748585612562565b603a805460001901908190556001850154604080518881526001600160a01b0390921660208301528181019290925290517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a1610baa565b50505b603a805460001901908190556001830154604080518b81526001600160a01b0390921660208301528181019290925290517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a16001955050505050505b92915050565b6000818152603460205260408120610d5990612550565b90505b919050565b6000818152603460205260408120610d7881612550565b610db0576040805184815261c3a060208201528151600080516020612a1a833981519152929181900390910190a16000915050610d5c565b60355460408051632e40019160e01b81526004810186905290516000926001600160a01b031691632e400191916024808301926020929190829003018186803b158015610dfc57600080fd5b505afa158015610e10573d6000803e3d6000fd5b505050506040513d6020811015610e2657600080fd5b505160355460408051632dab940960e11b8152905163ffffffff90931693506001600160a01b0390911691635b57281291600480820192602092909190829003018186803b158015610e7757600080fd5b505afa158015610e8b573d6000803e3d6000fd5b505050506040513d6020811015610ea157600080fd5b5051811115610edf576040805185815261c3fa60208201528151600080516020612a1a833981519152929181900390910190a1600092505050610d5c565b603554604080516365702c0f60e11b81526004810187905290516000926001600160a01b03169163cae0581e916024808301926020929190829003018186803b158015610f2b57600080fd5b505afa158015610f3f573d6000803e3d6000fd5b505050506040513d6020811015610f5557600080fd5b505190506003816005811115610f6757fe5b14610fa2576040805186815261c36460208201528151600080516020612a1a833981519152929181900390910190a160009350505050610d5c565b6006830154610100900460ff16610fe9576040805186815261c3b460208201528151600080516020612a1a833981519152929181900390910190a160009350505050610d5c565b603554600184015460408051633a102bc360e11b8152600481018990526001600160a01b0392831660248201529051600093929092169163742057869160448082019260209290919082900301818787803b15801561104757600080fd5b505af115801561105b573d6000803e3d6000fd5b505050506040513d602081101561107157600080fd5b50519050801561108057600080fd5b61108a8685612614565b60068401805462ff0000191662010000179055603a805460001901908190556002850154604080518981526001600160a01b0390921660208301528181019290925290517f6ebb2f466d4c07e002cf7da3bf393c34f5c693c635dfd53295a724e2c03ad7e99181900360600190a150600195945050505050565b60395481565b6000908152603460205260409020600201546001600160a01b031690565b60375481565b600082815260346020526040812061114581612550565b61114e57600080fd5b6001600160a01b038316600090815260049091016020526040902054905092915050565b60355460009081906001600160a01b031661118c57600080fd5b600a603a54106111ce57604080516000815261c38e60208201528151600080516020612a1a833981519152929181900390910190a15061c38e90506000611534565b336000908152603360205260409020546729a2241af62c0000111561122557604080516000815261c39160208201528151600080516020612a1a833981519152929181900390910190a15061c39190506000611534565b426038548701111561126957604080516000815261c39560208201528151600080516020612a1a833981519152929181900390910190a15061c39590506000611534565b611c2f420187106112ac57604080516000815261c37360208201528151600080516020612a1a833981519152929181900390910190a15061c37390506000611534565b60355460408051639e20c80360e01b8152600481018b9052602481018a9052604481018990526064810188905263ffffffff8716608482015260a481018690523360c4820152815160009384936001600160a01b0390911692639e20c8039260e4808301939282900301818787803b15801561132757600080fd5b505af115801561133b573d6000803e3d6000fd5b505050506040513d604081101561135157600080fd5b508051602090910151909250905081156113985760408051828152602081018490528151600080516020612a1a833981519152929181900390910190a19092509050611534565b60008181526034602052604090206113af81612550565b1561140457600681015462010000900460ff16151560011480156113e25750600681015460ff6101009091041615156001145b80156113fb575060018101546001600160a01b03163314155b61140457600080fd5b818155600181018054336001600160a01b03199182168117909255600283018054909116905560068201805462ffffff1981168255426003850181905560395401600585015563ffffffff191690556040805163612b4f2d60e11b81526004810185905260248101929092526729a2241af62c0000604483015251309163c2569e5a9160648083019260209291908290030181600087803b1580156114a857600080fd5b505af11580156114bc573d6000803e3d6000fd5b505050506040513d60208110156114d257600080fd5b5051925082156114e157600080fd5b603a8054600101908190556040805184815233602082015280820192909252517f5f53357548142db44904e21464dc5ffa3e092fb7b155299341125bd259906e309181900360600190a150600093509150505b965096945050505050565b6036546001600160a01b031681565b3360009081526033602052604081205482111561156a57600080fd5b3360009081526033602052604090205461158a908363ffffffff6127ec16565b33600081815260336020526040808220939093559151909184156108fc02918591818181858888f193505050501580156115c8573d6000803e3d6000fd5b50604080513381526020810184905281517f4482101800a5c2e900f4156e57e05e19ffd7b366cde579553d723fd3abb2180e929181900390910190a150503360009081526033602052604090205490565b600081815260346020526040812061163081612550565b158061164557506006810154610100900460ff165b1561167e576040805184815261c3a060208201528151600080516020612a1a833981519152929181900390910190a16000915050610d5c565b600681015460ff16156116bf576040805184815261c3aa60208201528151600080516020612a1a833981519152929181900390910190a16000915050610d5c565b600681015462010000900460ff16156117ea5760068101805461ff001916610100179055603554600182015460408051633a102bc360e11b8152600481018790526001600160a01b0392831660248201529051600093929092169163742057869160448082019260209290919082900301818787803b15801561174157600080fd5b505af1158015611755573d6000803e3d6000fd5b505050506040513d602081101561176b57600080fd5b50519050801561177a57600080fd5b6117848483612614565b603a805460001901908190556002830154604080518781526001600160a01b0390921660208301528181019290925290517f6ebb2f466d4c07e002cf7da3bf393c34f5c693c635dfd53295a724e2c03ad7e99181900360600190a1600092505050610d5c565b80600501544211611829576040805184815261c36e60208201528151600080516020612a1a833981519152929181900390910190a16000915050610d5c565b60068101805461ff00191661010017905560028101546000906001600160a01b03166119635760355460408051632af00c6760e11b81526004810187905290516000926001600160a01b0316916355e018ce916024808301926020929190829003018186803b15801561189b57600080fd5b505afa1580156118af573d6000803e3d6000fd5b505050506040513d60208110156118c557600080fd5b5051603554604080516365702c0f60e11b81526004810184905290519293506000926001600160a01b039092169163cae0581e91602480820192602092909190829003018186803b15801561191957600080fd5b505afa15801561192d573d6000803e3d6000fd5b505050506040513d602081101561194357600080fd5b50519050600481600581111561195557fe5b141561196057600192505b50505b8015611a6a57603554604080516395b45ee760e01b81526004810187905233602482015290516000926001600160a01b0316916395b45ee791604480830192602092919082900301818787803b1580156119bc57600080fd5b505af11580156119d0573d6000803e3d6000fd5b505050506040513d60208110156119e657600080fd5b5051905080156119f557600080fd5b60018301546001600160a01b0316611a0d868261282e565b5050603a80546000190190819055604080518881526001600160a01b038416602082015280820192909252517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a15050611b40565b603554604080516327426f7560e01b81526004810187905233602482015290516000926001600160a01b0316916327426f7591604480830192602092919082900301818787803b158015611abd57600080fd5b505af1158015611ad1573d6000803e3d6000fd5b505050506040513d6020811015611ae757600080fd5b505190508015611af657600080fd5b6001830154604080518781526001600160a01b03909216602083015280517f68c34be3e9c7221898bee267017dda5f7344326a8825b2d4427dfeaba0fa19299281900390910190a1505b5060019392505050565b6729a2241af62c000081565b60355460009081906001600160a01b0316611b7057600080fd5b6000838152603460205260409020611b8781612550565b611bc3576040805185815261c3a060208201528151600080516020612a1a833981519152929181900390910190a161c3a0849250925050611f9d565b60068101546301000000900460ff16151560011415611c14576040805185815261c41860208201528151600080516020612a1a833981519152929181900390910190a161c418849250925050611f9d565b6006810154610100900460ff1680611c365750600681015462010000900460ff165b15611c73576040805185815261c3b460208201528151600080516020612a1a833981519152929181900390910190a161c3b4849250925050611f9d565b600681015460ff1615611cb8576040805185815261c3be60208201528151600080516020612a1a833981519152929181900390910190a161c3be849250925050611f9d565b336000908152603360205260409020546729a2241af62c00001115611d0f576040805185815261c39160208201528151600080516020612a1a833981519152929181900390910190a161c391849250925050611f9d565b6035546040805163c1f67ab360e01b81526004810187905233602482015290516000926001600160a01b03169163c1f67ab391604480830192602092919082900301818787803b158015611d6257600080fd5b505af1158015611d76573d6000803e3d6000fd5b505050506040513d6020811015611d8c57600080fd5b505190508015611dcc5760408051868152602081018390528151600080516020612a1a833981519152929181900390910190a1925060009150611f9d9050565b6040805163612b4f2d60e11b8152600481018790523360248201526729a2241af62c000060448201529051309163c2569e5a9160648083019260209291908290030181600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b505050506040513d6020811015611e4a57600080fd5b505190508015611e5957600080fd5b603954420160058301556002820180546001600160a01b0319163390811790915560408051878152602081019290925280517f4e4ec862758a1fd984d86a07836cbea0bb7aec069cc98cd7a543266b270e42e49281900390910190a160365460018301546002840154604080516368ed776f60e11b8152600481018a90526001600160a01b039384166024820152918316604483015251919092169163d1daeede91606480830192600092919082900301818387803b158015611f1b57600080fd5b505af1158015611f2f573d6000803e3d6000fd5b5050505060018201546002830154604080518881526001600160a01b0393841660208201529290911682820152517f39232966947bb72bddd01335ecadedd95920ea1e1f044f9913a5f35e34275d9c9181900360600190a150600601805460ff191660011790555060009050815b915091565b60385481565b603a5481565b6000908152603460205260409020600101546001600160a01b031690565b6035546001600160a01b031681565b6036546001600160a01b03163314611ff257600080fd5b600083815260346020526040902061200981612550565b61201257600080fd5b60068101805460ff1916905560018101546001600160a01b039081169083168114156120505760068201805462ff0000191662010000179055612089565b836001600160a01b0316816001600160a01b031614156120845760068201805463ff00000019166301000000179055612089565b600080fd5b604080518681526001600160a01b03808716602083015285168183015290517f1a6e323d263407d13632ff217899ae9353a07223d311df6db8d80cad6a57c2d59181900360600190a15050505050565b60008181526034602052604081206002603554604080516365702c0f60e11b81526004810187905290516001600160a01b039092169163cae0581e91602480820192602092909190829003018186803b15801561213557600080fd5b505afa158015612149573d6000803e3d6000fd5b505050506040513d602081101561215f57600080fd5b5051600581111561216c57fe5b1480156121845750600681015462010000900460ff16155b80156121955750600681015460ff16155b80156121a45750806005015442115b80156121bc575060028101546001600160a01b031615155b9392505050565b6036546000906001600160a01b03163314806121de57503330145b6121e757600080fd5b60008481526034602052604090206121fe81612550565b61220d5761c3a09150506121bc565b6001600160a01b0384166000908152603360205260409020548311156122385761c3919150506121bc565b6001600160a01b038416600090815260336020526040902054612261908463ffffffff6127ec16565b6001600160a01b0385166000908152603360209081526040808320939093556004840190522054612298908463ffffffff61292216565b6001600160a01b038516600081815260048401602090815260409182902093909355805188815292830191909152818101859052517ff49b89a01f8b7e79e855801f268b5df3d7c88c4bc61293934fc1f9c52ddfeb319181900360600190a1506000949350505050565b60009081526034602052604090206003015490565b600090815260346020526040902060060154610100900460ff1690565b60009081526034602052604090206006015462010000900460ff1690565b6001600160a01b031660009081526033602052604090205490565b60346020526000908152604090208054600182015460028301546003840154600585015460069095015493946001600160a01b03938416949290931692909160ff808216916101008104821691620100008204811691630100000090041689565b600054610100900460ff16806123e757506123e761297c565b806123f5575060005460ff16155b6124305760405162461bcd60e51b815260040180806020018281038252602e815260200180612a3a602e913960400191505060405180910390fd5b600054610100900460ff1615801561245b576000805460ff1961ff0019909116610100171660011790555b603580546001600160a01b038089166001600160a01b03199283161790925560368054928816929091169190911790556038849055603983905560378290556000603a5580156124b1576000805461ff00191690555b505050505050565b60336020526000908152604090205481565b6001600160a01b0382166000908152603360205260409020546124f4908263ffffffff61292216565b6001600160a01b03831660008181526033602090815260409182902093909355805191825291810183905281517fd15c9547ea5c06670c0010ce19bc32d54682a4b3801ece7f3ab0c3f17106b4bb929181900390910190a15050565b600101546001600160a01b0316151590565b600281015460018201546001600160a01b039182169116811580159061259057506001600160a01b03811615155b1561260e576001600160a01b0380831660009081526004850160205260408082205492841682529020546125ca908263ffffffff61292216565b6001600160a01b03831660009081526004860160205260409020556125ef858361282e565b5050506001600160a01b03821660009081526004840160205260408120555b50505050565b600281015460018201546001600160a01b039182169116811580159061264257506001600160a01b03811615155b1561260e576001600160a01b038082166000908152600485016020526040808220549285168252902054670de0b6b3a763ffff199091019061268a908263ffffffff61292216565b6001600160a01b03841660009081526004860160205260409020556126af858461282e565b50506001600160a01b0382166000908152600485016020526040812081905580805b60078310156127e25760355460408051636e5b707160e01b8152600481018b905290516001600160a01b0390921691636e5b70719160248082019261012092909190829003018186803b15801561272757600080fd5b505afa15801561273b573d6000803e3d6000fd5b505050506040513d61012081101561275257600080fd5b5060a081015160c082015160e090920151909950909250905087612775576127e2565b600481600581111561278357fe5b1461278d576126d1565b6001600160a01b0382166000908152603360205260409020546127be9067016345785d8a000063ffffffff61292216565b6001600160a01b0383166000908152603360205260409020556001909201916126d1565b5050505050505050565b60006121bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612982565b6000828152603460205260408120819061284781612550565b61285a575061c3a091506000905061291b565b6006810154610100900460ff1661287a575061c36491506000905061291b565b6001600160a01b038416600090815260048201602090815260408083208054908490556033909252909120546128b6908263ffffffff61292216565b6001600160a01b03861660008181526033602090815260409182902093909355805189815292830191909152818101839052517faafcd902e5217659ba924addbacae78ebf6a7c77409df0d0065b9ebca01298739181900360600190a1600093509150505b9250929050565b6000828201838110156121bc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b303b1590565b60008184841115612a115760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156129d65781810151838201526020016129be565b50505050905090810190601f168015612a035780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe94bc311f1c6f4ed382aae7a5df5a4917f0ef0289f84bad39fee69c943e85fa33436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a7231582096ed62eada25a8683ca6de76ee8bfc56461933136d3ed49fe384c3d5d7fed7b364736f6c634300050d0032", - "sourceMap": "454:23371:2:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;454:23371:2;;;;;;;", - "deployedSourceMap": "454:23371:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;434:13:3;:11;:13::i;:::-;;454:23371:2;12306:2533;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12306:2533:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12306:2533:2;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;23140:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23140:136:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23140:136:2;;:::i;15040:1294::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15040:1294:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15040:1294:2;;:::i;2031:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2031:29:2;;;:::i;:::-;;;;;;;;;;;;;;;;23635:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23635:188:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23635:188:2;;:::i;:::-;;;;-1:-1:-1;;;;;23635:188:2;;;;;;;;;;;;;;1900:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1900:35:2;;;:::i;5450:250::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5450:250:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5450:250:2;;;;;;-1:-1:-1;;;;;5450:250:2;;:::i;7114:2617::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7114:2617:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;7114:2617:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1770:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1770:56:2;;;:::i;1384:310:3:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1384:310:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1384:310:3;;:::i;16721:2503:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16721:2503:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16721:2503:2;;:::i;795:145:3:-;;;:::i;4142:61:4:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4142:61:4;;;:::i;9892:2040:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9892:2040:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9892:2040:2;;:::i;1942:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1942:27:2;;;:::i;2102:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2102:28:2;;;:::i;22721:139::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22721:139:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22721:139:2;;:::i;1687:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1687:45:2;;;:::i;19440:584::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19440:584:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19440:584:2;;;-1:-1:-1;;;;;19440:584:2;;;;;;;;;;;;:::i;:::-;;22058:424;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22058:424:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22058:424:2;;:::i;4625:622::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4625:622:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4625:622:2;;;-1:-1:-1;;;;;4625:622:2;;;;;;;;;;:::i;22919:149::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22919:149:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22919:149:2;;:::i;23316:132::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23316:132:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23316:132:2;;:::i;23496:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23496:132:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23496:132:2;;:::i;592:99:3:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;592:99:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;592:99:3;-1:-1:-1;;;;;592:99:3;;:::i;1602:50:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1602:50:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1602:50:2;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1602:50:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3829:530;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3829:530:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;3829:530:2;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;156:40:3:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;156:40:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;156:40:3;-1:-1:-1;;;;;156:40:3;;:::i;795:145::-;842:4;858:38;874:10;886:9;858:15;:38::i;:::-;-1:-1:-1;922:10:3;913:20;;;;:8;:20;;;;;;795:145;:::o;12306:2533:2:-;12392:4;12548:10;;;:6;:10;;;;;12392:4;;12467;;12494:12;;12568:698;12581:14;12575:2;:20;12568:698;;12616:18;12628:5;12616:11;:18::i;:::-;12615:19;:36;;;-1:-1:-1;12638:13:2;;;;;;;;;12615:36;12611:162;;;12676:52;;;;;;2766:5:4;12676:52:2;;;;;;-1:-1:-1;;;;;;;;;;;12676:52:2;;;;;;;;;;12753:5;12746:12;;;;;;;;12611:162;12790:18;;:42;;;-1:-1:-1;;;12790:42:2;;;;;;;;;;12836:39;;-1:-1:-1;;;;;12790:18:2;;:38;;:42;;;;;;;;;;;;;;:18;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;12790:42:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12790:42:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12790:42:2;:85;;;;;;;;;12786:212;;12900:53;;;;;;939:5:4;12900:53:2;;;;;;-1:-1:-1;;;;;;;;;;;12900:53:2;;;;;;;;;;12978:5;12971:12;;;;;;;;12786:212;13015:18;:52;;;;-1:-1:-1;13037:16:2;;;;-1:-1:-1;;;;;13037:16:2;:30;;13015:52;13011:117;;;13108:5;13087:26;;13011:117;13146:18;;:44;;;-1:-1:-1;;;13146:44:2;;;;;;;;;;-1:-1:-1;;;;;13146:18:2;;;;:40;;:44;;;;;;;;;;;;;;;:18;:44;;;5:2:-1;;;;30:1;27;20:12;5:2;13146:44:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13146:44:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13146:44:2;13212:10;;;;:6;13146:44;13212:10;;;;13254:1;13236:19;;;;;13146:44;;-1:-1:-1;13212:10:2;-1:-1:-1;12568:698:2;;;13297:23;;13280:14;:40;13276:166;;;13341:64;;;;;;3123:5:4;13341:64:2;;;;;;-1:-1:-1;;;;;;;;;;;13341:64:2;;;;;;;;;;13426:5;13419:12;;;;;;;;13276:166;13455:18;;:42;;;-1:-1:-1;;;13455:42:2;;;;;;;;;;13501:39;;-1:-1:-1;;;;;13455:18:2;;:38;;:42;;;;;;;;;;;;;;:18;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;13455:42:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13455:42:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13455:42:2;:85;;;;;;;;;13451:200;;13561:53;;;;;;939:5:4;13561:53:2;;;;;;-1:-1:-1;;;;;;;;;;;13561:53:2;;;;;;;;;;13635:5;13628:12;;;;;;;;13451:200;13672:18;;:54;;;-1:-1:-1;;;13672:54:2;;;;;;;;13715:10;13672:54;;;;;;13661:8;;-1:-1:-1;;;;;13672:18:2;;:26;;:54;;;;;;;;;;;;;;13661:8;13672:18;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;13672:54:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13672:54:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13672:54:2;;-1:-1:-1;13740:24:2;;13736:117;;13785:31;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13785:31:2;;;;;;;;;;13837:5;13830:12;;;;;;;;;13736:117;13862:37;13877:14;13893:5;13862:14;:37::i;:::-;13914:18;13910:783;;;13948:28;13993:14;13979:29;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;13979:29:2;-1:-1:-1;14027:12:2;;-1:-1:-1;13948:60:2;-1:-1:-1;14053:8:2;14079:176;14092:14;14086:2;:20;14079:176;;14145:2;14126:11;14138:3;14126:16;;;;;;;;;;;;;;;;;;:21;;;;14170:18;;:44;;;-1:-1:-1;;;14170:44:2;;;;;;;;;;-1:-1:-1;;;;;14170:18:2;;;;:40;;:44;;;;;;;;;;:18;:44;;;5:2:-1;;;;30:1;27;20:12;5:2;14170:44:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14170:44:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14170:44:2;;-1:-1:-1;14239:1:2;14232:8;14079:176;;;14275:7;;14268:415;;14309:1;14302:8;;;;14333:11;14345:3;14333:16;;;;;;;;;;;;;;;;;;;14375:10;;;;:6;:10;;;;;;14409:18;;:42;;-1:-1:-1;;;14409:42:2;;;;;;;;14440:10;14409:42;;;;;;14333:16;;-1:-1:-1;14375:10:2;;-1:-1:-1;;;;;;14409:18:2;;:26;;:42;;;;;14333:16;;14409:42;;;;;;;;;;:18;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;14409:42:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14409:42:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14409:42:2;;-1:-1:-1;14477:24:2;;14469:33;;;;;;14520:25;14535:2;14539:5;14520:14;:25::i;:::-;14563:16;:18;;-1:-1:-1;;14563:18:2;;;;;;14634:15;;;14604:64;;;;;;-1:-1:-1;;;;;14634:15:2;;;14604:64;;;;;;;;;;;;;;;;;;;;;;14268:415;;;13910:783;;;14702:16;:18;;-1:-1:-1;;14702:18:2;;;;;;14777:15;;;14735:76;;;;;;-1:-1:-1;;;;;14777:15:2;;;14735:76;;;;;;;;;;;;;;;;;;;;;;14828:4;14821:11;;;;;;;12306:2533;;;;;:::o;23140:136::-;23211:4;23246:22;;;:6;:22;;;;;23234:35;;:11;:35::i;:::-;23227:42;;23140:136;;;;:::o;15040:1294::-;15103:4;15151:22;;;:6;:22;;;;;15188:18;15151:22;15188:11;:18::i;:::-;15183:133;;15227:52;;;;;;2766:5:4;15227:52:2;;;;;;-1:-1:-1;;;;;;;;;;;15227:52:2;;;;;;;;;;15300:5;15293:12;;;;;15183:133;15340:18;;:54;;;-1:-1:-1;;;15340:54:2;;;;;;;;;;15326:11;;-1:-1:-1;;;;;15340:18:2;;:38;;:54;;;;;;;;;;;;;;:18;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;15340:54:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15340:54:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15340:54:2;15418:18;;:35;;;-1:-1:-1;;;15418:35:2;;;;15326:68;;;;;-1:-1:-1;;;;;;15418:18:2;;;;:33;;:35;;;;;15340:54;;15418:35;;;;;;;;:18;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;15418:35:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15418:35:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15418:35:2;15409:44;;15405:164;;;15474:58;;;;;;3300:5:4;15474:58:2;;;;;;-1:-1:-1;;;;;;;;;;;15474:58:2;;;;;;;;;;15553:5;15546:12;;;;;;15405:164;15615:18;;:54;;;-1:-1:-1;;;15615:54:2;;;;;;;;;;15579:33;;-1:-1:-1;;;;;15615:18:2;;:38;;:54;;;;;;;;;;;;;;:18;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;15615:54:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15615:54:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15615:54:2;;-1:-1:-1;15694:39:2;15684:6;:49;;;;;;;;;15680:164;;15754:53;;;;;;939:5:4;15754:53:2;;;;;;-1:-1:-1;;;;;;;;;;;15754:53:2;;;;;;;;;;15828:5;15821:12;;;;;;;15680:164;15859:13;;;;;;;;;15854:132;;15893:56;;;;;;2885:5:4;15893:56:2;;;;;;-1:-1:-1;;;;;;;;;;;15893:56:2;;;;;;;;;;15970:5;15963:12;;;;;;;15854:132;16007:18;;;16053:15;;;16007:62;;;-1:-1:-1;;;16007:62:2;;;;;;;;-1:-1:-1;;;;;16053:15:2;;;16007:62;;;;;;15996:8;;16007:18;;;;;:29;;:62;;;;;;;;;;;;;;;15996:8;16007:18;:62;;;5:2:-1;;;;30:1;27;20:12;5:2;16007:62:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16007:62:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16007:62:2;;-1:-1:-1;16087:24:2;;16079:33;;;;;;16122:38;16138:14;16154:5;16122:15;:38::i;:::-;16170:13;;;:20;;-1:-1:-1;;16170:20:2;;;;;16200:16;:18;;-1:-1:-1;;16200:18:2;;;;;16170:13;16271:16;;;16233:73;;;;;;-1:-1:-1;;;;;16271:16:2;;;16233:73;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16323:4:2;;15040:1294;-1:-1:-1;;;;;15040:1294:2:o;2031:29::-;;;;:::o;23635:188::-;23710:7;23761:22;;;:6;:22;;;;;23800:16;;;-1:-1:-1;;;;;23800:16:2;;23635:188::o;1900:35::-;;;;:::o;5450:250::-;5540:4;5588:22;;;:6;:22;;;;;5628:18;5588:22;5628:11;:18::i;:::-;5620:27;;;;;;-1:-1:-1;;;;;5664:29:2;;;;;;:20;;;;:29;;;;;;;-1:-1:-1;5450:250:2;;;;:::o;7114:2617::-;7376:18;;7335:4;;;;-1:-1:-1;;;;;7376:18:2;7360:50;;;;;;7453:2;7433:16;;:22;7429:168;;7475:44;;;7486:1;7475:44;;2158:5:4;7475:44:2;;;;;;-1:-1:-1;;;;;;;;;;;7475:44:2;;;;;;;;;;-1:-1:-1;2158:5:4;;-1:-1:-1;7572:1:2;7533:41;;7429:168;7619:10;7610:20;;;;:8;:20;;;;;;4184:19:4;-1:-1:-1;7606:170:2;;;7672:41;;;7683:1;7672:41;;2269:5:4;7672:41:2;;;;;;-1:-1:-1;;;;;;;;;;;7672:41:2;;;;;;;;;;-1:-1:-1;2269:5:4;;-1:-1:-1;7763:1:2;7727:38;;7606:170;7824:15;7806;;7790:13;:31;:49;7786:190;;;7860:47;;;7871:1;7860:47;;2523:5:4;7860:47:2;;;;;;-1:-1:-1;;;;;;;;;;;7860:47:2;;;;;;;;;;-1:-1:-1;2523:5:4;;-1:-1:-1;7963:1:2;7921:44;;7786:190;7990:80;:15;:80;:94;-1:-1:-1;7986:227:2;;8105:43;;;8116:1;8105:43;;1159:5:4;8105:43:2;;;;;;-1:-1:-1;;;;;;;;;;;8105:43:2;;;;;;;;;;-1:-1:-1;1159:5:4;;-1:-1:-1;8200:1:2;8162:40;;7986:227;8297:18;;:119;;;-1:-1:-1;;;8297:119:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8405:10;8297:119;;;;;;8223:8;;;;-1:-1:-1;;;;;8297:18:2;;;;:26;;:119;;;;;;;;;;;8223:8;8297:18;:119;;;5:2:-1;;;;30:1;27;20:12;5:2;8297:119:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8297:119:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8297:119:2;;;;;;;;;-1:-1:-1;8297:119:2;-1:-1:-1;8430:8:2;;8426:117;;8459:31;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8459:31:2;;;;;;;;;;8512:3;;-1:-1:-1;8517:14:2;-1:-1:-1;8504:28:2;;8426:117;8554:29;8586:22;;;:6;:22;;;;;8922:18;8586:22;8922:11;:18::i;:::-;8918:137;;;8964:13;;;;;;;;;:21;;8981:4;8964:21;:46;;;;-1:-1:-1;8989:13:2;;;;;;;;;;:21;;:13;:21;8964:46;:79;;;;-1:-1:-1;9014:15:2;;;;-1:-1:-1;;;;;9014:15:2;9033:10;9014:29;;8964:79;8956:88;;;;;;9065:37;;;9112:15;;;:28;;9130:10;-1:-1:-1;;;;;;9112:28:2;;;;;;;;9150:16;;;:29;;;;;;;9189:13;;;:21;;-1:-1:-1;;9251:33:2;;;;9312:15;9294;;;:33;;;9380:17;;9362:35;9337:22;;;:60;-1:-1:-1;;9407:31:2;;;9454:64;;;-1:-1:-1;;;9454:64:2;;;;;;;;;;;;;;;4184:19:4;9454:64:2;;;;;:4;;:16;;:64;;;;;;;;;;;;;;-1:-1:-1;9454:4:2;:64;;;5:2:-1;;;;30:1;27;20:12;5:2;9454:64:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9454:64:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9454:64:2;;-1:-1:-1;9536:24:2;;9528:33;;;;;;9571:16;:18;;;;;;;;9604:68;;;;;;9643:10;9604:68;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;-1:-1:-1;9709:14:2;-1:-1:-1;;7114:2617:2;;;;;;;;;;:::o;1770:56::-;;;-1:-1:-1;;;;;1770:56:2;;:::o;1384:310:3:-;1473:10;1440:4;1464:20;;;:8;:20;;;;;;:30;-1:-1:-1;1464:30:3;1456:39;;;;;;1538:10;1529:20;;;;:8;:20;;;;;;:32;;1554:6;1529:32;:24;:32;:::i;:::-;1515:10;1506:20;;;;:8;:20;;;;;;:55;;;;1571:27;;1515:10;;1571:27;;;;;1591:6;;1571:27;1506:20;1571:27;1591:6;1515:10;1571:27;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;1614:36:3;;;1631:10;1614:36;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1676:10:3;1667:20;;;;:8;:20;;;;;;;1384:310::o;16721:2503:2:-;16791:4;16839:22;;;:6;:22;;;;;16877:18;16839:22;16877:11;:18::i;:::-;16876:19;:36;;;-1:-1:-1;16899:13:2;;;;;;;;;16876:36;16872:150;;;16933:52;;;;;;2766:5:4;16933:52:2;;;;;;-1:-1:-1;;;;;;;;;;;16933:52:2;;;;;;;;;;17006:5;16999:12;;;;;16872:150;17097:25;;;;;;17093:150;;;17143:63;;;;;;2829:5:4;17143:63:2;;;;;;-1:-1:-1;;;;;;;;;;;17143:63:2;;;;;;;;;;17227:5;17220:12;;;;;17093:150;17318:13;;;;;;;;;17314:512;;;17459:13;;;:20;;-1:-1:-1;;17459:20:2;;;;;17504:18;;17475:4;17550:15;;;17504:62;;;-1:-1:-1;;;17504:62:2;;;;;;;;-1:-1:-1;;;;;17550:15:2;;;17504:62;;;;;;17459:20;;17504:18;;;;;:29;;:62;;;;;;;;;;;;;;;17459:20;17504:18;:62;;;5:2:-1;;;;30:1;27;20:12;5:2;17504:62:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17504:62:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17504:62:2;;-1:-1:-1;17588:24:2;;17580:33;;;;;;17627:38;17643:14;17659:5;17627:15;:38::i;:::-;17679:16;:18;;-1:-1:-1;;17679:18:2;;;;;17754:16;;;;17716:73;;;;;;-1:-1:-1;;;;;17754:16:2;;;17716:73;;;;;;;;;;;;;;;;;;;;;;17810:5;17803:12;;;;;;17314:512;17944:5;:22;;;17925:15;:41;17921:156;;17987:53;;;;;;1103:5:4;17987:53:2;;;;;;-1:-1:-1;;;;;;;;;;;17987:53:2;;;;;;;;;;18061:5;18054:12;;;;;17921:156;18087:13;;;:20;;-1:-1:-1;;18087:20:2;;;;;18229:16;;;;18087:20;;-1:-1:-1;;;;;18229:16:2;18225:356;;18294:18;;:56;;;-1:-1:-1;;;18294:56:2;;;;;;;;;;18275:16;;-1:-1:-1;;;;;18294:18:2;;:40;;:56;;;;;;;;;;;;;;:18;:56;;;5:2:-1;;;;30:1;27;20:12;5:2;18294:56:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18294:56:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18294:56:2;18400:18;;:48;;;-1:-1:-1;;;18400:48:2;;;;;;;;;;18294:56;;-1:-1:-1;18364:33:2;;-1:-1:-1;;;;;18400:18:2;;;;:38;;:48;;;;;18294:56;;18400:48;;;;;;;;:18;:48;;;5:2:-1;;;;30:1;27;20:12;5:2;18400:48:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18400:48:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18400:48:2;;-1:-1:-1;18476:35:2;18466:6;:45;;;;;;;;;18462:109;;;18552:4;18531:25;;18462:109;18225:356;;;18595:18;18591:606;;;18640:18;;:54;;;-1:-1:-1;;;18640:54:2;;;;;;;;18683:10;18640:54;;;;;;18629:8;;-1:-1:-1;;;;;18640:18:2;;:26;;:54;;;;;;;;;;;;;;18629:8;18640:18;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;18640:54:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18640:54:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18640:54:2;;-1:-1:-1;18716:24:2;;18708:33;;;;;;18775:15;;;;-1:-1:-1;;;;;18775:15:2;18804:40;18818:14;18775:15;18804:13;:40::i;:::-;-1:-1:-1;;18858:16:2;:18;;-1:-1:-1;;18858:18:2;;;;;18895:70;;;;;;-1:-1:-1;;;;;18895:70:2;;;;;;;;;;;;;;;;;;;;;;;18591:606;;;;;19007:18;;:58;;;-1:-1:-1;;;19007:58:2;;;;;;;;19054:10;19007:58;;;;;;18996:8;;-1:-1:-1;;;;;19007:18:2;;:30;;:58;;;;;;;;;;;;;;18996:8;19007:18;:58;;;5:2:-1;;;;30:1;27;20:12;5:2;19007:58:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19007:58:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19007:58:2;;-1:-1:-1;19087:24:2;;19079:33;;;;;;19170:15;;;;19131:55;;;;;;-1:-1:-1;;;;;19170:15:2;;;19131:55;;;;;;;;;;;;;;;;18591:606;;-1:-1:-1;19213:4:2;;16721:2503;-1:-1:-1;;;16721:2503:2:o;4142:61:4:-;4184:19;4142:61;:::o;9892:2040:2:-;10004:18;;9963:4;;;;-1:-1:-1;;;;;10004:18:2;9988:50;;;;;;10049:29;10081:22;;;:6;:22;;;;;10119:18;10081:22;10119:11;:18::i;:::-;10114:170;;10158:52;;;;;;2766:5:4;10158:52:2;;;;;;-1:-1:-1;;;;;;;;;;;10158:52:2;;;;;;;;;;2766:5:4;10258:14:2;10224:49;;;;;;;10114:170;10296:23;;;;;;;;;:31;;10323:4;10296:31;10293:217;;;10347:65;;;;;;3421:5:4;10347:65:2;;;;;;-1:-1:-1;;;;;;;;;;;10347:65:2;;;;;;;;;;3421:5:4;10473:14:2;10426:62;;;;;;;10293:217;10523:13;;;;;;;;;;:30;;-1:-1:-1;10540:13:2;;;;;;;;;10523:30;10519:189;;;10574:56;;;;;;2885:5:4;10574:56:2;;;;;;-1:-1:-1;;;;;;;;;;;10574:56:2;;;;;;;;;;2885:5:4;10682:14:2;10644:53;;;;;;;10519:189;10721:25;;;;;;10717:190;;;10767:59;;;;;;2944:5:4;10767:59:2;;;;;;-1:-1:-1;;;;;;;;;;;10767:59:2;;;;;;;;;;2944:5:4;10881:14:2;10840:56;;;;;;;10717:190;10929:10;10920:20;;;;:8;:20;;;;;;4184:19:4;-1:-1:-1;10916:196:2;;;10982:54;;;;;;2269:5:4;10982:54:2;;;;;;-1:-1:-1;;;;;;;;;;;10982:54:2;;;;;;;;;;2269:5:4;11086:14:2;11050:51;;;;;;;10916:196;11137:18;;:56;;;-1:-1:-1;;;11137:56:2;;;;;;;;11182:10;11137:56;;;;;;11126:8;;-1:-1:-1;;;;;11137:18:2;;:28;;:56;;;;;;;;;;;;;;11126:8;11137:18;:56;;;5:2:-1;;;;30:1;27;20:12;5:2;11137:56:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11137:56:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11137:56:2;;-1:-1:-1;11207:8:2;;11203:104;;11236:31;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11236:31:2;;;;;;;;;;11289:3;-1:-1:-1;11294:1:2;;-1:-1:-1;11281:15:2;;-1:-1:-1;11281:15:2;11203:104;11323:64;;;-1:-1:-1;;;11323:64:2;;;;;;;;11356:10;11323:64;;;;4184:19:4;11323:64:2;;;;;;:4;;:16;;:64;;;;;;;;;;;;;;-1:-1:-1;11323:4:2;:64;;;5:2:-1;;;;30:1;27;20:12;5:2;11323:64:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11323:64:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11323:64:2;;-1:-1:-1;11405:24:2;;11397:33;;;;;;11484:17;;11466:15;:35;11441:22;;;:60;11511:16;;;:29;;-1:-1:-1;;;;;;11511:29:2;11530:10;11511:29;;;;;;11555:53;;;;;;;;;;;;;;;;;;;;;;;;;11619:27;;;11682:15;;;11711:16;;;;11619:109;;;-1:-1:-1;;;11619:109:2;;;;;;;;-1:-1:-1;;;;;11682:15:2;;;11619:109;;;;11711:16;;;11619:109;;;;;:27;;;;;:46;;:109;;;;;:27;;:109;;;;;;;:27;;:109;;;5:2:-1;;;;30:1;27;20:12;5:2;11619:109:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;11784:15:2;;;;11813:16;;;;11744:86;;;;;;-1:-1:-1;;;;;11784:15:2;;;11744:86;;;;11813:16;;;;11744:86;;;;;;;;;;;;;;-1:-1:-1;11841:25:2;;:32;;-1:-1:-1;;11841:32:2;11869:4;11841:32;;;-1:-1:-1;11841:25:2;;-1:-1:-1;11910:14:2;9892:2040;;;;:::o;1942:27::-;;;;:::o;2102:28::-;;;;:::o;22721:139::-;22795:7;22821:22;;;:6;:22;;;;;:32;;;-1:-1:-1;;;;;22821:32:2;;22721:139::o;1687:45::-;;;-1:-1:-1;;;;;1687:45:2;;:::o;19440:584::-;3170:27;;-1:-1:-1;;;;;3170:27:2;3148:10;:50;3140:59;;;;;;19556:29;19588:22;;;:6;:22;;;;;19629:18;19588:22;19629:11;:18::i;:::-;19621:27;;;;;;19659:25;;;:33;;-1:-1:-1;;19659:33:2;;;;19722:15;;;-1:-1:-1;;;;;19722:15:2;;;;19752:18;;;;19748:201;;;19786:13;;;:20;;-1:-1:-1;;19786:20:2;;;;;19748:201;;;19840:6;-1:-1:-1;;;;;19827:19:2;:9;-1:-1:-1;;;;;19827:19:2;;19823:126;;;19862:23;;;:30;;-1:-1:-1;;19862:30:2;;;;;19823:126;;;19930:8;;;19823:126;19963:54;;;;;;-1:-1:-1;;;;;19963:54:2;;;;;;;;;;;;;;;;;;;;;;;;3209:1;;19440:584;;;:::o;22058:424::-;22143:4;22191:22;;;:6;:22;;;;;22289:35;22231:18;;:54;;;-1:-1:-1;;;22231:54:2;;;;;;;;;;-1:-1:-1;;;;;22231:18:2;;;;:38;;:54;;;;;;;;;;;;;;;:18;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;22231:54:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22231:54:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22231:54:2;:93;;;;;;;;;:123;;;;-1:-1:-1;22341:13:2;;;;;;;;;22340:14;22231:123;:153;;;;-1:-1:-1;22359:25:2;;;;;;22358:26;22231:153;:197;;;;;22406:5;:22;;;22388:15;:40;22231:197;:243;;;;-1:-1:-1;22444:16:2;;;;-1:-1:-1;;;;;22444:16:2;:30;;22231:243;22223:252;22058:424;-1:-1:-1;;;22058:424:2:o;4625:622::-;3296:27;;4740:4;;-1:-1:-1;;;;;3296:27:2;3274:10;:50;;:81;;-1:-1:-1;3328:10:2;3350:4;3328:27;3274:81;3266:90;;;;;;4756:29;4788:22;;;:6;:22;;;;;4826:18;4788:22;4826:11;:18::i;:::-;4821:81;;2766:5:4;4860:31:2;;;;;4821:81;-1:-1:-1;;;;;4916:17:2;;;;;;:8;:17;;;;;;:26;-1:-1:-1;4912:90:2;;;2269:5:4;4958:33:2;;;;;4912:90;-1:-1:-1;;;;;5032:17:2;;;;;;:8;:17;;;;;;:29;;5054:6;5032:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;5012:17:2;;;;;;:8;:17;;;;;;;;:49;;;;5103:20;;;:29;;;;:41;;5137:6;5103:41;:33;:41;:::i;:::-;-1:-1:-1;;;;;5071:29:2;;;;;;:20;;;:29;;;;;;;;;:73;;;;5159:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;4625:622:2;-1:-1:-1;;;;4625:622:2:o;22919:149::-;23006:4;23029:22;;;:6;:22;;;;;:32;;;;22919:149::o;23316:132::-;23388:4;23411:22;;;:6;:22;;;;;:30;;;;;;;;;23316:132::o;23496:::-;23568:4;23591:22;;;:6;:22;;;;;:30;;;;;;;;;23496:132::o;592:99:3:-;-1:-1:-1;;;;;671:13:3;648:4;671:13;;;:8;:13;;;;;;;592:99::o;1602:50:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1602:50:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3829:530::-;1024:12:15;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:15;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;1016:106:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:15;;;;;1225:18;1213:4;1225:18;;;1170:80;4076:18:2;:33;;-1:-1:-1;;;;;4076:33:2;;;-1:-1:-1;;;;;;4076:33:2;;;;;;;4119:27;:51;;;;;;;;;;;;;;;4180:15;:34;;;4224:17;:38;;;4272:23;:50;;;4076:18;4332:16;:20;1264:55:15;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:15;;;1264:55;3829:530:2;;;;;;:::o;156:40:3:-;;;;;;;;;;;;;:::o;1054:156::-;-1:-1:-1;;;;;1139:13:3;;;;;;:8;:13;;;;;;:25;;1157:6;1139:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;1123:13:3;;;;;;:8;:13;;;;;;;;;:41;;;;1179:24;;;;;;;;;;;;;;;;;;;;;;;;1054:156;;:::o;22528:135:2:-;22626:15;;;-1:-1:-1;;;;;22626:15:2;:29;;;22528:135::o;21443:522::-;21561:16;;;;;21607:15;;;-1:-1:-1;;;;;21561:16:2;;;;21607:15;21637:24;;;;;:51;;-1:-1:-1;;;;;;21665:23:2;;;;21637:51;21633:326;;;-1:-1:-1;;;;;21718:32:2;;;21704:11;21718:32;;;:20;;;:32;;;;;;;21798:31;;;;;;;;:43;;21718:32;21798:43;:35;:43;:::i;:::-;-1:-1:-1;;;;;21764:31:2;;;;;;:20;;;:31;;;;;:77;21855:40;21869:14;21785:9;21855:13;:40::i;:::-;-1:-1:-1;;;;;;;;21916:32:2;;;;;;:20;;;:32;;;;;21909:39;21633:326;21443:522;;;;:::o;20131:1254::-;20250:16;;;;;20296:15;;;-1:-1:-1;;;;;20250:16:2;;;;20296:15;20326:24;;;;;:51;;-1:-1:-1;;;;;;20354:23:2;;;;20326:51;20322:1057;;;-1:-1:-1;;;;;20407:31:2;;;20393:11;20407:31;;;:20;;;:31;;;;;;;20541:32;;;;;;;;-1:-1:-1;;20452:29:2;;;;20541:44;;20452:29;20541:44;:36;:44;:::i;:::-;-1:-1:-1;;;;;20506:32:2;;;;;;:20;;;:32;;;;;:79;20599:41;20613:14;20527:10;20599:13;:41::i;:::-;-1:-1:-1;;;;;;;20661:31:2;;;;;;:20;;;:31;;;;;20654:38;;;20661:31;;20904:464;20921:1;20911:7;:11;20904:464;;;20988:18;;:48;;;-1:-1:-1;;;20988:48:2;;;;;;;;;;-1:-1:-1;;;;;20988:18:2;;;;:32;;:48;;;;;;;;;;;;;;;:18;:48;;;5:2:-1;;;;30:1;27;20:12;5:2;20988:48:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20988:48:2;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;20988:48:2;;;;;;;;;;;;;;;-1:-1:-1;20988:48:2;;-1:-1:-1;20988:48:2;-1:-1:-1;21057:21:2;21054:51;;21100:5;;21054:51;21137:35;21127:6;:45;;;;;;;;;21123:100;;21196:8;;21123:100;-1:-1:-1;;;;;21266:23:2;;;;;;:8;:23;;;;;;:47;;21294:18;21266:47;:27;:47;:::i;:::-;-1:-1:-1;;;;;21240:23:2;;;;;;:8;:23;;;;;:73;21344:9;;;;;20904:464;;;20322:1057;;;;20131:1254;;;;:::o;1274:134:17:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;5923:647:2:-;6004:4;6058:22;;;:6;:22;;;;;6004:4;;6095:18;6058:22;6095:11;:18::i;:::-;6090:86;;-1:-1:-1;2766:5:4;;-1:-1:-1;6163:1:2;;-1:-1:-1;6129:36:2;;6090:86;6190:13;;;;;;;;;6185:82;;-1:-1:-1;939:5:4;;-1:-1:-1;6254:1:2;;-1:-1:-1;6219:37:2;;6185:82;-1:-1:-1;;;;;6298:29:2;;6277:18;6298:29;;;:20;;;:29;;;;;;;;;;6338:36;;;;6404:8;:17;;;;;;;:36;;6298:29;6404:36;:21;:36;:::i;:::-;-1:-1:-1;;;;;6384:17:2;;;;;;:8;:17;;;;;;;;;:56;;;;6456:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;837:1:4;;-1:-1:-1;6549:13:2;-1:-1:-1;;5923:647:2;;;;;;:::o;834:176:17:-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:17;;;;;;;;;;;;;;;;;;;;;;;;;;;1409:467:15;1842:7;1830:20;1864:7;1409:467;:::o;1732:187:17:-;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:17;;;1732:187::o", - "source": "pragma solidity ^0.5.13;\n\nimport './interfaces/SyscoinSuperblocksI.sol';\nimport './interfaces/SyscoinClaimManagerI.sol';\nimport './interfaces/SyscoinBattleManagerI.sol';\nimport './SyscoinDepositsManager.sol';\nimport './SyscoinErrorCodes.sol';\nimport 'openzeppelin-solidity/contracts/math/SafeMath.sol';\nimport \"@openzeppelin/upgrades/contracts/Initializable.sol\";\n\n// @dev - Manager of superblock claims\n//\n// Manages superblocks proposal and challenges\ncontract SyscoinClaimManager is Initializable, SyscoinDepositsManager, SyscoinErrorCodes {\n\n using SafeMath for uint;\n\n uint constant MAX_FUTURE_BLOCK_TIME_SYSCOIN = 7200;\n uint constant MAX_FUTURE_BLOCK_TIME_ETHEREUM = 15;\n struct SuperblockClaim {\n bytes32 superblockHash; // Superblock Id\n address submitter; // Superblock submitter\n address challenger; // Superblock challenger\n uint createdAt; // Superblock creation time\n\n mapping (address => uint) bondedDeposits; // Deposit associated to submitter+challenger\n\n uint challengeTimeout; // Claim timeout\n\n bool verificationOngoing; // Challenge session has started\n\n bool decided; // If the claim was decided\n bool invalid; // If superblock is invalid\n bool challengeDefended; // has this challenge been defended already, not allowed to re-defend\n }\n\n // Active superblock claims\n mapping (bytes32 => SuperblockClaim) public claims;\n\n // Superblocks contract\n SyscoinSuperblocksI public trustedSuperblocks;\n\n // Battle manager contract\n SyscoinBattleManagerI public trustedSyscoinBattleManager;\n\n // Confirmations required to confirm semi approved superblocks\n uint public superblockConfirmations;\n\n uint public superblockDelay; // Delay required to submit superblocks (in seconds)\n uint public superblockTimeout; // Timeout for action (in seconds)\n uint public inProcessCounter; // how many in progress superblocks do we have? should be below 10 for 10 max commitments of deposits\n event DepositBonded(bytes32 superblockHash, address account, uint amount);\n event DepositUnbonded(bytes32 superblockHash, address account, uint amount);\n event SuperblockClaimCreated(bytes32 superblockHash, address submitter, uint processCounter);\n event SuperblockClaimChallenged(bytes32 superblockHash, address challenger);\n event SuperblockBattleDecided(bytes32 superblockHash, address winner, address loser);\n event SuperblockClaimSuccessful(bytes32 superblockHash, address submitter, uint processCounter);\n event SuperblockClaimPending(bytes32 superblockHash, address submitter);\n event SuperblockClaimFailed(bytes32 superblockHash, address challenger, uint processCounter);\n event VerificationGameStarted(bytes32 superblockHash, address submitter, address challenger);\n\n event ErrorClaim(bytes32 superblockHash, uint err);\n\n modifier onlyBattleManager() {\n require(msg.sender == address(trustedSyscoinBattleManager));\n _;\n }\n\n modifier onlyMeOrBattleManager() {\n require(msg.sender == address(trustedSyscoinBattleManager) || msg.sender == address(this));\n _;\n }\n \n // @dev – Sets up the contract managing superblock challenges\n // @param _superblocks Contract that manages superblocks\n // @param _battleManager Contract that manages battles\n // @param _superblockDelay Delay to accept a superblock submission (in seconds)\n // @param _superblockTimeout Time to wait for challenges (in seconds)\n // @param _superblockConfirmations Confirmations required to confirm semi approved superblocks\n function init(\n SyscoinSuperblocksI _superblocks,\n SyscoinBattleManagerI _syscoinBattleManager,\n uint _superblockDelay,\n uint _superblockTimeout,\n uint _superblockConfirmations\n ) public initializer {\n trustedSuperblocks = _superblocks;\n trustedSyscoinBattleManager = _syscoinBattleManager;\n superblockDelay = _superblockDelay;\n superblockTimeout = _superblockTimeout;\n superblockConfirmations = _superblockConfirmations;\n inProcessCounter = 0;\n }\n\n // @dev – locks up part of a user's deposit into a claim.\n // @param superblockHash – claim id.\n // @param account – user's address.\n // @param amount – amount of deposit to lock up.\n // @return – user's deposit bonded for the claim.\n function bondDeposit(bytes32 superblockHash, address account, uint amount) external onlyMeOrBattleManager returns (uint) {\n SuperblockClaim storage claim = claims[superblockHash];\n\n if (!claimExists(claim)) {\n return ERR_SUPERBLOCK_BAD_CLAIM;\n }\n\n if (deposits[account] < amount) {\n return ERR_SUPERBLOCK_MIN_DEPOSIT;\n }\n\n deposits[account] = deposits[account].sub(amount);\n claim.bondedDeposits[account] = claim.bondedDeposits[account].add(amount);\n emit DepositBonded(superblockHash, account, amount);\n\n return ERR_SUPERBLOCK_OK;\n }\n\n // @dev – accessor for a claim's bonded deposits.\n // @param superblockHash – claim id.\n // @param account – user's address.\n // @return – user's deposit bonded for the claim.\n function getBondedDeposit(bytes32 superblockHash, address account) external view returns (uint) {\n SuperblockClaim storage claim = claims[superblockHash];\n require(claimExists(claim));\n return claim.bondedDeposits[account];\n }\n\n // @dev – unlocks a user's bonded deposits from a claim.\n // @param superblockHash – claim id.\n // @param account – user's address.\n // @return – user's deposit which was unbonded from the claim.\n function unbondDeposit(bytes32 superblockHash, address account) private returns (uint, uint) {\n SuperblockClaim storage claim = claims[superblockHash];\n if (!claimExists(claim)) {\n return (ERR_SUPERBLOCK_BAD_CLAIM, 0);\n }\n if (!claim.decided) {\n return (ERR_SUPERBLOCK_BAD_STATUS, 0);\n }\n\n uint bondedDeposit = claim.bondedDeposits[account];\n\n delete claim.bondedDeposits[account];\n deposits[account] = deposits[account].add(bondedDeposit);\n\n emit DepositUnbonded(superblockHash, account, bondedDeposit);\n\n return (ERR_SUPERBLOCK_OK, bondedDeposit);\n }\n\n // @dev – Propose a new superblock.\n //\n // @param _blocksMerkleRoot Root of the merkle tree of blocks contained in a superblock\n // @param _timestamp Timestamp of the last block in the superblock\n // @param _mtpTimestamp Median Timestamp of the last block in the superblock\n // @param _lastHash Hash of the last block in the superblock\n // @param _lastBits Difficulty bits of the last block in the superblock bits\n // @param _parentHash Id of the parent superblock\n // @return Error code and superblockHash\n function proposeSuperblock(\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentHash\n ) external returns (uint, bytes32) {\n require(address(trustedSuperblocks) != address(0));\n \n if (inProcessCounter >= 10){\n emit ErrorClaim(0, ERR_SUPERBLOCK_MAX_INPROGRESS);\n return (ERR_SUPERBLOCK_MAX_INPROGRESS, 0); \n }\n if (deposits[msg.sender] < minProposalDeposit) {\n emit ErrorClaim(0, ERR_SUPERBLOCK_MIN_DEPOSIT);\n return (ERR_SUPERBLOCK_MIN_DEPOSIT, 0);\n }\n\n if (_mtpTimestamp + superblockDelay > block.timestamp) {\n emit ErrorClaim(0, ERR_SUPERBLOCK_BAD_TIMESTAMP_MTP);\n return (ERR_SUPERBLOCK_BAD_TIMESTAMP_MTP, 0);\n }\n\n if (block.timestamp + MAX_FUTURE_BLOCK_TIME_SYSCOIN + MAX_FUTURE_BLOCK_TIME_ETHEREUM <= _timestamp) {\n emit ErrorClaim(0, ERR_SUPERBLOCK_BAD_TIMESTAMP);\n return (ERR_SUPERBLOCK_BAD_TIMESTAMP, 0);\n }\n\n uint err;\n bytes32 superblockHash;\n (err, superblockHash) = trustedSuperblocks.propose(_blocksMerkleRoot, _timestamp, _mtpTimestamp, _lastHash, _lastBits, _parentHash, msg.sender);\n if (err != 0) {\n emit ErrorClaim(superblockHash, err);\n return (err, superblockHash);\n }\n\n\n SuperblockClaim storage claim = claims[superblockHash];\n // allow to propose an existing claim only if its invalid and decided and its a different submitter or not on the tip\n // those are the ones that may actually be stuck and need to be proposed again,\n // but we want to ensure its not the same submitter submitting the same thing\n if (claimExists(claim)) {\n require(claim.invalid == true && claim.decided == true && claim.submitter != msg.sender);\n }\n\n claim.superblockHash = superblockHash;\n claim.submitter = msg.sender;\n claim.challenger = address(0);\n claim.decided = false;\n claim.invalid = false;\n claim.verificationOngoing = false;\n claim.createdAt = block.timestamp;\n claim.challengeTimeout = block.timestamp + superblockTimeout;\n claim.challengeDefended = false;\n err = this.bondDeposit(superblockHash, msg.sender, minProposalDeposit);\n require(err == ERR_SUPERBLOCK_OK);\n inProcessCounter++;\n emit SuperblockClaimCreated(superblockHash, msg.sender, inProcessCounter);\n return (ERR_SUPERBLOCK_OK, superblockHash);\n }\n\n // @dev – challenge a superblock claim.\n // @param superblockHash – Id of the superblock to challenge.\n // @return - Error code and claim Id\n function challengeSuperblock(bytes32 superblockHash) external returns (uint, bytes32) {\n require(address(trustedSuperblocks) != address(0));\n\n SuperblockClaim storage claim = claims[superblockHash];\n\n if (!claimExists(claim)) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_CLAIM);\n return (ERR_SUPERBLOCK_BAD_CLAIM, superblockHash);\n }\n if(claim.challengeDefended == true){\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_CLAIM_ALREADY_DEFENDED);\n return (ERR_SUPERBLOCK_CLAIM_ALREADY_DEFENDED, superblockHash); \n }\n if (claim.decided || claim.invalid) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_CLAIM_DECIDED);\n return (ERR_SUPERBLOCK_CLAIM_DECIDED, superblockHash);\n }\n if (claim.verificationOngoing) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_CHALLENGE_EXISTS);\n return (ERR_SUPERBLOCK_CHALLENGE_EXISTS, superblockHash);\n }\n if (deposits[msg.sender] < minProposalDeposit) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_MIN_DEPOSIT);\n return (ERR_SUPERBLOCK_MIN_DEPOSIT, superblockHash);\n }\n \n uint err = trustedSuperblocks.challenge(superblockHash, msg.sender);\n if (err != 0) {\n emit ErrorClaim(superblockHash, err);\n return (err, 0);\n }\n\n err = this.bondDeposit(superblockHash, msg.sender, minProposalDeposit);\n require(err == ERR_SUPERBLOCK_OK);\n\n claim.challengeTimeout = block.timestamp + superblockTimeout;\n claim.challenger = msg.sender;\n emit SuperblockClaimChallenged(superblockHash, msg.sender);\n\n trustedSyscoinBattleManager.beginBattleSession(superblockHash, claim.submitter,\n claim.challenger);\n\n emit VerificationGameStarted(superblockHash, claim.submitter,\n claim.challenger);\n\n claim.verificationOngoing = true;\n return (ERR_SUPERBLOCK_OK, superblockHash);\n }\n\n // @dev – confirm semi approved superblock.\n //\n // A semi approved superblock can be confirmed if it has several descendant\n // superblocks that are also semi-approved.\n // If none of the descendants were challenged they will also be confirmed.\n //\n // @param superblockHash – the claim ID.\n // @param descendantId - claim ID descendants\n function confirmClaim(bytes32 superblockHash, bytes32 descendantId) external returns (bool) {\n uint numSuperblocks = 0;\n bool confirmDescendants = true;\n bytes32 id = descendantId;\n SuperblockClaim storage claim = claims[id];\n while (id != superblockHash) {\n if (!claimExists(claim) || claim.invalid) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_CLAIM);\n return false;\n }\n if (trustedSuperblocks.getSuperblockStatus(id) != SyscoinSuperblocksI.Status.SemiApproved) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return false;\n }\n if (confirmDescendants && claim.challenger != address(0)) {\n confirmDescendants = false;\n }\n id = trustedSuperblocks.getSuperblockParentId(id);\n claim = claims[id];\n numSuperblocks += 1;\n }\n\n if (numSuperblocks < superblockConfirmations) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_MISSING_CONFIRMATIONS);\n return false;\n }\n if (trustedSuperblocks.getSuperblockStatus(id) != SyscoinSuperblocksI.Status.SemiApproved) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return false;\n }\n\n uint err = trustedSuperblocks.confirm(superblockHash, msg.sender);\n if (err != ERR_SUPERBLOCK_OK) {\n emit ErrorClaim(superblockHash, err);\n return false;\n }\n doPaySubmitter(superblockHash, claim);\n\n if (confirmDescendants) {\n bytes32[] memory descendants = new bytes32[](numSuperblocks);\n id = descendantId;\n uint idx = 0;\n while (id != superblockHash) {\n descendants[idx] = id;\n id = trustedSuperblocks.getSuperblockParentId(id);\n idx += 1;\n }\n while (idx > 0) {\n idx -= 1;\n id = descendants[idx];\n claim = claims[id];\n err = trustedSuperblocks.confirm(id, msg.sender);\n require(err == ERR_SUPERBLOCK_OK);\n doPaySubmitter(id, claim);\n inProcessCounter--;\n emit SuperblockClaimSuccessful(id, claim.submitter, inProcessCounter);\n }\n }\n inProcessCounter--;\n emit SuperblockClaimSuccessful(superblockHash, claim.submitter, inProcessCounter);\n return true;\n }\n\n // @dev – Reject a semi approved superblock.\n //\n // Superblocks that are not in the main chain can be marked as\n // invalid.\n //\n // @param superblockHash – the claim ID.\n function rejectClaim(bytes32 superblockHash) external returns (bool) {\n SuperblockClaim storage claim = claims[superblockHash];\n if (!claimExists(claim)) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_CLAIM);\n return false;\n }\n\n uint height = trustedSuperblocks.getSuperblockHeight(superblockHash);\n\n if (height > trustedSuperblocks.getChainHeight()) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_BLOCKHEIGHT);\n return false;\n }\n\n SyscoinSuperblocksI.Status status = trustedSuperblocks.getSuperblockStatus(superblockHash);\n\n if (status != SyscoinSuperblocksI.Status.SemiApproved) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return false;\n }\n\n if (!claim.decided) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_CLAIM_DECIDED);\n return false;\n }\n\n uint err = trustedSuperblocks.invalidate(superblockHash, claim.submitter);\n require(err == ERR_SUPERBLOCK_OK);\n doPayChallenger(superblockHash, claim);\n claim.invalid = true;\n inProcessCounter--;\n emit SuperblockClaimFailed(superblockHash, claim.challenger, inProcessCounter);\n return true;\n }\n\n // @dev – check whether a claim has successfully withstood all challenges.\n // If successful without challenges, it will mark the superblock as confirmed.\n // If successful with at least one challenge, it will mark the superblock as semi-approved.\n // If verification failed, it will mark the superblock as invalid.\n //\n // @param superblockHash – claim ID.\n function checkClaimFinished(bytes32 superblockHash) external returns (bool) {\n SuperblockClaim storage claim = claims[superblockHash];\n\n if (!claimExists(claim) || claim.decided) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_CLAIM);\n return false;\n }\n\n // check that there is no ongoing verification game.\n if (claim.verificationOngoing) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_VERIFICATION_PENDING);\n return false;\n }\n\n // an invalid superblock can be rejected immediately\n if (claim.invalid) {\n // The superblock is invalid, submitter abandoned\n // or superblock data is inconsistent\n claim.decided = true;\n uint err = trustedSuperblocks.invalidate(superblockHash, claim.submitter);\n require(err == ERR_SUPERBLOCK_OK);\n doPayChallenger(superblockHash, claim);\n inProcessCounter--;\n emit SuperblockClaimFailed(superblockHash, claim.challenger, inProcessCounter);\n return false;\n }\n\n // check that the claim has exceeded the claim's specific challenge timeout.\n if (block.timestamp <= claim.challengeTimeout) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_NO_TIMEOUT);\n return false;\n }\n\n claim.decided = true;\n\n bool confirmImmediately = false;\n // No challenger and parent approved; confirm immediately\n if (claim.challenger == address(0)) {\n bytes32 parentId = trustedSuperblocks.getSuperblockParentId(superblockHash);\n SyscoinSuperblocksI.Status status = trustedSuperblocks.getSuperblockStatus(parentId);\n if (status == SyscoinSuperblocksI.Status.Approved) {\n confirmImmediately = true;\n }\n }\n\n if (confirmImmediately) {\n uint err = trustedSuperblocks.confirm(superblockHash, msg.sender);\n require(err == ERR_SUPERBLOCK_OK);\n address submitter = claim.submitter;\n unbondDeposit(superblockHash, submitter);\n inProcessCounter--;\n emit SuperblockClaimSuccessful(superblockHash, submitter, inProcessCounter);\n } else {\n uint err = trustedSuperblocks.semiApprove(superblockHash, msg.sender);\n require(err == ERR_SUPERBLOCK_OK);\n emit SuperblockClaimPending(superblockHash, claim.submitter);\n }\n return true;\n }\n\n\n // @dev – called when a battle session has ended.\n //\n // @param superblockHash - claim Id\n // @param winner – winner of verification game.\n // @param loser – loser of verification game.\n function sessionDecided(bytes32 superblockHash, address winner, address loser) external onlyBattleManager {\n SuperblockClaim storage claim = claims[superblockHash];\n\n require(claimExists(claim));\n\n claim.verificationOngoing = false;\n address submitter = claim.submitter;\n\n if (submitter == loser) {\n claim.invalid = true;\n } else if (submitter == winner) {\n claim.challengeDefended = true;\n }\n else{\n revert();\n }\n emit SuperblockBattleDecided(superblockHash, winner, loser);\n }\n\n // @dev - Pay challenger 2 eth and 0.7 to previous submitters, leave 0.3 effectively unspendable\n function doPayChallenger(bytes32 superblockHash, SuperblockClaim storage claim) private {\n address challenger = claim.challenger;\n address submitter = claim.submitter;\n\n if (challenger != address(0) && submitter != address(0)) {\n uint reward = claim.bondedDeposits[submitter];\n reward -= 1000000000000000000; // 1 ether\n claim.bondedDeposits[challenger] = claim.bondedDeposits[challenger].add(reward);\n unbondDeposit(superblockHash, challenger);\n delete claim.bondedDeposits[submitter];\n // distribute 0.7 eth to last 7 approved superblock submitters (0.1 each)\n uint numPaid = 0;\n address prevSubmitter;\n SyscoinSuperblocksI.Status status;\n while (numPaid < 7) {\n (,,,,,superblockHash,prevSubmitter,status,) = trustedSuperblocks.getSuperblock(superblockHash);\n if(superblockHash == 0x0)\n break;\n if (status != SyscoinSuperblocksI.Status.Approved) {\n continue;\n }\n deposits[prevSubmitter] = deposits[prevSubmitter].add(100000000000000000); // 0.1 ether\n numPaid++;\n } \n }\n }\n\n // @dev - Pay submitter with challenger deposit\n function doPaySubmitter(bytes32 superblockHash, SuperblockClaim storage claim) private {\n address challenger = claim.challenger;\n address submitter = claim.submitter;\n\n if (challenger != address(0) && submitter != address(0)) {\n uint reward = claim.bondedDeposits[challenger];\n claim.bondedDeposits[submitter] = claim.bondedDeposits[submitter].add(reward);\n unbondDeposit(superblockHash, submitter);\n delete claim.bondedDeposits[challenger];\n }\n }\n\n // @dev - Check if a superblock can be semi approved by calling checkClaimFinished\n function getInBattleAndSemiApprovable(bytes32 superblockHash) external view returns (bool) {\n SuperblockClaim storage claim = claims[superblockHash];\n return (trustedSuperblocks.getSuperblockStatus(superblockHash) == SyscoinSuperblocksI.Status.InBattle &&\n !claim.invalid && !claim.verificationOngoing && block.timestamp > claim.challengeTimeout\n && claim.challenger != address(0));\n }\n\n // @dev – Check if a claim exists\n function claimExists(SuperblockClaim storage claim) private view returns (bool) {\n return (claim.submitter != address(0));\n }\n\n // @dev - Return a given superblock's submitter\n function getClaimSubmitter(bytes32 superblockHash) external view returns (address) {\n return claims[superblockHash].submitter;\n }\n\n // @dev - Return superblock submission timestamp\n function getNewSuperblockEventTimestamp(bytes32 superblockHash) external view returns (uint) {\n return claims[superblockHash].createdAt;\n }\n\n // @dev - Return whether or not a claim has already been made\n function getClaimExists(bytes32 superblockHash) external view returns (bool) {\n return claimExists(claims[superblockHash]);\n }\n\n // @dev - Return claim status\n function getClaimDecided(bytes32 superblockHash) external view returns (bool) {\n return claims[superblockHash].decided;\n }\n\n // @dev - Check if a claim is invalid\n function getClaimInvalid(bytes32 superblockHash) external view returns (bool) {\n return claims[superblockHash].invalid;\n }\n\n\n function getClaimChallenger(bytes32 superblockHash) external view returns (address) {\n SuperblockClaim storage claim = claims[superblockHash];\n return claim.challenger;\n }\n}\n", + "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositBonded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositMade\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositUnbonded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"err\",\"type\":\"uint256\"}],\"name\":\"ErrorClaim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"loser\",\"type\":\"address\"}],\"name\":\"SuperblockBattleDecided\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"name\":\"SuperblockClaimChallenged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"processCounter\",\"type\":\"uint256\"}],\"name\":\"SuperblockClaimCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"processCounter\",\"type\":\"uint256\"}],\"name\":\"SuperblockClaimFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"}],\"name\":\"SuperblockClaimPending\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"processCounter\",\"type\":\"uint256\"}],\"name\":\"SuperblockClaimSuccessful\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"name\":\"VerificationGameStarted\",\"type\":\"event\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"bondDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"challengeSuperblock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"checkClaimFinished\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"claims\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengeTimeout\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"verificationOngoing\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"decided\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"invalid\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challengeDefended\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"descendantId\",\"type\":\"bytes32\"}],\"name\":\"confirmClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getBondedDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getClaimChallenger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getClaimDecided\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getClaimExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getClaimInvalid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getClaimSubmitter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"getDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getInBattleAndSemiApprovable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getNewSuperblockEventTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"inProcessCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contract SyscoinSuperblocksI\",\"name\":\"_superblocks\",\"type\":\"address\"},{\"internalType\":\"contract SyscoinBattleManagerI\",\"name\":\"_syscoinBattleManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_superblockDelay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_superblockTimeout\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_superblockConfirmations\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"makeDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minProposalDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentHash\",\"type\":\"bytes32\"}],\"name\":\"proposeSuperblock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"rejectClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"loser\",\"type\":\"address\"}],\"name\":\"sessionDecided\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"superblockConfirmations\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"superblockDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"superblockTimeout\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"trustedSuperblocks\",\"outputs\":[{\"internalType\":\"contract SyscoinSuperblocksI\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"trustedSyscoinBattleManager\",\"outputs\":[{\"internalType\":\"contract SyscoinBattleManagerI\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"unbondDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinClaimManager.sol\":\"SyscoinClaimManager\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinClaimManager.sol\":{\"keccak256\":\"0x4ffb242b6e92744d7f1542117f31f080d88a56bd1bb0f7f0029e5332b27841f4\",\"urls\":[\"bzz-raw://3057714216d71063c4751489e352dc367483f42d928072dc9684e59420caf01d\",\"dweb:/ipfs/QmSSYC1jSsjqQQD1CcPAbCbiEVpwHhqvMzEGAviBcvDCxM\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinDepositsManager.sol\":{\"keccak256\":\"0xcea880402ff97c3e0d71a48c08fbb0a1c2aab5f977e3e0ba15fd6a834747a49d\",\"urls\":[\"bzz-raw://deedbccfbcaf25c40cca0c8bcfbe097c8ac2b1e40cde2b28eafa09e493aad902\",\"dweb:/ipfs/QmQtkozd3DCQsEWXaCFVQFcCetAKwidTGV2ssSXrqNbXPA\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinErrorCodes.sol\":{\"keccak256\":\"0x02931f928c2e9680efca3cf47c69a1dc441d9c61dc903d7a8dc9b37a80d1d67f\",\"urls\":[\"bzz-raw://a54ffdf18cd31b84a118b424b670e22d1c91fb1721edbfd00cf671b9a1de928c\",\"dweb:/ipfs/QmQYNCXgBzerzAEuZ1KYhgC7MymqiFtDMcAaFJf6yxv3GU\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinBattleManagerI.sol\":{\"keccak256\":\"0xf8b2414a059a740fa83732da4920a1366c65050eb7a71a5c02384baee3909510\",\"urls\":[\"bzz-raw://47fe417636eb124718f48987d688ab184ea240eb969dcf6d486febc57c1a5dc2\",\"dweb:/ipfs/QmaJGBEGGo7sHUrJPGb41vMqT8nvFrxXhpAcUfYDDNqdZg\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinClaimManagerI.sol\":{\"keccak256\":\"0x10621a56230a5720fce059a05915eceb0277cd955bbb1ad9f109ce6c247a5638\",\"urls\":[\"bzz-raw://c0fdbc1c8d02f6c62e4e8cabf044e85b805a21e6e7b13c6f304541707a5a3355\",\"dweb:/ipfs/QmSK8E13yiYq1AVHtfJbUvijVkjebvxdoixXvUVSAkz5eX\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol\":{\"keccak256\":\"0x22ae5cd6c18f335811f46caab9c4f911daef746306114dc86c964f39b4aff0ff\",\"urls\":[\"bzz-raw://7755b0206b8e358b313589d9e47f9491f0d002ba509bc2b11d1bd2463f0f0c84\",\"dweb:/ipfs/QmbiEPAhnUCd3ydxQj8NVYFM2bDpRRezhxfLoqdnuhbPnD\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0xf79d9851c085aa8412e87d7a26d3485488fe12538ecb4e317ce41fc1f2c3a16a\",\"urls\":[\"bzz-raw://6af1a35ad6aed2169ce9f44095438b3192cd6066903908f769d5c49a06a0caf8\",\"dweb:/ipfs/QmaH41CwJ7WrMQwSnbfCKuL2pd8bxF7sbGSLPZb6JaHBFF\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50612af1806100206000396000f3fe6080604052600436106101c25760003560e01c806355e4286b116100f7578063c2569e5a11610095578063e1254fba11610064578063e1254fba14610603578063eff0f59214610636578063f934436e146106b9578063fc7e286d14610708576101c2565b8063c2569e5a14610546578063c3d3290f14610585578063c44205e3146105af578063dac1d764146105d9576101c2565b80635bf7d5db116100d15780635bf7d5db1461049a57806390a14aea146104c4578063a4cbce7b146104d9578063a8b4633f1461051c576101c2565b806355e4286b1461044657806357872488146104705780635ac4e02c14610485576101c2565b806329118a9b1161016457806333289a461161013e57806333289a46146103d55780633352f1a4146103ff57806340732c8914610429578063455e616614610431576101c2565b806329118a9b146103395780632bcf947e14610372578063329af83f146103c0576101c2565b806318a10ca6116101a057806318a10ca61461026557806318b011de146102b75780631fed7b85146102de57806327b425a614610324576101c2565b8063040aa57a146101cd5780630ac0d9c91461021157806313be4f9e1461023b575b6101ca61073b565b50005b3480156101d957600080fd5b506101fd600480360360408110156101f057600080fd5b508035906020013561075b565b604080519115158252519081900360200190f35b34801561021d57600080fd5b506101fd6004803603602081101561023457600080fd5b5035610d86565b34801561024757600080fd5b506101fd6004803603602081101561025e57600080fd5b5035610da5565b34801561027157600080fd5b5061029e6004803603604081101561028857600080fd5b50803590602001356001600160a01b0316611148565b6040805192835260208301919091528051918290030190f35b3480156102c357600080fd5b506102cc61123c565b60408051918252519081900360200190f35b3480156102ea57600080fd5b506103086004803603602081101561030157600080fd5b5035611242565b604080516001600160a01b039092168252519081900360200190f35b34801561033057600080fd5b506102cc611260565b34801561034557600080fd5b506102cc6004803603604081101561035c57600080fd5b50803590602001356001600160a01b0316611266565b34801561037e57600080fd5b5061029e600480360360c081101561039557600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a001356112aa565b3480156103cc57600080fd5b50610308611677565b3480156103e157600080fd5b506102cc600480360360208110156103f857600080fd5b5035611686565b34801561040b57600080fd5b506101fd6004803603602081101561042257600080fd5b5035611778565b6102cc61073b565b34801561043d57600080fd5b506102cc611ca9565b34801561045257600080fd5b5061029e6004803603602081101561046957600080fd5b5035611cb5565b34801561047c57600080fd5b506102cc612101565b34801561049157600080fd5b506102cc612107565b3480156104a657600080fd5b50610308600480360360208110156104bd57600080fd5b503561210d565b3480156104d057600080fd5b5061030861212b565b3480156104e557600080fd5b5061051a600480360360608110156104fc57600080fd5b508035906001600160a01b036020820135811691604001351661213a565b005b34801561052857600080fd5b506101fd6004803603602081101561053f57600080fd5b5035612238565b34801561055257600080fd5b506102cc6004803603606081101561056957600080fd5b508035906001600160a01b036020820135169060400135612322565b34801561059157600080fd5b506102cc600480360360208110156105a857600080fd5b5035612461565b3480156105bb57600080fd5b506101fd600480360360208110156105d257600080fd5b5035612476565b3480156105e557600080fd5b506101fd600480360360208110156105fc57600080fd5b5035612493565b34801561060f57600080fd5b506102cc6004803603602081101561062657600080fd5b50356001600160a01b03166124b1565b34801561064257600080fd5b506106606004803603602081101561065957600080fd5b50356124cc565b60408051998a526001600160a01b0398891660208b0152969097168887015260608801949094526080870192909252151560a0860152151560c0850152151560e084015290151561010083015251908190036101200190f35b3480156106c557600080fd5b5061051a600480360360a08110156106dc57600080fd5b506001600160a01b0381358116916020810135909116906040810135906060810135906080013561252d565b34801561071457600080fd5b506102cc6004803603602081101561072b57600080fd5b50356001600160a01b0316612618565b6000610747333461262a565b503360009081526033602052604090205490565b6000818152603460205260408120819060019084905b86821461094c57610781816126af565b15806107975750600681015462010000900460ff165b156107d3576040805188815261c3a060208201528151600080516020612a6f833981519152929181900390910190a16000945050505050610d80565b603554604080516365702c0f60e11b81526004810185905290516003926001600160a01b03169163cae0581e916024808301926020929190829003018186803b15801561081f57600080fd5b505afa158015610833573d6000803e3d6000fd5b505050506040513d602081101561084957600080fd5b5051600581111561085657fe5b14610892576040805188815261c36460208201528151600080516020612a6f833981519152929181900390910190a16000945050505050610d80565b8280156108ab575060028101546001600160a01b031615155b156108b557600092505b60355460408051632af00c6760e11b81526004810185905290516001600160a01b03909216916355e018ce91602480820192602092909190829003018186803b15801561090157600080fd5b505afa158015610915573d6000803e3d6000fd5b505050506040513d602081101561092b57600080fd5b50516000818152603460205260409020600195909501949092509050610771565b60375484101561098d576040805188815261c3dc60208201528151600080516020612a6f833981519152929181900390910190a16000945050505050610d80565b603554604080516365702c0f60e11b81526004810185905290516003926001600160a01b03169163cae0581e916024808301926020929190829003018186803b1580156109d957600080fd5b505afa1580156109ed573d6000803e3d6000fd5b505050506040513d6020811015610a0357600080fd5b50516005811115610a1057fe5b14610a4c576040805188815261c36460208201528151600080516020612a6f833981519152929181900390910190a16000945050505050610d80565b603554604080516395b45ee760e01b8152600481018a905233602482015290516000926001600160a01b0316916395b45ee791604480830192602092919082900301818787803b158015610a9f57600080fd5b505af1158015610ab3573d6000803e3d6000fd5b505050506040513d6020811015610ac957600080fd5b505190508015610b0a5760408051898152602081018390528151600080516020612a6f833981519152929181900390910190a1600095505050505050610d80565b610b1488836126c1565b8315610d1b57606085604051908082528060200260200182016040528015610b46578160200160208202803883390190505b50889450905060005b898514610bee5784828281518110610b6357fe5b60209081029190910181019190915260355460408051632af00c6760e11b81526004810189905290516001600160a01b03909216926355e018ce92602480840193829003018186803b158015610bb857600080fd5b505afa158015610bcc573d6000803e3d6000fd5b505050506040513d6020811015610be257600080fd5b50519450600101610b4f565b8015610d1857600181039050818181518110610c0657fe5b602090810291909101810151600081815260348352604080822060355482516395b45ee760e01b8152600481018690523360248201529251949a509098506001600160a01b0316936395b45ee79360448084019492939192918390030190829087803b158015610c7557600080fd5b505af1158015610c89573d6000803e3d6000fd5b505050506040513d6020811015610c9f57600080fd5b505192508215610cae57600080fd5b610cb885856126c1565b603a805460001901908190556001850154604080518881526001600160a01b0390921660208301528181019290925290517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a1610bee565b50505b603a805460001901908190556001830154604080518b81526001600160a01b0390921660208301528181019290925290517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a16001955050505050505b92915050565b6000818152603460205260408120610d9d906126af565b90505b919050565b6000818152603460205260408120610dbc816126af565b610df4576040805184815261c3a060208201528151600080516020612a6f833981519152929181900390910190a16000915050610da0565b60355460408051632e40019160e01b81526004810186905290516000926001600160a01b031691632e400191916024808301926020929190829003018186803b158015610e4057600080fd5b505afa158015610e54573d6000803e3d6000fd5b505050506040513d6020811015610e6a57600080fd5b505160355460408051632dab940960e11b8152905163ffffffff90931693506001600160a01b0390911691635b57281291600480820192602092909190829003018186803b158015610ebb57600080fd5b505afa158015610ecf573d6000803e3d6000fd5b505050506040513d6020811015610ee557600080fd5b5051811115610f23576040805185815261c3fa60208201528151600080516020612a6f833981519152929181900390910190a1600092505050610da0565b603554604080516365702c0f60e11b81526004810187905290516000926001600160a01b03169163cae0581e916024808301926020929190829003018186803b158015610f6f57600080fd5b505afa158015610f83573d6000803e3d6000fd5b505050506040513d6020811015610f9957600080fd5b505190506003816005811115610fab57fe5b14610fe6576040805186815261c36460208201528151600080516020612a6f833981519152929181900390910190a160009350505050610da0565b6006830154610100900460ff1661102d576040805186815261c3b460208201528151600080516020612a6f833981519152929181900390910190a160009350505050610da0565b603554600184015460408051633a102bc360e11b8152600481018990526001600160a01b0392831660248201529051600093929092169163742057869160448082019260209290919082900301818787803b15801561108b57600080fd5b505af115801561109f573d6000803e3d6000fd5b505050506040513d60208110156110b557600080fd5b5051905080156110c457600080fd5b6110ce868561275d565b60068401805462ff0000191662010000179055603a805460001901908190556002850154604080518981526001600160a01b0390921660208301528181019290925290517f6ebb2f466d4c07e002cf7da3bf393c34f5c693c635dfd53295a724e2c03ad7e99181900360600190a150600195945050505050565b60008281526034602052604081208190611161816126af565b611174575061c3a0915060009050611235565b6006810154610100900460ff16611194575061c364915060009050611235565b6001600160a01b038416600090815260048201602090815260408083208054908490556033909252909120546111d0908263ffffffff61293516565b6001600160a01b03861660008181526033602090815260409182902093909355805189815292830191909152818101839052517faafcd902e5217659ba924addbacae78ebf6a7c77409df0d0065b9ebca01298739181900360600190a1600093509150505b9250929050565b60395481565b6000908152603460205260409020600201546001600160a01b031690565b60375481565b600082815260346020526040812061127d816126af565b61128657600080fd5b6001600160a01b038316600090815260049091016020526040902054905092915050565b60355460009081906001600160a01b03166112c457600080fd5b600a603a541061130657604080516000815261c38e60208201528151600080516020612a6f833981519152929181900390910190a15061c38e9050600061166c565b336000908152603360205260409020546729a2241af62c0000111561135d57604080516000815261c39160208201528151600080516020612a6f833981519152929181900390910190a15061c3919050600061166c565b42603854870111156113a157604080516000815261c39560208201528151600080516020612a6f833981519152929181900390910190a15061c3959050600061166c565b611c2f420187106113e457604080516000815261c37360208201528151600080516020612a6f833981519152929181900390910190a15061c3739050600061166c565b60355460408051639e20c80360e01b8152600481018b9052602481018a9052604481018990526064810188905263ffffffff8716608482015260a481018690523360c4820152815160009384936001600160a01b0390911692639e20c8039260e4808301939282900301818787803b15801561145f57600080fd5b505af1158015611473573d6000803e3d6000fd5b505050506040513d604081101561148957600080fd5b508051602090910151909250905081156114d05760408051828152602081018490528151600080516020612a6f833981519152929181900390910190a1909250905061166c565b60008181526034602052604090206114e7816126af565b1561153c57600681015462010000900460ff161515600114801561151a5750600681015460ff6101009091041615156001145b8015611533575060018101546001600160a01b03163314155b61153c57600080fd5b818155600181018054336001600160a01b03199182168117909255600283018054909116905560068201805462ffffff1981168255426003850181905560395401600585015563ffffffff191690556040805163612b4f2d60e11b81526004810185905260248101929092526729a2241af62c0000604483015251309163c2569e5a9160648083019260209291908290030181600087803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b505050506040513d602081101561160a57600080fd5b50519250821561161957600080fd5b603a8054600101908190556040805184815233602082015280820192909252517f5f53357548142db44904e21464dc5ffa3e092fb7b155299341125bd259906e309181900360600190a150600093509150505b965096945050505050565b6036546001600160a01b031681565b3360009081526033602052604081205482118015906116a55750600082115b6116ae57600080fd5b336000908152603360205260409020546116ce908363ffffffff61298f16565b33600081815260336020526040808220939093559151909184919081818185875af1925050503d8060008114611720576040519150601f19603f3d011682016040523d82523d6000602084013e611725565b606091505b5050604080513381526020810185905281517f4482101800a5c2e900f4156e57e05e19ffd7b366cde579553d723fd3abb2180e93509081900390910190a150503360009081526033602052604090205490565b600081815260346020526040812061178f816126af565b15806117a457506006810154610100900460ff165b156117dd576040805184815261c3a060208201528151600080516020612a6f833981519152929181900390910190a16000915050610da0565b600681015460ff161561181e576040805184815261c3aa60208201528151600080516020612a6f833981519152929181900390910190a16000915050610da0565b600681015462010000900460ff16156119495760068101805461ff001916610100179055603554600182015460408051633a102bc360e11b8152600481018790526001600160a01b0392831660248201529051600093929092169163742057869160448082019260209290919082900301818787803b1580156118a057600080fd5b505af11580156118b4573d6000803e3d6000fd5b505050506040513d60208110156118ca57600080fd5b5051905080156118d957600080fd5b6118e3848361275d565b603a805460001901908190556002830154604080518781526001600160a01b0390921660208301528181019290925290517f6ebb2f466d4c07e002cf7da3bf393c34f5c693c635dfd53295a724e2c03ad7e99181900360600190a1600092505050610da0565b80600501544211611988576040805184815261c36e60208201528151600080516020612a6f833981519152929181900390910190a16000915050610da0565b60068101805461ff00191661010017905560028101546000906001600160a01b0316611ac25760355460408051632af00c6760e11b81526004810187905290516000926001600160a01b0316916355e018ce916024808301926020929190829003018186803b1580156119fa57600080fd5b505afa158015611a0e573d6000803e3d6000fd5b505050506040513d6020811015611a2457600080fd5b5051603554604080516365702c0f60e11b81526004810184905290519293506000926001600160a01b039092169163cae0581e91602480820192602092909190829003018186803b158015611a7857600080fd5b505afa158015611a8c573d6000803e3d6000fd5b505050506040513d6020811015611aa257600080fd5b505190506004816005811115611ab457fe5b1415611abf57600192505b50505b8015611bc957603554604080516395b45ee760e01b81526004810187905233602482015290516000926001600160a01b0316916395b45ee791604480830192602092919082900301818787803b158015611b1b57600080fd5b505af1158015611b2f573d6000803e3d6000fd5b505050506040513d6020811015611b4557600080fd5b505190508015611b5457600080fd5b60018301546001600160a01b0316611b6c8682611148565b5050603a80546000190190819055604080518881526001600160a01b038416602082015280820192909252517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a15050611c9f565b603554604080516327426f7560e01b81526004810187905233602482015290516000926001600160a01b0316916327426f7591604480830192602092919082900301818787803b158015611c1c57600080fd5b505af1158015611c30573d6000803e3d6000fd5b505050506040513d6020811015611c4657600080fd5b505190508015611c5557600080fd5b6001830154604080518781526001600160a01b03909216602083015280517f68c34be3e9c7221898bee267017dda5f7344326a8825b2d4427dfeaba0fa19299281900390910190a1505b5060019392505050565b6729a2241af62c000081565b60355460009081906001600160a01b0316611ccf57600080fd5b6000838152603460205260409020611ce6816126af565b611d22576040805185815261c3a060208201528151600080516020612a6f833981519152929181900390910190a161c3a08492509250506120fc565b60068101546301000000900460ff16151560011415611d73576040805185815261c41860208201528151600080516020612a6f833981519152929181900390910190a161c4188492509250506120fc565b6006810154610100900460ff1680611d955750600681015462010000900460ff165b15611dd2576040805185815261c3b460208201528151600080516020612a6f833981519152929181900390910190a161c3b48492509250506120fc565b600681015460ff1615611e17576040805185815261c3be60208201528151600080516020612a6f833981519152929181900390910190a161c3be8492509250506120fc565b336000908152603360205260409020546729a2241af62c00001115611e6e576040805185815261c39160208201528151600080516020612a6f833981519152929181900390910190a161c3918492509250506120fc565b6035546040805163c1f67ab360e01b81526004810187905233602482015290516000926001600160a01b03169163c1f67ab391604480830192602092919082900301818787803b158015611ec157600080fd5b505af1158015611ed5573d6000803e3d6000fd5b505050506040513d6020811015611eeb57600080fd5b505190508015611f2b5760408051868152602081018390528151600080516020612a6f833981519152929181900390910190a19250600091506120fc9050565b6040805163612b4f2d60e11b8152600481018790523360248201526729a2241af62c000060448201529051309163c2569e5a9160648083019260209291908290030181600087803b158015611f7f57600080fd5b505af1158015611f93573d6000803e3d6000fd5b505050506040513d6020811015611fa957600080fd5b505190508015611fb857600080fd5b603954420160058301556002820180546001600160a01b0319163390811790915560408051878152602081019290925280517f4e4ec862758a1fd984d86a07836cbea0bb7aec069cc98cd7a543266b270e42e49281900390910190a160365460018301546002840154604080516368ed776f60e11b8152600481018a90526001600160a01b039384166024820152918316604483015251919092169163d1daeede91606480830192600092919082900301818387803b15801561207a57600080fd5b505af115801561208e573d6000803e3d6000fd5b5050505060018201546002830154604080518881526001600160a01b0393841660208201529290911682820152517f39232966947bb72bddd01335ecadedd95920ea1e1f044f9913a5f35e34275d9c9181900360600190a150600601805460ff191660011790555060009050815b915091565b60385481565b603a5481565b6000908152603460205260409020600101546001600160a01b031690565b6035546001600160a01b031681565b6036546001600160a01b0316331461215157600080fd5b6000838152603460205260409020612168816126af565b61217157600080fd5b60068101805460ff1916905560018101546001600160a01b039081169083168114156121af5760068201805462ff00001916620100001790556121e8565b836001600160a01b0316816001600160a01b031614156121e35760068201805463ff000000191663010000001790556121e8565b600080fd5b604080518681526001600160a01b03808716602083015285168183015290517f1a6e323d263407d13632ff217899ae9353a07223d311df6db8d80cad6a57c2d59181900360600190a15050505050565b60008181526034602052604081206002603554604080516365702c0f60e11b81526004810187905290516001600160a01b039092169163cae0581e91602480820192602092909190829003018186803b15801561229457600080fd5b505afa1580156122a8573d6000803e3d6000fd5b505050506040513d60208110156122be57600080fd5b505160058111156122cb57fe5b1480156122e35750600681015462010000900460ff16155b80156122f45750600681015460ff16155b80156123035750806005015442115b801561231b575060028101546001600160a01b031615155b9392505050565b6036546000906001600160a01b031633148061233d57503330145b61234657600080fd5b600084815260346020526040902061235d816126af565b61236c5761c3a091505061231b565b6001600160a01b0384166000908152603360205260409020548311156123975761c39191505061231b565b6001600160a01b0384166000908152603360205260409020546123c0908463ffffffff61298f16565b6001600160a01b03851660009081526033602090815260408083209390935560048401905220546123f7908463ffffffff61293516565b6001600160a01b038516600081815260048401602090815260409182902093909355805188815292830191909152818101859052517ff49b89a01f8b7e79e855801f268b5df3d7c88c4bc61293934fc1f9c52ddfeb319181900360600190a1506000949350505050565b60009081526034602052604090206003015490565b600090815260346020526040902060060154610100900460ff1690565b60009081526034602052604090206006015462010000900460ff1690565b6001600160a01b031660009081526033602052604090205490565b60346020526000908152604090208054600182015460028301546003840154600585015460069095015493946001600160a01b03938416949290931692909160ff808216916101008104821691620100008204811691630100000090041689565b600054610100900460ff168061254657506125466129d1565b80612554575060005460ff16155b61258f5760405162461bcd60e51b815260040180806020018281038252602e815260200180612a8f602e913960400191505060405180910390fd5b600054610100900460ff161580156125ba576000805460ff1961ff0019909116610100171660011790555b603580546001600160a01b038089166001600160a01b03199283161790925560368054928816929091169190911790556038849055603983905560378290556000603a558015612610576000805461ff00191690555b505050505050565b60336020526000908152604090205481565b6001600160a01b038216600090815260336020526040902054612653908263ffffffff61293516565b6001600160a01b03831660008181526033602090815260409182902093909355805191825291810183905281517fd15c9547ea5c06670c0010ce19bc32d54682a4b3801ece7f3ab0c3f17106b4bb929181900390910190a15050565b600101546001600160a01b0316151590565b600281015460018201546001600160a01b039182169116811561273e576001600160a01b038083166000908152600485016020526040808220549284168252902054612713908263ffffffff61293516565b6001600160a01b03808416600090815260048701602052604080822093909355908516815290812055505b6001600160a01b03811615612757576126108482611148565b50505050565b600281015460018201546001600160a01b039182169116811580159061278b57506001600160a01b03811615155b15612757576001600160a01b038082166000908152600485016020526040808220549285168252902054670de0b6b3a763ffff19909101906127d3908263ffffffff61293516565b6001600160a01b03841660009081526004860160205260409020556127f88584611148565b50506001600160a01b0382166000908152600485016020526040812081905580805b600783101561292b5760355460408051636e5b707160e01b8152600481018b905290516001600160a01b0390921691636e5b70719160248082019261012092909190829003018186803b15801561287057600080fd5b505afa158015612884573d6000803e3d6000fd5b505050506040513d61012081101561289b57600080fd5b5060a081015160c082015160e0909201519099509092509050876128be5761292b565b60048160058111156128cc57fe5b146128d65761281a565b6001600160a01b0382166000908152603360205260409020546129079067016345785d8a000063ffffffff61293516565b6001600160a01b03831660009081526033602052604090205560019092019161281a565b5050505050505050565b60008282018381101561231b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061231b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506129d7565b303b1590565b60008184841115612a665760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a2b578181015183820152602001612a13565b50505050905090810190601f168015612a585780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe94bc311f1c6f4ed382aae7a5df5a4917f0ef0289f84bad39fee69c943e85fa33436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a7231582037834c87d187e26196217ad7119b4c6d8512d2e5ba4d2362a5b716746a39015a64736f6c634300050d0032", + "deployedBytecode": "0x6080604052600436106101c25760003560e01c806355e4286b116100f7578063c2569e5a11610095578063e1254fba11610064578063e1254fba14610603578063eff0f59214610636578063f934436e146106b9578063fc7e286d14610708576101c2565b8063c2569e5a14610546578063c3d3290f14610585578063c44205e3146105af578063dac1d764146105d9576101c2565b80635bf7d5db116100d15780635bf7d5db1461049a57806390a14aea146104c4578063a4cbce7b146104d9578063a8b4633f1461051c576101c2565b806355e4286b1461044657806357872488146104705780635ac4e02c14610485576101c2565b806329118a9b1161016457806333289a461161013e57806333289a46146103d55780633352f1a4146103ff57806340732c8914610429578063455e616614610431576101c2565b806329118a9b146103395780632bcf947e14610372578063329af83f146103c0576101c2565b806318a10ca6116101a057806318a10ca61461026557806318b011de146102b75780631fed7b85146102de57806327b425a614610324576101c2565b8063040aa57a146101cd5780630ac0d9c91461021157806313be4f9e1461023b575b6101ca61073b565b50005b3480156101d957600080fd5b506101fd600480360360408110156101f057600080fd5b508035906020013561075b565b604080519115158252519081900360200190f35b34801561021d57600080fd5b506101fd6004803603602081101561023457600080fd5b5035610d86565b34801561024757600080fd5b506101fd6004803603602081101561025e57600080fd5b5035610da5565b34801561027157600080fd5b5061029e6004803603604081101561028857600080fd5b50803590602001356001600160a01b0316611148565b6040805192835260208301919091528051918290030190f35b3480156102c357600080fd5b506102cc61123c565b60408051918252519081900360200190f35b3480156102ea57600080fd5b506103086004803603602081101561030157600080fd5b5035611242565b604080516001600160a01b039092168252519081900360200190f35b34801561033057600080fd5b506102cc611260565b34801561034557600080fd5b506102cc6004803603604081101561035c57600080fd5b50803590602001356001600160a01b0316611266565b34801561037e57600080fd5b5061029e600480360360c081101561039557600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a001356112aa565b3480156103cc57600080fd5b50610308611677565b3480156103e157600080fd5b506102cc600480360360208110156103f857600080fd5b5035611686565b34801561040b57600080fd5b506101fd6004803603602081101561042257600080fd5b5035611778565b6102cc61073b565b34801561043d57600080fd5b506102cc611ca9565b34801561045257600080fd5b5061029e6004803603602081101561046957600080fd5b5035611cb5565b34801561047c57600080fd5b506102cc612101565b34801561049157600080fd5b506102cc612107565b3480156104a657600080fd5b50610308600480360360208110156104bd57600080fd5b503561210d565b3480156104d057600080fd5b5061030861212b565b3480156104e557600080fd5b5061051a600480360360608110156104fc57600080fd5b508035906001600160a01b036020820135811691604001351661213a565b005b34801561052857600080fd5b506101fd6004803603602081101561053f57600080fd5b5035612238565b34801561055257600080fd5b506102cc6004803603606081101561056957600080fd5b508035906001600160a01b036020820135169060400135612322565b34801561059157600080fd5b506102cc600480360360208110156105a857600080fd5b5035612461565b3480156105bb57600080fd5b506101fd600480360360208110156105d257600080fd5b5035612476565b3480156105e557600080fd5b506101fd600480360360208110156105fc57600080fd5b5035612493565b34801561060f57600080fd5b506102cc6004803603602081101561062657600080fd5b50356001600160a01b03166124b1565b34801561064257600080fd5b506106606004803603602081101561065957600080fd5b50356124cc565b60408051998a526001600160a01b0398891660208b0152969097168887015260608801949094526080870192909252151560a0860152151560c0850152151560e084015290151561010083015251908190036101200190f35b3480156106c557600080fd5b5061051a600480360360a08110156106dc57600080fd5b506001600160a01b0381358116916020810135909116906040810135906060810135906080013561252d565b34801561071457600080fd5b506102cc6004803603602081101561072b57600080fd5b50356001600160a01b0316612618565b6000610747333461262a565b503360009081526033602052604090205490565b6000818152603460205260408120819060019084905b86821461094c57610781816126af565b15806107975750600681015462010000900460ff165b156107d3576040805188815261c3a060208201528151600080516020612a6f833981519152929181900390910190a16000945050505050610d80565b603554604080516365702c0f60e11b81526004810185905290516003926001600160a01b03169163cae0581e916024808301926020929190829003018186803b15801561081f57600080fd5b505afa158015610833573d6000803e3d6000fd5b505050506040513d602081101561084957600080fd5b5051600581111561085657fe5b14610892576040805188815261c36460208201528151600080516020612a6f833981519152929181900390910190a16000945050505050610d80565b8280156108ab575060028101546001600160a01b031615155b156108b557600092505b60355460408051632af00c6760e11b81526004810185905290516001600160a01b03909216916355e018ce91602480820192602092909190829003018186803b15801561090157600080fd5b505afa158015610915573d6000803e3d6000fd5b505050506040513d602081101561092b57600080fd5b50516000818152603460205260409020600195909501949092509050610771565b60375484101561098d576040805188815261c3dc60208201528151600080516020612a6f833981519152929181900390910190a16000945050505050610d80565b603554604080516365702c0f60e11b81526004810185905290516003926001600160a01b03169163cae0581e916024808301926020929190829003018186803b1580156109d957600080fd5b505afa1580156109ed573d6000803e3d6000fd5b505050506040513d6020811015610a0357600080fd5b50516005811115610a1057fe5b14610a4c576040805188815261c36460208201528151600080516020612a6f833981519152929181900390910190a16000945050505050610d80565b603554604080516395b45ee760e01b8152600481018a905233602482015290516000926001600160a01b0316916395b45ee791604480830192602092919082900301818787803b158015610a9f57600080fd5b505af1158015610ab3573d6000803e3d6000fd5b505050506040513d6020811015610ac957600080fd5b505190508015610b0a5760408051898152602081018390528151600080516020612a6f833981519152929181900390910190a1600095505050505050610d80565b610b1488836126c1565b8315610d1b57606085604051908082528060200260200182016040528015610b46578160200160208202803883390190505b50889450905060005b898514610bee5784828281518110610b6357fe5b60209081029190910181019190915260355460408051632af00c6760e11b81526004810189905290516001600160a01b03909216926355e018ce92602480840193829003018186803b158015610bb857600080fd5b505afa158015610bcc573d6000803e3d6000fd5b505050506040513d6020811015610be257600080fd5b50519450600101610b4f565b8015610d1857600181039050818181518110610c0657fe5b602090810291909101810151600081815260348352604080822060355482516395b45ee760e01b8152600481018690523360248201529251949a509098506001600160a01b0316936395b45ee79360448084019492939192918390030190829087803b158015610c7557600080fd5b505af1158015610c89573d6000803e3d6000fd5b505050506040513d6020811015610c9f57600080fd5b505192508215610cae57600080fd5b610cb885856126c1565b603a805460001901908190556001850154604080518881526001600160a01b0390921660208301528181019290925290517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a1610bee565b50505b603a805460001901908190556001830154604080518b81526001600160a01b0390921660208301528181019290925290517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a16001955050505050505b92915050565b6000818152603460205260408120610d9d906126af565b90505b919050565b6000818152603460205260408120610dbc816126af565b610df4576040805184815261c3a060208201528151600080516020612a6f833981519152929181900390910190a16000915050610da0565b60355460408051632e40019160e01b81526004810186905290516000926001600160a01b031691632e400191916024808301926020929190829003018186803b158015610e4057600080fd5b505afa158015610e54573d6000803e3d6000fd5b505050506040513d6020811015610e6a57600080fd5b505160355460408051632dab940960e11b8152905163ffffffff90931693506001600160a01b0390911691635b57281291600480820192602092909190829003018186803b158015610ebb57600080fd5b505afa158015610ecf573d6000803e3d6000fd5b505050506040513d6020811015610ee557600080fd5b5051811115610f23576040805185815261c3fa60208201528151600080516020612a6f833981519152929181900390910190a1600092505050610da0565b603554604080516365702c0f60e11b81526004810187905290516000926001600160a01b03169163cae0581e916024808301926020929190829003018186803b158015610f6f57600080fd5b505afa158015610f83573d6000803e3d6000fd5b505050506040513d6020811015610f9957600080fd5b505190506003816005811115610fab57fe5b14610fe6576040805186815261c36460208201528151600080516020612a6f833981519152929181900390910190a160009350505050610da0565b6006830154610100900460ff1661102d576040805186815261c3b460208201528151600080516020612a6f833981519152929181900390910190a160009350505050610da0565b603554600184015460408051633a102bc360e11b8152600481018990526001600160a01b0392831660248201529051600093929092169163742057869160448082019260209290919082900301818787803b15801561108b57600080fd5b505af115801561109f573d6000803e3d6000fd5b505050506040513d60208110156110b557600080fd5b5051905080156110c457600080fd5b6110ce868561275d565b60068401805462ff0000191662010000179055603a805460001901908190556002850154604080518981526001600160a01b0390921660208301528181019290925290517f6ebb2f466d4c07e002cf7da3bf393c34f5c693c635dfd53295a724e2c03ad7e99181900360600190a150600195945050505050565b60008281526034602052604081208190611161816126af565b611174575061c3a0915060009050611235565b6006810154610100900460ff16611194575061c364915060009050611235565b6001600160a01b038416600090815260048201602090815260408083208054908490556033909252909120546111d0908263ffffffff61293516565b6001600160a01b03861660008181526033602090815260409182902093909355805189815292830191909152818101839052517faafcd902e5217659ba924addbacae78ebf6a7c77409df0d0065b9ebca01298739181900360600190a1600093509150505b9250929050565b60395481565b6000908152603460205260409020600201546001600160a01b031690565b60375481565b600082815260346020526040812061127d816126af565b61128657600080fd5b6001600160a01b038316600090815260049091016020526040902054905092915050565b60355460009081906001600160a01b03166112c457600080fd5b600a603a541061130657604080516000815261c38e60208201528151600080516020612a6f833981519152929181900390910190a15061c38e9050600061166c565b336000908152603360205260409020546729a2241af62c0000111561135d57604080516000815261c39160208201528151600080516020612a6f833981519152929181900390910190a15061c3919050600061166c565b42603854870111156113a157604080516000815261c39560208201528151600080516020612a6f833981519152929181900390910190a15061c3959050600061166c565b611c2f420187106113e457604080516000815261c37360208201528151600080516020612a6f833981519152929181900390910190a15061c3739050600061166c565b60355460408051639e20c80360e01b8152600481018b9052602481018a9052604481018990526064810188905263ffffffff8716608482015260a481018690523360c4820152815160009384936001600160a01b0390911692639e20c8039260e4808301939282900301818787803b15801561145f57600080fd5b505af1158015611473573d6000803e3d6000fd5b505050506040513d604081101561148957600080fd5b508051602090910151909250905081156114d05760408051828152602081018490528151600080516020612a6f833981519152929181900390910190a1909250905061166c565b60008181526034602052604090206114e7816126af565b1561153c57600681015462010000900460ff161515600114801561151a5750600681015460ff6101009091041615156001145b8015611533575060018101546001600160a01b03163314155b61153c57600080fd5b818155600181018054336001600160a01b03199182168117909255600283018054909116905560068201805462ffffff1981168255426003850181905560395401600585015563ffffffff191690556040805163612b4f2d60e11b81526004810185905260248101929092526729a2241af62c0000604483015251309163c2569e5a9160648083019260209291908290030181600087803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b505050506040513d602081101561160a57600080fd5b50519250821561161957600080fd5b603a8054600101908190556040805184815233602082015280820192909252517f5f53357548142db44904e21464dc5ffa3e092fb7b155299341125bd259906e309181900360600190a150600093509150505b965096945050505050565b6036546001600160a01b031681565b3360009081526033602052604081205482118015906116a55750600082115b6116ae57600080fd5b336000908152603360205260409020546116ce908363ffffffff61298f16565b33600081815260336020526040808220939093559151909184919081818185875af1925050503d8060008114611720576040519150601f19603f3d011682016040523d82523d6000602084013e611725565b606091505b5050604080513381526020810185905281517f4482101800a5c2e900f4156e57e05e19ffd7b366cde579553d723fd3abb2180e93509081900390910190a150503360009081526033602052604090205490565b600081815260346020526040812061178f816126af565b15806117a457506006810154610100900460ff165b156117dd576040805184815261c3a060208201528151600080516020612a6f833981519152929181900390910190a16000915050610da0565b600681015460ff161561181e576040805184815261c3aa60208201528151600080516020612a6f833981519152929181900390910190a16000915050610da0565b600681015462010000900460ff16156119495760068101805461ff001916610100179055603554600182015460408051633a102bc360e11b8152600481018790526001600160a01b0392831660248201529051600093929092169163742057869160448082019260209290919082900301818787803b1580156118a057600080fd5b505af11580156118b4573d6000803e3d6000fd5b505050506040513d60208110156118ca57600080fd5b5051905080156118d957600080fd5b6118e3848361275d565b603a805460001901908190556002830154604080518781526001600160a01b0390921660208301528181019290925290517f6ebb2f466d4c07e002cf7da3bf393c34f5c693c635dfd53295a724e2c03ad7e99181900360600190a1600092505050610da0565b80600501544211611988576040805184815261c36e60208201528151600080516020612a6f833981519152929181900390910190a16000915050610da0565b60068101805461ff00191661010017905560028101546000906001600160a01b0316611ac25760355460408051632af00c6760e11b81526004810187905290516000926001600160a01b0316916355e018ce916024808301926020929190829003018186803b1580156119fa57600080fd5b505afa158015611a0e573d6000803e3d6000fd5b505050506040513d6020811015611a2457600080fd5b5051603554604080516365702c0f60e11b81526004810184905290519293506000926001600160a01b039092169163cae0581e91602480820192602092909190829003018186803b158015611a7857600080fd5b505afa158015611a8c573d6000803e3d6000fd5b505050506040513d6020811015611aa257600080fd5b505190506004816005811115611ab457fe5b1415611abf57600192505b50505b8015611bc957603554604080516395b45ee760e01b81526004810187905233602482015290516000926001600160a01b0316916395b45ee791604480830192602092919082900301818787803b158015611b1b57600080fd5b505af1158015611b2f573d6000803e3d6000fd5b505050506040513d6020811015611b4557600080fd5b505190508015611b5457600080fd5b60018301546001600160a01b0316611b6c8682611148565b5050603a80546000190190819055604080518881526001600160a01b038416602082015280820192909252517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a15050611c9f565b603554604080516327426f7560e01b81526004810187905233602482015290516000926001600160a01b0316916327426f7591604480830192602092919082900301818787803b158015611c1c57600080fd5b505af1158015611c30573d6000803e3d6000fd5b505050506040513d6020811015611c4657600080fd5b505190508015611c5557600080fd5b6001830154604080518781526001600160a01b03909216602083015280517f68c34be3e9c7221898bee267017dda5f7344326a8825b2d4427dfeaba0fa19299281900390910190a1505b5060019392505050565b6729a2241af62c000081565b60355460009081906001600160a01b0316611ccf57600080fd5b6000838152603460205260409020611ce6816126af565b611d22576040805185815261c3a060208201528151600080516020612a6f833981519152929181900390910190a161c3a08492509250506120fc565b60068101546301000000900460ff16151560011415611d73576040805185815261c41860208201528151600080516020612a6f833981519152929181900390910190a161c4188492509250506120fc565b6006810154610100900460ff1680611d955750600681015462010000900460ff165b15611dd2576040805185815261c3b460208201528151600080516020612a6f833981519152929181900390910190a161c3b48492509250506120fc565b600681015460ff1615611e17576040805185815261c3be60208201528151600080516020612a6f833981519152929181900390910190a161c3be8492509250506120fc565b336000908152603360205260409020546729a2241af62c00001115611e6e576040805185815261c39160208201528151600080516020612a6f833981519152929181900390910190a161c3918492509250506120fc565b6035546040805163c1f67ab360e01b81526004810187905233602482015290516000926001600160a01b03169163c1f67ab391604480830192602092919082900301818787803b158015611ec157600080fd5b505af1158015611ed5573d6000803e3d6000fd5b505050506040513d6020811015611eeb57600080fd5b505190508015611f2b5760408051868152602081018390528151600080516020612a6f833981519152929181900390910190a19250600091506120fc9050565b6040805163612b4f2d60e11b8152600481018790523360248201526729a2241af62c000060448201529051309163c2569e5a9160648083019260209291908290030181600087803b158015611f7f57600080fd5b505af1158015611f93573d6000803e3d6000fd5b505050506040513d6020811015611fa957600080fd5b505190508015611fb857600080fd5b603954420160058301556002820180546001600160a01b0319163390811790915560408051878152602081019290925280517f4e4ec862758a1fd984d86a07836cbea0bb7aec069cc98cd7a543266b270e42e49281900390910190a160365460018301546002840154604080516368ed776f60e11b8152600481018a90526001600160a01b039384166024820152918316604483015251919092169163d1daeede91606480830192600092919082900301818387803b15801561207a57600080fd5b505af115801561208e573d6000803e3d6000fd5b5050505060018201546002830154604080518881526001600160a01b0393841660208201529290911682820152517f39232966947bb72bddd01335ecadedd95920ea1e1f044f9913a5f35e34275d9c9181900360600190a150600601805460ff191660011790555060009050815b915091565b60385481565b603a5481565b6000908152603460205260409020600101546001600160a01b031690565b6035546001600160a01b031681565b6036546001600160a01b0316331461215157600080fd5b6000838152603460205260409020612168816126af565b61217157600080fd5b60068101805460ff1916905560018101546001600160a01b039081169083168114156121af5760068201805462ff00001916620100001790556121e8565b836001600160a01b0316816001600160a01b031614156121e35760068201805463ff000000191663010000001790556121e8565b600080fd5b604080518681526001600160a01b03808716602083015285168183015290517f1a6e323d263407d13632ff217899ae9353a07223d311df6db8d80cad6a57c2d59181900360600190a15050505050565b60008181526034602052604081206002603554604080516365702c0f60e11b81526004810187905290516001600160a01b039092169163cae0581e91602480820192602092909190829003018186803b15801561229457600080fd5b505afa1580156122a8573d6000803e3d6000fd5b505050506040513d60208110156122be57600080fd5b505160058111156122cb57fe5b1480156122e35750600681015462010000900460ff16155b80156122f45750600681015460ff16155b80156123035750806005015442115b801561231b575060028101546001600160a01b031615155b9392505050565b6036546000906001600160a01b031633148061233d57503330145b61234657600080fd5b600084815260346020526040902061235d816126af565b61236c5761c3a091505061231b565b6001600160a01b0384166000908152603360205260409020548311156123975761c39191505061231b565b6001600160a01b0384166000908152603360205260409020546123c0908463ffffffff61298f16565b6001600160a01b03851660009081526033602090815260408083209390935560048401905220546123f7908463ffffffff61293516565b6001600160a01b038516600081815260048401602090815260409182902093909355805188815292830191909152818101859052517ff49b89a01f8b7e79e855801f268b5df3d7c88c4bc61293934fc1f9c52ddfeb319181900360600190a1506000949350505050565b60009081526034602052604090206003015490565b600090815260346020526040902060060154610100900460ff1690565b60009081526034602052604090206006015462010000900460ff1690565b6001600160a01b031660009081526033602052604090205490565b60346020526000908152604090208054600182015460028301546003840154600585015460069095015493946001600160a01b03938416949290931692909160ff808216916101008104821691620100008204811691630100000090041689565b600054610100900460ff168061254657506125466129d1565b80612554575060005460ff16155b61258f5760405162461bcd60e51b815260040180806020018281038252602e815260200180612a8f602e913960400191505060405180910390fd5b600054610100900460ff161580156125ba576000805460ff1961ff0019909116610100171660011790555b603580546001600160a01b038089166001600160a01b03199283161790925560368054928816929091169190911790556038849055603983905560378290556000603a558015612610576000805461ff00191690555b505050505050565b60336020526000908152604090205481565b6001600160a01b038216600090815260336020526040902054612653908263ffffffff61293516565b6001600160a01b03831660008181526033602090815260409182902093909355805191825291810183905281517fd15c9547ea5c06670c0010ce19bc32d54682a4b3801ece7f3ab0c3f17106b4bb929181900390910190a15050565b600101546001600160a01b0316151590565b600281015460018201546001600160a01b039182169116811561273e576001600160a01b038083166000908152600485016020526040808220549284168252902054612713908263ffffffff61293516565b6001600160a01b03808416600090815260048701602052604080822093909355908516815290812055505b6001600160a01b03811615612757576126108482611148565b50505050565b600281015460018201546001600160a01b039182169116811580159061278b57506001600160a01b03811615155b15612757576001600160a01b038082166000908152600485016020526040808220549285168252902054670de0b6b3a763ffff19909101906127d3908263ffffffff61293516565b6001600160a01b03841660009081526004860160205260409020556127f88584611148565b50506001600160a01b0382166000908152600485016020526040812081905580805b600783101561292b5760355460408051636e5b707160e01b8152600481018b905290516001600160a01b0390921691636e5b70719160248082019261012092909190829003018186803b15801561287057600080fd5b505afa158015612884573d6000803e3d6000fd5b505050506040513d61012081101561289b57600080fd5b5060a081015160c082015160e0909201519099509092509050876128be5761292b565b60048160058111156128cc57fe5b146128d65761281a565b6001600160a01b0382166000908152603360205260409020546129079067016345785d8a000063ffffffff61293516565b6001600160a01b03831660009081526033602052604090205560019092019161281a565b5050505050505050565b60008282018381101561231b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061231b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506129d7565b303b1590565b60008184841115612a665760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a2b578181015183820152602001612a13565b50505050905090810190601f168015612a585780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe94bc311f1c6f4ed382aae7a5df5a4917f0ef0289f84bad39fee69c943e85fa33436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a7231582037834c87d187e26196217ad7119b4c6d8512d2e5ba4d2362a5b716746a39015a64736f6c634300050d0032", + "sourceMap": "454:23391:2:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;454:23391:2;;;;;;;", + "deployedSourceMap": "454:23391:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;434:13:3;:11;:13::i;:::-;;454:23391:2;12305:2533;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12305:2533:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12305:2533:2;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;23160:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23160:136:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23160:136:2;;:::i;15039:1294::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15039:1294:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15039:1294:2;;:::i;5923:646::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5923:646:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5923:646:2;;;;;;-1:-1:-1;;;;;5923:646:2;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2031:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2031:29:2;;;:::i;:::-;;;;;;;;;;;;;;;;23655:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23655:188:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23655:188:2;;:::i;:::-;;;;-1:-1:-1;;;;;23655:188:2;;;;;;;;;;;;;;1900:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1900:35:2;;;:::i;5450:250::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5450:250:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5450:250:2;;;;;;-1:-1:-1;;;;;5450:250:2;;:::i;7113:2617::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7113:2617:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;7113:2617:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1770:56::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1770:56:2;;;:::i;1384:407:3:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1384:407:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1384:407:3;;:::i;16720:2503:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16720:2503:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16720:2503:2;;:::i;795:145:3:-;;;:::i;4142:61:4:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4142:61:4;;;:::i;9891:2040:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9891:2040:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9891:2040:2;;:::i;1942:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1942:27:2;;;:::i;2102:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2102:28:2;;;:::i;22741:139::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22741:139:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22741:139:2;;:::i;1687:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1687:45:2;;;:::i;19439:584::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19439:584:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19439:584:2;;;-1:-1:-1;;;;;19439:584:2;;;;;;;;;;;;:::i;:::-;;22078:424;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22078:424:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22078:424:2;;:::i;4625:622::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4625:622:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4625:622:2;;;-1:-1:-1;;;;;4625:622:2;;;;;;;;;;:::i;22939:149::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22939:149:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22939:149:2;;:::i;23336:132::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23336:132:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23336:132:2;;:::i;23516:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23516:132:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23516:132:2;;:::i;592:99:3:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;592:99:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;592:99:3;-1:-1:-1;;;;;592:99:3;;:::i;1602:50:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1602:50:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1602:50:2;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1602:50:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3829:530;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3829:530:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;3829:530:2;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;156:40:3:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;156:40:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;156:40:3;-1:-1:-1;;;;;156:40:3;;:::i;795:145::-;842:4;858:38;874:10;886:9;858:15;:38::i;:::-;-1:-1:-1;922:10:3;913:20;;;;:8;:20;;;;;;795:145;:::o;12305:2533:2:-;12391:4;12547:10;;;:6;:10;;;;;12391:4;;12466;;12493:12;;12567:698;12580:14;12574:2;:20;12567:698;;12615:18;12627:5;12615:11;:18::i;:::-;12614:19;:36;;;-1:-1:-1;12637:13:2;;;;;;;;;12614:36;12610:162;;;12675:52;;;;;;2766:5:4;12675:52:2;;;;;;-1:-1:-1;;;;;;;;;;;12675:52:2;;;;;;;;;;12752:5;12745:12;;;;;;;;12610:162;12789:18;;:42;;;-1:-1:-1;;;12789:42:2;;;;;;;;;;12835:39;;-1:-1:-1;;;;;12789:18:2;;:38;;:42;;;;;;;;;;;;;;:18;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;12789:42:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12789:42:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12789:42:2;:85;;;;;;;;;12785:212;;12899:53;;;;;;939:5:4;12899:53:2;;;;;;-1:-1:-1;;;;;;;;;;;12899:53:2;;;;;;;;;;12977:5;12970:12;;;;;;;;12785:212;13014:18;:52;;;;-1:-1:-1;13036:16:2;;;;-1:-1:-1;;;;;13036:16:2;:30;;13014:52;13010:117;;;13107:5;13086:26;;13010:117;13145:18;;:44;;;-1:-1:-1;;;13145:44:2;;;;;;;;;;-1:-1:-1;;;;;13145:18:2;;;;:40;;:44;;;;;;;;;;;;;;;:18;:44;;;5:2:-1;;;;30:1;27;20:12;5:2;13145:44:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13145:44:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13145:44:2;13211:10;;;;:6;13145:44;13211:10;;;;13253:1;13235:19;;;;;13145:44;;-1:-1:-1;13211:10:2;-1:-1:-1;12567:698:2;;;13296:23;;13279:14;:40;13275:166;;;13340:64;;;;;;3123:5:4;13340:64:2;;;;;;-1:-1:-1;;;;;;;;;;;13340:64:2;;;;;;;;;;13425:5;13418:12;;;;;;;;13275:166;13454:18;;:42;;;-1:-1:-1;;;13454:42:2;;;;;;;;;;13500:39;;-1:-1:-1;;;;;13454:18:2;;:38;;:42;;;;;;;;;;;;;;:18;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;13454:42:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13454:42:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13454:42:2;:85;;;;;;;;;13450:200;;13560:53;;;;;;939:5:4;13560:53:2;;;;;;-1:-1:-1;;;;;;;;;;;13560:53:2;;;;;;;;;;13634:5;13627:12;;;;;;;;13450:200;13671:18;;:54;;;-1:-1:-1;;;13671:54:2;;;;;;;;13714:10;13671:54;;;;;;13660:8;;-1:-1:-1;;;;;13671:18:2;;:26;;:54;;;;;;;;;;;;;;13660:8;13671:18;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;13671:54:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13671:54:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13671:54:2;;-1:-1:-1;13739:24:2;;13735:117;;13784:31;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13784:31:2;;;;;;;;;;13836:5;13829:12;;;;;;;;;13735:117;13861:37;13876:14;13892:5;13861:14;:37::i;:::-;13913:18;13909:783;;;13947:28;13992:14;13978:29;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;13978:29:2;-1:-1:-1;14026:12:2;;-1:-1:-1;13947:60:2;-1:-1:-1;14052:8:2;14078:176;14091:14;14085:2;:20;14078:176;;14144:2;14125:11;14137:3;14125:16;;;;;;;;;;;;;;;;;;:21;;;;14169:18;;:44;;;-1:-1:-1;;;14169:44:2;;;;;;;;;;-1:-1:-1;;;;;14169:18:2;;;;:40;;:44;;;;;;;;;;:18;:44;;;5:2:-1;;;;30:1;27;20:12;5:2;14169:44:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14169:44:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14169:44:2;;-1:-1:-1;14238:1:2;14231:8;14078:176;;;14274:7;;14267:415;;14308:1;14301:8;;;;14332:11;14344:3;14332:16;;;;;;;;;;;;;;;;;;;14374:10;;;;:6;:10;;;;;;14408:18;;:42;;-1:-1:-1;;;14408:42:2;;;;;;;;14439:10;14408:42;;;;;;14332:16;;-1:-1:-1;14374:10:2;;-1:-1:-1;;;;;;14408:18:2;;:26;;:42;;;;;14332:16;;14408:42;;;;;;;;;;:18;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;14408:42:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14408:42:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14408:42:2;;-1:-1:-1;14476:24:2;;14468:33;;;;;;14519:25;14534:2;14538:5;14519:14;:25::i;:::-;14562:16;:18;;-1:-1:-1;;14562:18:2;;;;;;14633:15;;;14603:64;;;;;;-1:-1:-1;;;;;14633:15:2;;;14603:64;;;;;;;;;;;;;;;;;;;;;;14267:415;;;13909:783;;;14701:16;:18;;-1:-1:-1;;14701:18:2;;;;;;14776:15;;;14734:76;;;;;;-1:-1:-1;;;;;14776:15:2;;;14734:76;;;;;;;;;;;;;;;;;;;;;;14827:4;14820:11;;;;;;;12305:2533;;;;;:::o;23160:136::-;23231:4;23266:22;;;:6;:22;;;;;23254:35;;:11;:35::i;:::-;23247:42;;23160:136;;;;:::o;15039:1294::-;15102:4;15150:22;;;:6;:22;;;;;15187:18;15150:22;15187:11;:18::i;:::-;15182:133;;15226:52;;;;;;2766:5:4;15226:52:2;;;;;;-1:-1:-1;;;;;;;;;;;15226:52:2;;;;;;;;;;15299:5;15292:12;;;;;15182:133;15339:18;;:54;;;-1:-1:-1;;;15339:54:2;;;;;;;;;;15325:11;;-1:-1:-1;;;;;15339:18:2;;:38;;:54;;;;;;;;;;;;;;:18;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;15339:54:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15339:54:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15339:54:2;15417:18;;:35;;;-1:-1:-1;;;15417:35:2;;;;15325:68;;;;;-1:-1:-1;;;;;;15417:18:2;;;;:33;;:35;;;;;15339:54;;15417:35;;;;;;;;:18;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;15417:35:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15417:35:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15417:35:2;15408:44;;15404:164;;;15473:58;;;;;;3300:5:4;15473:58:2;;;;;;-1:-1:-1;;;;;;;;;;;15473:58:2;;;;;;;;;;15552:5;15545:12;;;;;;15404:164;15614:18;;:54;;;-1:-1:-1;;;15614:54:2;;;;;;;;;;15578:33;;-1:-1:-1;;;;;15614:18:2;;:38;;:54;;;;;;;;;;;;;;:18;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;15614:54:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15614:54:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15614:54:2;;-1:-1:-1;15693:39:2;15683:6;:49;;;;;;;;;15679:164;;15753:53;;;;;;939:5:4;15753:53:2;;;;;;-1:-1:-1;;;;;;;;;;;15753:53:2;;;;;;;;;;15827:5;15820:12;;;;;;;15679:164;15858:13;;;;;;;;;15853:132;;15892:56;;;;;;2885:5:4;15892:56:2;;;;;;-1:-1:-1;;;;;;;;;;;15892:56:2;;;;;;;;;;15969:5;15962:12;;;;;;;15853:132;16006:18;;;16052:15;;;16006:62;;;-1:-1:-1;;;16006:62:2;;;;;;;;-1:-1:-1;;;;;16052:15:2;;;16006:62;;;;;;15995:8;;16006:18;;;;;:29;;:62;;;;;;;;;;;;;;;15995:8;16006:18;:62;;;5:2:-1;;;;30:1;27;20:12;5:2;16006:62:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16006:62:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16006:62:2;;-1:-1:-1;16086:24:2;;16078:33;;;;;;16121:38;16137:14;16153:5;16121:15;:38::i;:::-;16169:13;;;:20;;-1:-1:-1;;16169:20:2;;;;;16199:16;:18;;-1:-1:-1;;16199:18:2;;;;;16169:13;16270:16;;;16232:73;;;;;;-1:-1:-1;;;;;16270:16:2;;;16232:73;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16322:4:2;;15039:1294;-1:-1:-1;;;;;15039:1294:2:o;5923:646::-;6003:4;6057:22;;;:6;:22;;;;;6003:4;;6094:18;6057:22;6094:11;:18::i;:::-;6089:86;;-1:-1:-1;2766:5:4;;-1:-1:-1;6162:1:2;;-1:-1:-1;6128:36:2;;6089:86;6189:13;;;;;;;;;6184:82;;-1:-1:-1;939:5:4;;-1:-1:-1;6253:1:2;;-1:-1:-1;6218:37:2;;6184:82;-1:-1:-1;;;;;6297:29:2;;6276:18;6297:29;;;:20;;;:29;;;;;;;;;;6337:36;;;;6403:8;:17;;;;;;;:36;;6297:29;6403:36;:21;:36;:::i;:::-;-1:-1:-1;;;;;6383:17:2;;;;;;:8;:17;;;;;;;;;:56;;;;6455:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;837:1:4;;-1:-1:-1;6548:13:2;-1:-1:-1;;5923:646:2;;;;;;:::o;2031:29::-;;;;:::o;23655:188::-;23730:7;23781:22;;;:6;:22;;;;;23820:16;;;-1:-1:-1;;;;;23820:16:2;;23655:188::o;1900:35::-;;;;:::o;5450:250::-;5540:4;5588:22;;;:6;:22;;;;;5628:18;5588:22;5628:11;:18::i;:::-;5620:27;;;;;;-1:-1:-1;;;;;5664:29:2;;;;;;:20;;;;:29;;;;;;;-1:-1:-1;5450:250:2;;;;:::o;7113:2617::-;7375:18;;7334:4;;;;-1:-1:-1;;;;;7375:18:2;7359:50;;;;;;7452:2;7432:16;;:22;7428:168;;7474:44;;;7485:1;7474:44;;2158:5:4;7474:44:2;;;;;;-1:-1:-1;;;;;;;;;;;7474:44:2;;;;;;;;;;-1:-1:-1;2158:5:4;;-1:-1:-1;7571:1:2;7532:41;;7428:168;7618:10;7609:20;;;;:8;:20;;;;;;4184:19:4;-1:-1:-1;7605:170:2;;;7671:41;;;7682:1;7671:41;;2269:5:4;7671:41:2;;;;;;-1:-1:-1;;;;;;;;;;;7671:41:2;;;;;;;;;;-1:-1:-1;2269:5:4;;-1:-1:-1;7762:1:2;7726:38;;7605:170;7823:15;7805;;7789:13;:31;:49;7785:190;;;7859:47;;;7870:1;7859:47;;2523:5:4;7859:47:2;;;;;;-1:-1:-1;;;;;;;;;;;7859:47:2;;;;;;;;;;-1:-1:-1;2523:5:4;;-1:-1:-1;7962:1:2;7920:44;;7785:190;7989:80;:15;:80;:94;-1:-1:-1;7985:227:2;;8104:43;;;8115:1;8104:43;;1159:5:4;8104:43:2;;;;;;-1:-1:-1;;;;;;;;;;;8104:43:2;;;;;;;;;;-1:-1:-1;1159:5:4;;-1:-1:-1;8199:1:2;8161:40;;7985:227;8296:18;;:119;;;-1:-1:-1;;;8296:119:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8404:10;8296:119;;;;;;8222:8;;;;-1:-1:-1;;;;;8296:18:2;;;;:26;;:119;;;;;;;;;;;8222:8;8296:18;:119;;;5:2:-1;;;;30:1;27;20:12;5:2;8296:119:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8296:119:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8296:119:2;;;;;;;;;-1:-1:-1;8296:119:2;-1:-1:-1;8429:8:2;;8425:117;;8458:31;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8458:31:2;;;;;;;;;;8511:3;;-1:-1:-1;8516:14:2;-1:-1:-1;8503:28:2;;8425:117;8553:29;8585:22;;;:6;:22;;;;;8921:18;8585:22;8921:11;:18::i;:::-;8917:137;;;8963:13;;;;;;;;;:21;;8980:4;8963:21;:46;;;;-1:-1:-1;8988:13:2;;;;;;;;;;:21;;:13;:21;8963:46;:79;;;;-1:-1:-1;9013:15:2;;;;-1:-1:-1;;;;;9013:15:2;9032:10;9013:29;;8963:79;8955:88;;;;;;9064:37;;;9111:15;;;:28;;9129:10;-1:-1:-1;;;;;;9111:28:2;;;;;;;;9149:16;;;:29;;;;;;;9188:13;;;:21;;-1:-1:-1;;9250:33:2;;;;9311:15;9293;;;:33;;;9379:17;;9361:35;9336:22;;;:60;-1:-1:-1;;9406:31:2;;;9453:64;;;-1:-1:-1;;;9453:64:2;;;;;;;;;;;;;;;4184:19:4;9453:64:2;;;;;:4;;:16;;:64;;;;;;;;;;;;;;-1:-1:-1;9453:4:2;:64;;;5:2:-1;;;;30:1;27;20:12;5:2;9453:64:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9453:64:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9453:64:2;;-1:-1:-1;9535:24:2;;9527:33;;;;;;9570:16;:18;;;;;;;;9603:68;;;;;;9642:10;9603:68;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;-1:-1:-1;9708:14:2;-1:-1:-1;;7113:2617:2;;;;;;;;;;:::o;1770:56::-;;;-1:-1:-1;;;;;1770:56:2;;:::o;1384:407:3:-;1473:10;1440:4;1464:20;;;:8;:20;;;;;;:30;-1:-1:-1;1464:30:3;;;:44;;;1507:1;1498:6;:10;1464:44;1456:53;;;;;;1552:10;1543:20;;;;:8;:20;;;;;;:32;;1568:6;1543:32;:24;:32;:::i;:::-;1529:10;1520:20;;;;:8;:20;;;;;;:55;;;;1663:33;;1529:10;;1685:6;;1663:33;;1520:20;1663:33;1685:6;1529:10;1663:33;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;-1:-1;;1711:36:3;;;1728:10;1711:36;;;;;;;;;;;;-1:-1:-1;1711:36:3;;;;;;;;;-1:-1:-1;;1773:10:3;1764:20;;;;:8;:20;;;;;;;1384:407::o;16720:2503:2:-;16790:4;16838:22;;;:6;:22;;;;;16876:18;16838:22;16876:11;:18::i;:::-;16875:19;:36;;;-1:-1:-1;16898:13:2;;;;;;;;;16875:36;16871:150;;;16932:52;;;;;;2766:5:4;16932:52:2;;;;;;-1:-1:-1;;;;;;;;;;;16932:52:2;;;;;;;;;;17005:5;16998:12;;;;;16871:150;17096:25;;;;;;17092:150;;;17142:63;;;;;;2829:5:4;17142:63:2;;;;;;-1:-1:-1;;;;;;;;;;;17142:63:2;;;;;;;;;;17226:5;17219:12;;;;;17092:150;17317:13;;;;;;;;;17313:512;;;17458:13;;;:20;;-1:-1:-1;;17458:20:2;;;;;17503:18;;17474:4;17549:15;;;17503:62;;;-1:-1:-1;;;17503:62:2;;;;;;;;-1:-1:-1;;;;;17549:15:2;;;17503:62;;;;;;17458:20;;17503:18;;;;;:29;;:62;;;;;;;;;;;;;;;17458:20;17503:18;:62;;;5:2:-1;;;;30:1;27;20:12;5:2;17503:62:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17503:62:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17503:62:2;;-1:-1:-1;17587:24:2;;17579:33;;;;;;17626:38;17642:14;17658:5;17626:15;:38::i;:::-;17678:16;:18;;-1:-1:-1;;17678:18:2;;;;;17753:16;;;;17715:73;;;;;;-1:-1:-1;;;;;17753:16:2;;;17715:73;;;;;;;;;;;;;;;;;;;;;;17809:5;17802:12;;;;;;17313:512;17943:5;:22;;;17924:15;:41;17920:156;;17986:53;;;;;;1103:5:4;17986:53:2;;;;;;-1:-1:-1;;;;;;;;;;;17986:53:2;;;;;;;;;;18060:5;18053:12;;;;;17920:156;18086:13;;;:20;;-1:-1:-1;;18086:20:2;;;;;18228:16;;;;18086:20;;-1:-1:-1;;;;;18228:16:2;18224:356;;18293:18;;:56;;;-1:-1:-1;;;18293:56:2;;;;;;;;;;18274:16;;-1:-1:-1;;;;;18293:18:2;;:40;;:56;;;;;;;;;;;;;;:18;:56;;;5:2:-1;;;;30:1;27;20:12;5:2;18293:56:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18293:56:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18293:56:2;18399:18;;:48;;;-1:-1:-1;;;18399:48:2;;;;;;;;;;18293:56;;-1:-1:-1;18363:33:2;;-1:-1:-1;;;;;18399:18:2;;;;:38;;:48;;;;;18293:56;;18399:48;;;;;;;;:18;:48;;;5:2:-1;;;;30:1;27;20:12;5:2;18399:48:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18399:48:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18399:48:2;;-1:-1:-1;18475:35:2;18465:6;:45;;;;;;;;;18461:109;;;18551:4;18530:25;;18461:109;18224:356;;;18594:18;18590:606;;;18639:18;;:54;;;-1:-1:-1;;;18639:54:2;;;;;;;;18682:10;18639:54;;;;;;18628:8;;-1:-1:-1;;;;;18639:18:2;;:26;;:54;;;;;;;;;;;;;;18628:8;18639:18;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;18639:54:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18639:54:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18639:54:2;;-1:-1:-1;18715:24:2;;18707:33;;;;;;18774:15;;;;-1:-1:-1;;;;;18774:15:2;18803:40;18817:14;18774:15;18803:13;:40::i;:::-;-1:-1:-1;;18857:16:2;:18;;-1:-1:-1;;18857:18:2;;;;;18894:70;;;;;;-1:-1:-1;;;;;18894:70:2;;;;;;;;;;;;;;;;;;;;;;;18590:606;;;;;19006:18;;:58;;;-1:-1:-1;;;19006:58:2;;;;;;;;19053:10;19006:58;;;;;;18995:8;;-1:-1:-1;;;;;19006:18:2;;:30;;:58;;;;;;;;;;;;;;18995:8;19006:18;:58;;;5:2:-1;;;;30:1;27;20:12;5:2;19006:58:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19006:58:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19006:58:2;;-1:-1:-1;19086:24:2;;19078:33;;;;;;19169:15;;;;19130:55;;;;;;-1:-1:-1;;;;;19169:15:2;;;19130:55;;;;;;;;;;;;;;;;18590:606;;-1:-1:-1;19212:4:2;;16720:2503;-1:-1:-1;;;16720:2503:2:o;4142:61:4:-;4184:19;4142:61;:::o;9891:2040:2:-;10003:18;;9962:4;;;;-1:-1:-1;;;;;10003:18:2;9987:50;;;;;;10048:29;10080:22;;;:6;:22;;;;;10118:18;10080:22;10118:11;:18::i;:::-;10113:170;;10157:52;;;;;;2766:5:4;10157:52:2;;;;;;-1:-1:-1;;;;;;;;;;;10157:52:2;;;;;;;;;;2766:5:4;10257:14:2;10223:49;;;;;;;10113:170;10295:23;;;;;;;;;:31;;10322:4;10295:31;10292:217;;;10346:65;;;;;;3421:5:4;10346:65:2;;;;;;-1:-1:-1;;;;;;;;;;;10346:65:2;;;;;;;;;;3421:5:4;10472:14:2;10425:62;;;;;;;10292:217;10522:13;;;;;;;;;;:30;;-1:-1:-1;10539:13:2;;;;;;;;;10522:30;10518:189;;;10573:56;;;;;;2885:5:4;10573:56:2;;;;;;-1:-1:-1;;;;;;;;;;;10573:56:2;;;;;;;;;;2885:5:4;10681:14:2;10643:53;;;;;;;10518:189;10720:25;;;;;;10716:190;;;10766:59;;;;;;2944:5:4;10766:59:2;;;;;;-1:-1:-1;;;;;;;;;;;10766:59:2;;;;;;;;;;2944:5:4;10880:14:2;10839:56;;;;;;;10716:190;10928:10;10919:20;;;;:8;:20;;;;;;4184:19:4;-1:-1:-1;10915:196:2;;;10981:54;;;;;;2269:5:4;10981:54:2;;;;;;-1:-1:-1;;;;;;;;;;;10981:54:2;;;;;;;;;;2269:5:4;11085:14:2;11049:51;;;;;;;10915:196;11136:18;;:56;;;-1:-1:-1;;;11136:56:2;;;;;;;;11181:10;11136:56;;;;;;11125:8;;-1:-1:-1;;;;;11136:18:2;;:28;;:56;;;;;;;;;;;;;;11125:8;11136:18;:56;;;5:2:-1;;;;30:1;27;20:12;5:2;11136:56:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11136:56:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11136:56:2;;-1:-1:-1;11206:8:2;;11202:104;;11235:31;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11235:31:2;;;;;;;;;;11288:3;-1:-1:-1;11293:1:2;;-1:-1:-1;11280:15:2;;-1:-1:-1;11280:15:2;11202:104;11322:64;;;-1:-1:-1;;;11322:64:2;;;;;;;;11355:10;11322:64;;;;4184:19:4;11322:64:2;;;;;;:4;;:16;;:64;;;;;;;;;;;;;;-1:-1:-1;11322:4:2;:64;;;5:2:-1;;;;30:1;27;20:12;5:2;11322:64:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11322:64:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11322:64:2;;-1:-1:-1;11404:24:2;;11396:33;;;;;;11483:17;;11465:15;:35;11440:22;;;:60;11510:16;;;:29;;-1:-1:-1;;;;;;11510:29:2;11529:10;11510:29;;;;;;11554:53;;;;;;;;;;;;;;;;;;;;;;;;;11618:27;;;11681:15;;;11710:16;;;;11618:109;;;-1:-1:-1;;;11618:109:2;;;;;;;;-1:-1:-1;;;;;11681:15:2;;;11618:109;;;;11710:16;;;11618:109;;;;;:27;;;;;:46;;:109;;;;;:27;;:109;;;;;;;:27;;:109;;;5:2:-1;;;;30:1;27;20:12;5:2;11618:109:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;11783:15:2;;;;11812:16;;;;11743:86;;;;;;-1:-1:-1;;;;;11783:15:2;;;11743:86;;;;11812:16;;;;11743:86;;;;;;;;;;;;;;-1:-1:-1;11840:25:2;;:32;;-1:-1:-1;;11840:32:2;11868:4;11840:32;;;-1:-1:-1;11840:25:2;;-1:-1:-1;11909:14:2;9891:2040;;;;:::o;1942:27::-;;;;:::o;2102:28::-;;;;:::o;22741:139::-;22815:7;22841:22;;;:6;:22;;;;;:32;;;-1:-1:-1;;;;;22841:32:2;;22741:139::o;1687:45::-;;;-1:-1:-1;;;;;1687:45:2;;:::o;19439:584::-;3170:27;;-1:-1:-1;;;;;3170:27:2;3148:10;:50;3140:59;;;;;;19555:29;19587:22;;;:6;:22;;;;;19628:18;19587:22;19628:11;:18::i;:::-;19620:27;;;;;;19658:25;;;:33;;-1:-1:-1;;19658:33:2;;;;19721:15;;;-1:-1:-1;;;;;19721:15:2;;;;19751:18;;;;19747:201;;;19785:13;;;:20;;-1:-1:-1;;19785:20:2;;;;;19747:201;;;19839:6;-1:-1:-1;;;;;19826:19:2;:9;-1:-1:-1;;;;;19826:19:2;;19822:126;;;19861:23;;;:30;;-1:-1:-1;;19861:30:2;;;;;19822:126;;;19929:8;;;19822:126;19962:54;;;;;;-1:-1:-1;;;;;19962:54:2;;;;;;;;;;;;;;;;;;;;;;;;3209:1;;19439:584;;;:::o;22078:424::-;22163:4;22211:22;;;:6;:22;;;;;22309:35;22251:18;;:54;;;-1:-1:-1;;;22251:54:2;;;;;;;;;;-1:-1:-1;;;;;22251:18:2;;;;:38;;:54;;;;;;;;;;;;;;;:18;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;22251:54:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22251:54:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22251:54:2;:93;;;;;;;;;:123;;;;-1:-1:-1;22361:13:2;;;;;;;;;22360:14;22251:123;:153;;;;-1:-1:-1;22379:25:2;;;;;;22378:26;22251:153;:197;;;;;22426:5;:22;;;22408:15;:40;22251:197;:243;;;;-1:-1:-1;22464:16:2;;;;-1:-1:-1;;;;;22464:16:2;:30;;22251:243;22243:252;22078:424;-1:-1:-1;;;22078:424:2:o;4625:622::-;3296:27;;4740:4;;-1:-1:-1;;;;;3296:27:2;3274:10;:50;;:81;;-1:-1:-1;3328:10:2;3350:4;3328:27;3274:81;3266:90;;;;;;4756:29;4788:22;;;:6;:22;;;;;4826:18;4788:22;4826:11;:18::i;:::-;4821:81;;2766:5:4;4860:31:2;;;;;4821:81;-1:-1:-1;;;;;4916:17:2;;;;;;:8;:17;;;;;;:26;-1:-1:-1;4912:90:2;;;2269:5:4;4958:33:2;;;;;4912:90;-1:-1:-1;;;;;5032:17:2;;;;;;:8;:17;;;;;;:29;;5054:6;5032:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;5012:17:2;;;;;;:8;:17;;;;;;;;:49;;;;5103:20;;;:29;;;;:41;;5137:6;5103:41;:33;:41;:::i;:::-;-1:-1:-1;;;;;5071:29:2;;;;;;:20;;;:29;;;;;;;;;:73;;;;5159:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;4625:622:2;-1:-1:-1;;;;4625:622:2:o;22939:149::-;23026:4;23049:22;;;:6;:22;;;;;:32;;;;22939:149::o;23336:132::-;23408:4;23431:22;;;:6;:22;;;;;:30;;;;;;;;;23336:132::o;23516:::-;23588:4;23611:22;;;:6;:22;;;;;:30;;;;;;;;;23516:132::o;592:99:3:-;-1:-1:-1;;;;;671:13:3;648:4;671:13;;;:8;:13;;;;;;;592:99::o;1602:50:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1602:50:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3829:530::-;1024:12:16;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:16;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;1016:106:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:16;;;;;1225:18;1213:4;1225:18;;;1170:80;4076:18:2;:33;;-1:-1:-1;;;;;4076:33:2;;;-1:-1:-1;;;;;;4076:33:2;;;;;;;4119:27;:51;;;;;;;;;;;;;;;4180:15;:34;;;4224:17;:38;;;4272:23;:50;;;4076:18;4332:16;:20;1264:55:16;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:16;;;1264:55;3829:530:2;;;;;;:::o;156:40:3:-;;;;;;;;;;;;;:::o;1054:156::-;-1:-1:-1;;;;;1139:13:3;;;;;;:8;:13;;;;;;:25;;1157:6;1139:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;1123:13:3;;;;;;:8;:13;;;;;;;;;:41;;;;1179:24;;;;;;;;;;;;;;;;;;;;;;;;1054:156;;:::o;22548:135:2:-;22646:15;;;-1:-1:-1;;;;;22646:15:2;:29;;;22548:135::o;21442:543::-;21560:16;;;;;21606:15;;;-1:-1:-1;;;;;21560:16:2;;;;21606:15;21635:24;;21631:245;;-1:-1:-1;;;;;21689:32:2;;;21675:11;21689:32;;;:20;;;:32;;;;;;;21769:31;;;;;;;;:43;;21689:32;21769:43;:35;:43;:::i;:::-;-1:-1:-1;;;;;21735:31:2;;;;;;;:20;;;:31;;;;;;:77;;;;21833:32;;;;;;;;21826:39;-1:-1:-1;21631:245:2;-1:-1:-1;;;;;21889:23:2;;;21885:94;;21928:40;21942:14;21958:9;21928:13;:40::i;21885:94::-;21442:543;;;;:::o;20130:1254::-;20249:16;;;;;20295:15;;;-1:-1:-1;;;;;20249:16:2;;;;20295:15;20325:24;;;;;:51;;-1:-1:-1;;;;;;20353:23:2;;;;20325:51;20321:1057;;;-1:-1:-1;;;;;20406:31:2;;;20392:11;20406:31;;;:20;;;:31;;;;;;;20540:32;;;;;;;;-1:-1:-1;;20451:29:2;;;;20540:44;;20451:29;20540:44;:36;:44;:::i;:::-;-1:-1:-1;;;;;20505:32:2;;;;;;:20;;;:32;;;;;:79;20598:41;20612:14;20526:10;20598:13;:41::i;:::-;-1:-1:-1;;;;;;;20660:31:2;;;;;;:20;;;:31;;;;;20653:38;;;20660:31;;20903:464;20920:1;20910:7;:11;20903:464;;;20987:18;;:48;;;-1:-1:-1;;;20987:48:2;;;;;;;;;;-1:-1:-1;;;;;20987:18:2;;;;:32;;:48;;;;;;;;;;;;;;;:18;:48;;;5:2:-1;;;;30:1;27;20:12;5:2;20987:48:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20987:48:2;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;20987:48:2;;;;;;;;;;;;;;;-1:-1:-1;20987:48:2;;-1:-1:-1;20987:48:2;-1:-1:-1;21056:21:2;21053:51;;21099:5;;21053:51;21136:35;21126:6;:45;;;;;;;;;21122:100;;21195:8;;21122:100;-1:-1:-1;;;;;21265:23:2;;;;;;:8;:23;;;;;;:47;;21293:18;21265:47;:27;:47;:::i;:::-;-1:-1:-1;;;;;21239:23:2;;;;;;:8;:23;;;;;:73;21343:9;;;;;20903:464;;;20321:1057;;;;20130:1254;;;;:::o;834:176:18:-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:18;;;;;;;;;;;;;;;;;;;;;;;;;;;1274:134;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;1409:467:16:-;1842:7;1830:20;1864:7;1409:467;:::o;1732:187:18:-;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:18;;;1732:187::o", + "source": "pragma solidity ^0.5.13;\n\nimport './interfaces/SyscoinSuperblocksI.sol';\nimport './interfaces/SyscoinClaimManagerI.sol';\nimport './interfaces/SyscoinBattleManagerI.sol';\nimport './SyscoinDepositsManager.sol';\nimport './SyscoinErrorCodes.sol';\nimport 'openzeppelin-solidity/contracts/math/SafeMath.sol';\nimport \"@openzeppelin/upgrades/contracts/Initializable.sol\";\n\n// @dev - Manager of superblock claims\n//\n// Manages superblocks proposal and challenges\ncontract SyscoinClaimManager is Initializable, SyscoinDepositsManager, SyscoinErrorCodes {\n\n using SafeMath for uint;\n\n uint constant MAX_FUTURE_BLOCK_TIME_SYSCOIN = 7200;\n uint constant MAX_FUTURE_BLOCK_TIME_ETHEREUM = 15;\n struct SuperblockClaim {\n bytes32 superblockHash; // Superblock Id\n address submitter; // Superblock submitter\n address challenger; // Superblock challenger\n uint createdAt; // Superblock creation time\n\n mapping (address => uint) bondedDeposits; // Deposit associated to submitter+challenger\n\n uint challengeTimeout; // Claim timeout\n\n bool verificationOngoing; // Challenge session has started\n\n bool decided; // If the claim was decided\n bool invalid; // If superblock is invalid\n bool challengeDefended; // has this challenge been defended already, not allowed to re-defend\n }\n\n // Active superblock claims\n mapping (bytes32 => SuperblockClaim) public claims;\n\n // Superblocks contract\n SyscoinSuperblocksI public trustedSuperblocks;\n\n // Battle manager contract\n SyscoinBattleManagerI public trustedSyscoinBattleManager;\n\n // Confirmations required to confirm semi approved superblocks\n uint public superblockConfirmations;\n\n uint public superblockDelay; // Delay required to submit superblocks (in seconds)\n uint public superblockTimeout; // Timeout for action (in seconds)\n uint public inProcessCounter; // how many in progress superblocks do we have? should be below 10 for 10 max commitments of deposits\n event DepositBonded(bytes32 superblockHash, address account, uint amount);\n event DepositUnbonded(bytes32 superblockHash, address account, uint amount);\n event SuperblockClaimCreated(bytes32 superblockHash, address submitter, uint processCounter);\n event SuperblockClaimChallenged(bytes32 superblockHash, address challenger);\n event SuperblockBattleDecided(bytes32 superblockHash, address winner, address loser);\n event SuperblockClaimSuccessful(bytes32 superblockHash, address submitter, uint processCounter);\n event SuperblockClaimPending(bytes32 superblockHash, address submitter);\n event SuperblockClaimFailed(bytes32 superblockHash, address challenger, uint processCounter);\n event VerificationGameStarted(bytes32 superblockHash, address submitter, address challenger);\n\n event ErrorClaim(bytes32 superblockHash, uint err);\n\n modifier onlyBattleManager() {\n require(msg.sender == address(trustedSyscoinBattleManager));\n _;\n }\n\n modifier onlyMeOrBattleManager() {\n require(msg.sender == address(trustedSyscoinBattleManager) || msg.sender == address(this));\n _;\n }\n \n // @dev – Sets up the contract managing superblock challenges\n // @param _superblocks Contract that manages superblocks\n // @param _battleManager Contract that manages battles\n // @param _superblockDelay Delay to accept a superblock submission (in seconds)\n // @param _superblockTimeout Time to wait for challenges (in seconds)\n // @param _superblockConfirmations Confirmations required to confirm semi approved superblocks\n function init(\n SyscoinSuperblocksI _superblocks,\n SyscoinBattleManagerI _syscoinBattleManager,\n uint _superblockDelay,\n uint _superblockTimeout,\n uint _superblockConfirmations\n ) public initializer {\n trustedSuperblocks = _superblocks;\n trustedSyscoinBattleManager = _syscoinBattleManager;\n superblockDelay = _superblockDelay;\n superblockTimeout = _superblockTimeout;\n superblockConfirmations = _superblockConfirmations;\n inProcessCounter = 0;\n }\n\n // @dev – locks up part of a user's deposit into a claim.\n // @param superblockHash – claim id.\n // @param account – user's address.\n // @param amount – amount of deposit to lock up.\n // @return – user's deposit bonded for the claim.\n function bondDeposit(bytes32 superblockHash, address account, uint amount) external onlyMeOrBattleManager returns (uint) {\n SuperblockClaim storage claim = claims[superblockHash];\n\n if (!claimExists(claim)) {\n return ERR_SUPERBLOCK_BAD_CLAIM;\n }\n\n if (deposits[account] < amount) {\n return ERR_SUPERBLOCK_MIN_DEPOSIT;\n }\n\n deposits[account] = deposits[account].sub(amount);\n claim.bondedDeposits[account] = claim.bondedDeposits[account].add(amount);\n emit DepositBonded(superblockHash, account, amount);\n\n return ERR_SUPERBLOCK_OK;\n }\n\n // @dev – accessor for a claim's bonded deposits.\n // @param superblockHash – claim id.\n // @param account – user's address.\n // @return – user's deposit bonded for the claim.\n function getBondedDeposit(bytes32 superblockHash, address account) external view returns (uint) {\n SuperblockClaim storage claim = claims[superblockHash];\n require(claimExists(claim));\n return claim.bondedDeposits[account];\n }\n\n // @dev – unlocks a user's bonded deposits from a claim.\n // @param superblockHash – claim id.\n // @param account – user's address.\n // @return – user's deposit which was unbonded from the claim.\n function unbondDeposit(bytes32 superblockHash, address account) public returns (uint, uint) {\n SuperblockClaim storage claim = claims[superblockHash];\n if (!claimExists(claim)) {\n return (ERR_SUPERBLOCK_BAD_CLAIM, 0);\n }\n if (!claim.decided) {\n return (ERR_SUPERBLOCK_BAD_STATUS, 0);\n }\n\n uint bondedDeposit = claim.bondedDeposits[account];\n\n delete claim.bondedDeposits[account];\n deposits[account] = deposits[account].add(bondedDeposit);\n\n emit DepositUnbonded(superblockHash, account, bondedDeposit);\n\n return (ERR_SUPERBLOCK_OK, bondedDeposit);\n }\n\n // @dev – Propose a new superblock.\n //\n // @param _blocksMerkleRoot Root of the merkle tree of blocks contained in a superblock\n // @param _timestamp Timestamp of the last block in the superblock\n // @param _mtpTimestamp Median Timestamp of the last block in the superblock\n // @param _lastHash Hash of the last block in the superblock\n // @param _lastBits Difficulty bits of the last block in the superblock bits\n // @param _parentHash Id of the parent superblock\n // @return Error code and superblockHash\n function proposeSuperblock(\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentHash\n ) external returns (uint, bytes32) {\n require(address(trustedSuperblocks) != address(0));\n \n if (inProcessCounter >= 10){\n emit ErrorClaim(0, ERR_SUPERBLOCK_MAX_INPROGRESS);\n return (ERR_SUPERBLOCK_MAX_INPROGRESS, 0); \n }\n if (deposits[msg.sender] < minProposalDeposit) {\n emit ErrorClaim(0, ERR_SUPERBLOCK_MIN_DEPOSIT);\n return (ERR_SUPERBLOCK_MIN_DEPOSIT, 0);\n }\n\n if (_mtpTimestamp + superblockDelay > block.timestamp) {\n emit ErrorClaim(0, ERR_SUPERBLOCK_BAD_TIMESTAMP_MTP);\n return (ERR_SUPERBLOCK_BAD_TIMESTAMP_MTP, 0);\n }\n\n if (block.timestamp + MAX_FUTURE_BLOCK_TIME_SYSCOIN + MAX_FUTURE_BLOCK_TIME_ETHEREUM <= _timestamp) {\n emit ErrorClaim(0, ERR_SUPERBLOCK_BAD_TIMESTAMP);\n return (ERR_SUPERBLOCK_BAD_TIMESTAMP, 0);\n }\n\n uint err;\n bytes32 superblockHash;\n (err, superblockHash) = trustedSuperblocks.propose(_blocksMerkleRoot, _timestamp, _mtpTimestamp, _lastHash, _lastBits, _parentHash, msg.sender);\n if (err != 0) {\n emit ErrorClaim(superblockHash, err);\n return (err, superblockHash);\n }\n\n\n SuperblockClaim storage claim = claims[superblockHash];\n // allow to propose an existing claim only if its invalid and decided and its a different submitter or not on the tip\n // those are the ones that may actually be stuck and need to be proposed again,\n // but we want to ensure its not the same submitter submitting the same thing\n if (claimExists(claim)) {\n require(claim.invalid == true && claim.decided == true && claim.submitter != msg.sender);\n }\n\n claim.superblockHash = superblockHash;\n claim.submitter = msg.sender;\n claim.challenger = address(0);\n claim.decided = false;\n claim.invalid = false;\n claim.verificationOngoing = false;\n claim.createdAt = block.timestamp;\n claim.challengeTimeout = block.timestamp + superblockTimeout;\n claim.challengeDefended = false;\n err = this.bondDeposit(superblockHash, msg.sender, minProposalDeposit);\n require(err == ERR_SUPERBLOCK_OK);\n inProcessCounter++;\n emit SuperblockClaimCreated(superblockHash, msg.sender, inProcessCounter);\n return (ERR_SUPERBLOCK_OK, superblockHash);\n }\n\n // @dev – challenge a superblock claim.\n // @param superblockHash – Id of the superblock to challenge.\n // @return - Error code and claim Id\n function challengeSuperblock(bytes32 superblockHash) external returns (uint, bytes32) {\n require(address(trustedSuperblocks) != address(0));\n\n SuperblockClaim storage claim = claims[superblockHash];\n\n if (!claimExists(claim)) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_CLAIM);\n return (ERR_SUPERBLOCK_BAD_CLAIM, superblockHash);\n }\n if(claim.challengeDefended == true){\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_CLAIM_ALREADY_DEFENDED);\n return (ERR_SUPERBLOCK_CLAIM_ALREADY_DEFENDED, superblockHash); \n }\n if (claim.decided || claim.invalid) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_CLAIM_DECIDED);\n return (ERR_SUPERBLOCK_CLAIM_DECIDED, superblockHash);\n }\n if (claim.verificationOngoing) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_CHALLENGE_EXISTS);\n return (ERR_SUPERBLOCK_CHALLENGE_EXISTS, superblockHash);\n }\n if (deposits[msg.sender] < minProposalDeposit) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_MIN_DEPOSIT);\n return (ERR_SUPERBLOCK_MIN_DEPOSIT, superblockHash);\n }\n \n uint err = trustedSuperblocks.challenge(superblockHash, msg.sender);\n if (err != 0) {\n emit ErrorClaim(superblockHash, err);\n return (err, 0);\n }\n\n err = this.bondDeposit(superblockHash, msg.sender, minProposalDeposit);\n require(err == ERR_SUPERBLOCK_OK);\n\n claim.challengeTimeout = block.timestamp + superblockTimeout;\n claim.challenger = msg.sender;\n emit SuperblockClaimChallenged(superblockHash, msg.sender);\n\n trustedSyscoinBattleManager.beginBattleSession(superblockHash, claim.submitter,\n claim.challenger);\n\n emit VerificationGameStarted(superblockHash, claim.submitter,\n claim.challenger);\n\n claim.verificationOngoing = true;\n return (ERR_SUPERBLOCK_OK, superblockHash);\n }\n\n // @dev – confirm semi approved superblock.\n //\n // A semi approved superblock can be confirmed if it has several descendant\n // superblocks that are also semi-approved.\n // If none of the descendants were challenged they will also be confirmed.\n //\n // @param superblockHash – the claim ID.\n // @param descendantId - claim ID descendants\n function confirmClaim(bytes32 superblockHash, bytes32 descendantId) external returns (bool) {\n uint numSuperblocks = 0;\n bool confirmDescendants = true;\n bytes32 id = descendantId;\n SuperblockClaim storage claim = claims[id];\n while (id != superblockHash) {\n if (!claimExists(claim) || claim.invalid) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_CLAIM);\n return false;\n }\n if (trustedSuperblocks.getSuperblockStatus(id) != SyscoinSuperblocksI.Status.SemiApproved) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return false;\n }\n if (confirmDescendants && claim.challenger != address(0)) {\n confirmDescendants = false;\n }\n id = trustedSuperblocks.getSuperblockParentId(id);\n claim = claims[id];\n numSuperblocks += 1;\n }\n\n if (numSuperblocks < superblockConfirmations) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_MISSING_CONFIRMATIONS);\n return false;\n }\n if (trustedSuperblocks.getSuperblockStatus(id) != SyscoinSuperblocksI.Status.SemiApproved) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return false;\n }\n\n uint err = trustedSuperblocks.confirm(superblockHash, msg.sender);\n if (err != ERR_SUPERBLOCK_OK) {\n emit ErrorClaim(superblockHash, err);\n return false;\n }\n doPaySubmitter(superblockHash, claim);\n\n if (confirmDescendants) {\n bytes32[] memory descendants = new bytes32[](numSuperblocks);\n id = descendantId;\n uint idx = 0;\n while (id != superblockHash) {\n descendants[idx] = id;\n id = trustedSuperblocks.getSuperblockParentId(id);\n idx += 1;\n }\n while (idx > 0) {\n idx -= 1;\n id = descendants[idx];\n claim = claims[id];\n err = trustedSuperblocks.confirm(id, msg.sender);\n require(err == ERR_SUPERBLOCK_OK);\n doPaySubmitter(id, claim);\n inProcessCounter--;\n emit SuperblockClaimSuccessful(id, claim.submitter, inProcessCounter);\n }\n }\n inProcessCounter--;\n emit SuperblockClaimSuccessful(superblockHash, claim.submitter, inProcessCounter);\n return true;\n }\n\n // @dev – Reject a semi approved superblock.\n //\n // Superblocks that are not in the main chain can be marked as\n // invalid.\n //\n // @param superblockHash – the claim ID.\n function rejectClaim(bytes32 superblockHash) external returns (bool) {\n SuperblockClaim storage claim = claims[superblockHash];\n if (!claimExists(claim)) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_CLAIM);\n return false;\n }\n\n uint height = trustedSuperblocks.getSuperblockHeight(superblockHash);\n\n if (height > trustedSuperblocks.getChainHeight()) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_BLOCKHEIGHT);\n return false;\n }\n\n SyscoinSuperblocksI.Status status = trustedSuperblocks.getSuperblockStatus(superblockHash);\n\n if (status != SyscoinSuperblocksI.Status.SemiApproved) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return false;\n }\n\n if (!claim.decided) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_CLAIM_DECIDED);\n return false;\n }\n\n uint err = trustedSuperblocks.invalidate(superblockHash, claim.submitter);\n require(err == ERR_SUPERBLOCK_OK);\n doPayChallenger(superblockHash, claim);\n claim.invalid = true;\n inProcessCounter--;\n emit SuperblockClaimFailed(superblockHash, claim.challenger, inProcessCounter);\n return true;\n }\n\n // @dev – check whether a claim has successfully withstood all challenges.\n // If successful without challenges, it will mark the superblock as confirmed.\n // If successful with at least one challenge, it will mark the superblock as semi-approved.\n // If verification failed, it will mark the superblock as invalid.\n //\n // @param superblockHash – claim ID.\n function checkClaimFinished(bytes32 superblockHash) external returns (bool) {\n SuperblockClaim storage claim = claims[superblockHash];\n\n if (!claimExists(claim) || claim.decided) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_BAD_CLAIM);\n return false;\n }\n\n // check that there is no ongoing verification game.\n if (claim.verificationOngoing) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_VERIFICATION_PENDING);\n return false;\n }\n\n // an invalid superblock can be rejected immediately\n if (claim.invalid) {\n // The superblock is invalid, submitter abandoned\n // or superblock data is inconsistent\n claim.decided = true;\n uint err = trustedSuperblocks.invalidate(superblockHash, claim.submitter);\n require(err == ERR_SUPERBLOCK_OK);\n doPayChallenger(superblockHash, claim);\n inProcessCounter--;\n emit SuperblockClaimFailed(superblockHash, claim.challenger, inProcessCounter);\n return false;\n }\n\n // check that the claim has exceeded the claim's specific challenge timeout.\n if (block.timestamp <= claim.challengeTimeout) {\n emit ErrorClaim(superblockHash, ERR_SUPERBLOCK_NO_TIMEOUT);\n return false;\n }\n\n claim.decided = true;\n\n bool confirmImmediately = false;\n // No challenger and parent approved; confirm immediately\n if (claim.challenger == address(0)) {\n bytes32 parentId = trustedSuperblocks.getSuperblockParentId(superblockHash);\n SyscoinSuperblocksI.Status status = trustedSuperblocks.getSuperblockStatus(parentId);\n if (status == SyscoinSuperblocksI.Status.Approved) {\n confirmImmediately = true;\n }\n }\n\n if (confirmImmediately) {\n uint err = trustedSuperblocks.confirm(superblockHash, msg.sender);\n require(err == ERR_SUPERBLOCK_OK);\n address submitter = claim.submitter;\n unbondDeposit(superblockHash, submitter);\n inProcessCounter--;\n emit SuperblockClaimSuccessful(superblockHash, submitter, inProcessCounter);\n } else {\n uint err = trustedSuperblocks.semiApprove(superblockHash, msg.sender);\n require(err == ERR_SUPERBLOCK_OK);\n emit SuperblockClaimPending(superblockHash, claim.submitter);\n }\n return true;\n }\n\n\n // @dev – called when a battle session has ended.\n //\n // @param superblockHash - claim Id\n // @param winner – winner of verification game.\n // @param loser – loser of verification game.\n function sessionDecided(bytes32 superblockHash, address winner, address loser) external onlyBattleManager {\n SuperblockClaim storage claim = claims[superblockHash];\n\n require(claimExists(claim));\n\n claim.verificationOngoing = false;\n address submitter = claim.submitter;\n\n if (submitter == loser) {\n claim.invalid = true;\n } else if (submitter == winner) {\n claim.challengeDefended = true;\n }\n else{\n revert();\n }\n emit SuperblockBattleDecided(superblockHash, winner, loser);\n }\n\n // @dev - Pay challenger 2 eth and 0.7 to previous submitters, leave 0.3 effectively unspendable\n function doPayChallenger(bytes32 superblockHash, SuperblockClaim storage claim) private {\n address challenger = claim.challenger;\n address submitter = claim.submitter;\n\n if (challenger != address(0) && submitter != address(0)) {\n uint reward = claim.bondedDeposits[submitter];\n reward -= 1000000000000000000; // 1 ether\n claim.bondedDeposits[challenger] = claim.bondedDeposits[challenger].add(reward);\n unbondDeposit(superblockHash, challenger);\n delete claim.bondedDeposits[submitter];\n // distribute 0.7 eth to last 7 approved superblock submitters (0.1 each)\n uint numPaid = 0;\n address prevSubmitter;\n SyscoinSuperblocksI.Status status;\n while (numPaid < 7) {\n (,,,,,superblockHash,prevSubmitter,status,) = trustedSuperblocks.getSuperblock(superblockHash);\n if(superblockHash == 0x0)\n break;\n if (status != SyscoinSuperblocksI.Status.Approved) {\n continue;\n }\n deposits[prevSubmitter] = deposits[prevSubmitter].add(100000000000000000); // 0.1 ether\n numPaid++;\n } \n }\n }\n\n // @dev - Pay submitter with challenger deposit\n function doPaySubmitter(bytes32 superblockHash, SuperblockClaim storage claim) private {\n address challenger = claim.challenger;\n address submitter = claim.submitter;\n if (challenger != address(0)) {\n uint reward = claim.bondedDeposits[challenger];\n claim.bondedDeposits[submitter] = claim.bondedDeposits[submitter].add(reward);\n delete claim.bondedDeposits[challenger];\n }\n if (submitter != address(0)) {\n unbondDeposit(superblockHash, submitter);\n }\n }\n\n // @dev - Check if a superblock can be semi approved by calling checkClaimFinished\n function getInBattleAndSemiApprovable(bytes32 superblockHash) external view returns (bool) {\n SuperblockClaim storage claim = claims[superblockHash];\n return (trustedSuperblocks.getSuperblockStatus(superblockHash) == SyscoinSuperblocksI.Status.InBattle &&\n !claim.invalid && !claim.verificationOngoing && block.timestamp > claim.challengeTimeout\n && claim.challenger != address(0));\n }\n\n // @dev – Check if a claim exists\n function claimExists(SuperblockClaim storage claim) private view returns (bool) {\n return (claim.submitter != address(0));\n }\n\n // @dev - Return a given superblock's submitter\n function getClaimSubmitter(bytes32 superblockHash) external view returns (address) {\n return claims[superblockHash].submitter;\n }\n\n // @dev - Return superblock submission timestamp\n function getNewSuperblockEventTimestamp(bytes32 superblockHash) external view returns (uint) {\n return claims[superblockHash].createdAt;\n }\n\n // @dev - Return whether or not a claim has already been made\n function getClaimExists(bytes32 superblockHash) external view returns (bool) {\n return claimExists(claims[superblockHash]);\n }\n\n // @dev - Return claim status\n function getClaimDecided(bytes32 superblockHash) external view returns (bool) {\n return claims[superblockHash].decided;\n }\n\n // @dev - Check if a claim is invalid\n function getClaimInvalid(bytes32 superblockHash) external view returns (bool) {\n return claims[superblockHash].invalid;\n }\n\n\n function getClaimChallenger(bytes32 superblockHash) external view returns (address) {\n SuperblockClaim storage claim = claims[superblockHash];\n return claim.challenger;\n }\n}\n", "sourcePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinClaimManager.sol", "ast": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinClaimManager.sol", "exportedSymbols": { "SyscoinClaimManager": [ - 4337 + 4338 ] }, - "id": 4338, + "id": 4339, "nodeType": "SourceUnit", "nodes": [ { @@ -963,8 +994,8 @@ "file": "./interfaces/SyscoinSuperblocksI.sol", "id": 2540, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 7791, + "scope": 4339, + "sourceUnit": 8313, "src": "26:46:2", "symbolAliases": [], "unitAlias": "" @@ -974,8 +1005,8 @@ "file": "./interfaces/SyscoinClaimManagerI.sol", "id": 2541, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 7598, + "scope": 4339, + "sourceUnit": 8098, "src": "73:47:2", "symbolAliases": [], "unitAlias": "" @@ -985,8 +1016,8 @@ "file": "./interfaces/SyscoinBattleManagerI.sol", "id": 2542, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 7560, + "scope": 4339, + "sourceUnit": 8060, "src": "121:48:2", "symbolAliases": [], "unitAlias": "" @@ -996,8 +1027,8 @@ "file": "./SyscoinDepositsManager.sol", "id": 2543, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 4471, + "scope": 4339, + "sourceUnit": 4480, "src": "170:38:2", "symbolAliases": [], "unitAlias": "" @@ -1007,8 +1038,8 @@ "file": "./SyscoinErrorCodes.sol", "id": 2544, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 4678, + "scope": 4339, + "sourceUnit": 4687, "src": "209:33:2", "symbolAliases": [], "unitAlias": "" @@ -1018,8 +1049,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2545, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 8937, + "scope": 4339, + "sourceUnit": 9556, "src": "243:59:2", "symbolAliases": [], "unitAlias": "" @@ -1029,8 +1060,8 @@ "file": "@openzeppelin/upgrades/contracts/Initializable.sol", "id": 2546, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 8723, + "scope": 4339, + "sourceUnit": 9342, "src": "303:60:2", "symbolAliases": [], "unitAlias": "" @@ -1044,10 +1075,10 @@ "id": 2547, "name": "Initializable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8722, + "referencedDeclaration": 9341, "src": "486:13:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_Initializable_$8722", + "typeIdentifier": "t_contract$_Initializable_$9341", "typeString": "contract Initializable" } }, @@ -1062,10 +1093,10 @@ "id": 2549, "name": "SyscoinDepositsManager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4470, + "referencedDeclaration": 4479, "src": "501:22:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinDepositsManager_$4470", + "typeIdentifier": "t_contract$_SyscoinDepositsManager_$4479", "typeString": "contract SyscoinDepositsManager" } }, @@ -1080,10 +1111,10 @@ "id": 2551, "name": "SyscoinErrorCodes", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4677, + "referencedDeclaration": 4686, "src": "525:17:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinErrorCodes_$4677", + "typeIdentifier": "t_contract$_SyscoinErrorCodes_$4686", "typeString": "contract SyscoinErrorCodes" } }, @@ -1093,19 +1124,19 @@ } ], "contractDependencies": [ - 4470, - 4677, - 8722 + 4479, + 4686, + 9341 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 4337, + "id": 4338, "linearizedBaseContracts": [ - 4337, - 4677, - 4470, - 8722 + 4338, + 4686, + 4479, + 9341 ], "name": "SyscoinClaimManager", "nodeType": "ContractDefinition", @@ -1117,10 +1148,10 @@ "id": 2553, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8936, + "referencedDeclaration": 9555, "src": "556:8:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8936", + "typeIdentifier": "t_contract$_SafeMath_$9555", "typeString": "library SafeMath" } }, @@ -1142,7 +1173,7 @@ "id": 2558, "name": "MAX_FUTURE_BLOCK_TIME_SYSCOIN", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "580:50:2", "stateVariable": true, "storageLocation": "default", @@ -1185,7 +1216,7 @@ "id": 2561, "name": "MAX_FUTURE_BLOCK_TIME_ETHEREUM", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "636:49:2", "stateVariable": true, "storageLocation": "default", @@ -1511,7 +1542,7 @@ ], "name": "SuperblockClaim", "nodeType": "StructDefinition", - "scope": 4337, + "scope": 4338, "src": "691:873:2", "visibility": "public" }, @@ -1520,7 +1551,7 @@ "id": 2588, "name": "claims", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "1602:50:2", "stateVariable": true, "storageLocation": "default", @@ -1567,12 +1598,12 @@ "id": 2590, "name": "trustedSuperblocks", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "1687:45:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" }, "typeName": { @@ -1580,10 +1611,10 @@ "id": 2589, "name": "SyscoinSuperblocksI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7790, + "referencedDeclaration": 8312, "src": "1687:19:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -1595,12 +1626,12 @@ "id": 2592, "name": "trustedSyscoinBattleManager", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "1770:56:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" }, "typeName": { @@ -1608,10 +1639,10 @@ "id": 2591, "name": "SyscoinBattleManagerI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7559, + "referencedDeclaration": 8059, "src": "1770:21:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } }, @@ -1623,7 +1654,7 @@ "id": 2594, "name": "superblockConfirmations", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "1900:35:2", "stateVariable": true, "storageLocation": "default", @@ -1649,7 +1680,7 @@ "id": 2596, "name": "superblockDelay", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "1942:27:2", "stateVariable": true, "storageLocation": "default", @@ -1675,7 +1706,7 @@ "id": 2598, "name": "superblockTimeout", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "2031:29:2", "stateVariable": true, "storageLocation": "default", @@ -1701,7 +1732,7 @@ "id": 2600, "name": "inProcessCounter", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "2102:28:2", "stateVariable": true, "storageLocation": "default", @@ -2641,7 +2672,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "3148:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2676,7 +2707,7 @@ "referencedDeclaration": 2592, "src": "3170:27:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } } @@ -2684,7 +2715,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } ], @@ -2733,10 +2764,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "3140:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -2821,7 +2852,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "3274:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2856,7 +2887,7 @@ "referencedDeclaration": 2592, "src": "3296:27:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } } @@ -2864,7 +2895,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } ], @@ -2922,7 +2953,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "3328:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2954,10 +2985,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10220, + "referencedDeclaration": 11134, "src": "3350:4:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManager_$4337", + "typeIdentifier": "t_contract$_SyscoinClaimManager_$4338", "typeString": "contract SyscoinClaimManager" } } @@ -2965,7 +2996,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinClaimManager_$4337", + "typeIdentifier": "t_contract$_SyscoinClaimManager_$4338", "typeString": "contract SyscoinClaimManager" } ], @@ -3020,10 +3051,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "3266:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -3091,7 +3122,7 @@ "referencedDeclaration": 2590, "src": "4076:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -3106,13 +3137,13 @@ "referencedDeclaration": 2709, "src": "4097:12:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, "src": "4076:33:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -3137,7 +3168,7 @@ "referencedDeclaration": 2592, "src": "4119:27:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } }, @@ -3152,13 +3183,13 @@ "referencedDeclaration": 2711, "src": "4149:21:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } }, "src": "4119:51:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } }, @@ -3371,7 +3402,7 @@ "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8703, + "referencedDeclaration": 9322, "src": "4054:11:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -3398,7 +3429,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" }, "typeName": { @@ -3406,10 +3437,10 @@ "id": 2708, "name": "SyscoinSuperblocksI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7790, + "referencedDeclaration": 8312, "src": "3852:19:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -3426,7 +3457,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" }, "typeName": { @@ -3434,10 +3465,10 @@ "id": 2710, "name": "SyscoinBattleManagerI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7559, + "referencedDeclaration": 8059, "src": "3894:21:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } }, @@ -3531,7 +3562,7 @@ "parameters": [], "src": "4066:0:2" }, - "scope": 4337, + "scope": 4338, "src": "3829:530:2", "stateMutability": "nonpayable", "superFunction": null, @@ -3661,7 +3692,7 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, + "referencedDeclaration": 4254, "src": "4826:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", @@ -3703,7 +3734,7 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4610, "src": "4867:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3738,7 +3769,7 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "4916:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", @@ -3807,7 +3838,7 @@ "name": "ERR_SUPERBLOCK_MIN_DEPOSIT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4577, + "referencedDeclaration": 4586, "src": "4965:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3838,7 +3869,7 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "5012:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", @@ -3904,7 +3935,7 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "5032:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", @@ -3943,7 +3974,7 @@ "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8792, + "referencedDeclaration": 9411, "src": "5032:21:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -4127,7 +4158,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, + "referencedDeclaration": 9395, "src": "5103:33:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -4253,7 +4284,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "5223:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4413,7 +4444,7 @@ ], "src": "4739:6:2" }, - "scope": 4337, + "scope": 4338, "src": "4625:622:2", "stateMutability": "nonpayable", "superFunction": null, @@ -4535,7 +4566,7 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, + "referencedDeclaration": 4254, "src": "5628:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", @@ -4568,10 +4599,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "5620:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -4760,7 +4791,7 @@ ], "src": "5539:6:2" }, - "scope": 4337, + "scope": 4338, "src": "5450:250:2", "stateMutability": "view", "superFunction": null, @@ -4770,7 +4801,7 @@ "body": { "id": 2914, "nodeType": "Block", - "src": "6016:554:2", + "src": "6015:554:2", "statements": [ { "assignments": [ @@ -4783,7 +4814,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 2914, - "src": "6026:29:2", + "src": "6025:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -4796,7 +4827,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "6026:15:2", + "src": "6025:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -4816,7 +4847,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "6058:6:2", + "src": "6057:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -4830,7 +4861,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2846, - "src": "6065:14:2", + "src": "6064:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4841,14 +4872,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6058:22:2", + "src": "6057:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "6026:54:2" + "src": "6025:54:2" }, { "condition": { @@ -4861,7 +4892,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "6094:19:2", + "src": "6093:19:2", "subExpression": { "argumentTypes": null, "arguments": [ @@ -4872,7 +4903,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2856, - "src": "6107:5:2", + "src": "6106:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -4890,8 +4921,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "6095:11:2", + "referencedDeclaration": 4254, + "src": "6094:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -4905,7 +4936,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6095:18:2", + "src": "6094:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4919,11 +4950,11 @@ "falseBody": null, "id": 2870, "nodeType": "IfStatement", - "src": "6090:86:2", + "src": "6089:86:2", "trueBody": { "id": 2869, "nodeType": "Block", - "src": "6115:61:2", + "src": "6114:61:2", "statements": [ { "expression": { @@ -4935,8 +4966,8 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "6137:24:2", + "referencedDeclaration": 4610, + "src": "6136:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4952,7 +4983,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6163:1:2", + "src": "6162:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4968,7 +4999,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "6136:29:2", + "src": "6135:29:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -4977,7 +5008,7 @@ "functionReturnParameters": 2854, "id": 2868, "nodeType": "Return", - "src": "6129:36:2" + "src": "6128:36:2" } ] } @@ -4993,7 +5024,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "6189:14:2", + "src": "6188:14:2", "subExpression": { "argumentTypes": null, "expression": { @@ -5003,7 +5034,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2856, - "src": "6190:5:2", + "src": "6189:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -5017,7 +5048,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "6190:13:2", + "src": "6189:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5031,11 +5062,11 @@ "falseBody": null, "id": 2879, "nodeType": "IfStatement", - "src": "6185:82:2", + "src": "6184:82:2", "trueBody": { "id": 2878, "nodeType": "Block", - "src": "6205:62:2", + "src": "6204:62:2", "statements": [ { "expression": { @@ -5047,8 +5078,8 @@ "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "6227:25:2", + "referencedDeclaration": 4523, + "src": "6226:25:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5064,7 +5095,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6254:1:2", + "src": "6253:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5080,7 +5111,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "6226:30:2", + "src": "6225:30:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -5089,7 +5120,7 @@ "functionReturnParameters": 2854, "id": 2877, "nodeType": "Return", - "src": "6219:37:2" + "src": "6218:37:2" } ] } @@ -5105,7 +5136,7 @@ "name": "bondedDeposit", "nodeType": "VariableDeclaration", "scope": 2914, - "src": "6277:18:2", + "src": "6276:18:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5116,7 +5147,7 @@ "id": 2880, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6277:4:2", + "src": "6276:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5138,7 +5169,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2856, - "src": "6298:5:2", + "src": "6297:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -5152,7 +5183,7 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "6298:20:2", + "src": "6297:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -5166,7 +5197,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2848, - "src": "6319:7:2", + "src": "6318:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5177,14 +5208,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6298:29:2", + "src": "6297:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6277:50:2" + "src": "6276:50:2" }, { "expression": { @@ -5197,7 +5228,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "6338:36:2", + "src": "6337:36:2", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -5209,7 +5240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2856, - "src": "6345:5:2", + "src": "6344:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -5223,7 +5254,7 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "6345:20:2", + "src": "6344:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -5237,7 +5268,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2848, - "src": "6366:7:2", + "src": "6365:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5248,7 +5279,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6345:29:2", + "src": "6344:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5261,7 +5292,7 @@ }, "id": 2892, "nodeType": "ExpressionStatement", - "src": "6338:36:2" + "src": "6337:36:2" }, { "expression": { @@ -5279,8 +5310,8 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "6384:8:2", + "referencedDeclaration": 4348, + "src": "6383:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -5294,7 +5325,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2848, - "src": "6393:7:2", + "src": "6392:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5305,7 +5336,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6384:17:2", + "src": "6383:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5323,7 +5354,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2881, - "src": "6426:13:2", + "src": "6425:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5345,8 +5376,8 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "6404:8:2", + "referencedDeclaration": 4348, + "src": "6403:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -5360,7 +5391,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2848, - "src": "6413:7:2", + "src": "6412:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5371,7 +5402,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6404:17:2", + "src": "6403:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5384,8 +5415,8 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "6404:21:2", + "referencedDeclaration": 9395, + "src": "6403:21:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -5399,13 +5430,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6404:36:2", + "src": "6403:36:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6384:56:2", + "src": "6383:56:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5413,7 +5444,7 @@ }, "id": 2903, "nodeType": "ExpressionStatement", - "src": "6384:56:2" + "src": "6383:56:2" }, { "eventCall": { @@ -5426,7 +5457,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2846, - "src": "6472:14:2", + "src": "6471:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5439,7 +5470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2848, - "src": "6488:7:2", + "src": "6487:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5452,7 +5483,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2881, - "src": "6497:13:2", + "src": "6496:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5479,7 +5510,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2616, - "src": "6456:15:2", + "src": "6455:15:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -5493,7 +5524,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6456:55:2", + "src": "6455:55:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5501,7 +5532,7 @@ }, "id": 2909, "nodeType": "EmitStatement", - "src": "6451:60:2" + "src": "6450:60:2" }, { "expression": { @@ -5513,8 +5544,8 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "6530:17:2", + "referencedDeclaration": 4517, + "src": "6529:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5527,7 +5558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2881, - "src": "6549:13:2", + "src": "6548:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5541,7 +5572,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "6529:34:2", + "src": "6528:34:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -5550,7 +5581,7 @@ "functionReturnParameters": 2854, "id": 2913, "nodeType": "Return", - "src": "6522:41:2" + "src": "6521:41:2" } ] }, @@ -5631,7 +5662,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 2915, - "src": "6004:4:2", + "src": "6003:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5642,7 +5673,7 @@ "id": 2850, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6004:4:2", + "src": "6003:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5657,7 +5688,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 2915, - "src": "6010:4:2", + "src": "6009:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5668,7 +5699,7 @@ "id": 2852, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6010:4:2", + "src": "6009:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5678,19 +5709,19 @@ "visibility": "internal" } ], - "src": "6003:12:2" + "src": "6002:12:2" }, - "scope": 4337, - "src": "5923:647:2", + "scope": 4338, + "src": "5923:646:2", "stateMutability": "nonpayable", "superFunction": null, - "visibility": "private" + "visibility": "public" }, { "body": { "id": 3167, "nodeType": "Block", - "src": "7350:2381:2", + "src": "7349:2381:2", "statements": [ { "expression": { @@ -5717,9 +5748,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "7376:18:2", + "src": "7375:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } } @@ -5727,7 +5758,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } ], @@ -5737,7 +5768,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7368:7:2", + "src": "7367:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -5752,7 +5783,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7368:27:2", + "src": "7367:27:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5773,7 +5804,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7407:1:2", + "src": "7406:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5795,7 +5826,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7399:7:2", + "src": "7398:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -5810,13 +5841,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7399:10:2", + "src": "7398:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7368:41:2", + "src": "7367:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5834,11 +5865,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "7360:7:2", + "referencedDeclaration": 11101, + "src": "7359:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -5852,7 +5883,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7360:50:2", + "src": "7359:50:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5860,7 +5891,7 @@ }, "id": 2943, "nodeType": "ExpressionStatement", - "src": "7360:50:2" + "src": "7359:50:2" }, { "condition": { @@ -5881,7 +5912,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "7433:16:2", + "src": "7432:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5899,7 +5930,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7453:2:2", + "src": "7452:2:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -5907,7 +5938,7 @@ }, "value": "10" }, - "src": "7433:22:2", + "src": "7432:22:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5916,11 +5947,11 @@ "falseBody": null, "id": 2957, "nodeType": "IfStatement", - "src": "7429:168:2", + "src": "7428:168:2", "trueBody": { "id": 2956, "nodeType": "Block", - "src": "7456:141:2", + "src": "7455:141:2", "statements": [ { "eventCall": { @@ -5936,7 +5967,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7486:1:2", + "src": "7485:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5950,8 +5981,8 @@ "name": "ERR_SUPERBLOCK_MAX_INPROGRESS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4571, - "src": "7489:29:2", + "referencedDeclaration": 4580, + "src": "7488:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5974,7 +6005,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "7475:10:2", + "src": "7474:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -5988,7 +6019,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7475:44:2", + "src": "7474:44:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5996,7 +6027,7 @@ }, "id": 2951, "nodeType": "EmitStatement", - "src": "7470:49:2" + "src": "7469:49:2" }, { "expression": { @@ -6008,8 +6039,8 @@ "name": "ERR_SUPERBLOCK_MAX_INPROGRESS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4571, - "src": "7541:29:2", + "referencedDeclaration": 4580, + "src": "7540:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6025,7 +6056,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7572:1:2", + "src": "7571:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6041,7 +6072,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7540:34:2", + "src": "7539:34:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -6050,7 +6081,7 @@ "functionReturnParameters": 2933, "id": 2955, "nodeType": "Return", - "src": "7533:41:2" + "src": "7532:41:2" } ] } @@ -6075,8 +6106,8 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "7610:8:2", + "referencedDeclaration": 4348, + "src": "7609:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -6091,8 +6122,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "7619:3:2", + "referencedDeclaration": 11098, + "src": "7618:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -6106,7 +6137,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7619:10:2", + "src": "7618:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -6117,7 +6148,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7610:20:2", + "src": "7609:20:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6131,14 +6162,14 @@ "name": "minProposalDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "7633:18:2", + "referencedDeclaration": 4685, + "src": "7632:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7610:41:2", + "src": "7609:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6147,11 +6178,11 @@ "falseBody": null, "id": 2974, "nodeType": "IfStatement", - "src": "7606:170:2", + "src": "7605:170:2", "trueBody": { "id": 2973, "nodeType": "Block", - "src": "7653:123:2", + "src": "7652:123:2", "statements": [ { "eventCall": { @@ -6167,7 +6198,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7683:1:2", + "src": "7682:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6181,8 +6212,8 @@ "name": "ERR_SUPERBLOCK_MIN_DEPOSIT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4577, - "src": "7686:26:2", + "referencedDeclaration": 4586, + "src": "7685:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6205,7 +6236,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "7672:10:2", + "src": "7671:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -6219,7 +6250,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7672:41:2", + "src": "7671:41:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6227,7 +6258,7 @@ }, "id": 2968, "nodeType": "EmitStatement", - "src": "7667:46:2" + "src": "7666:46:2" }, { "expression": { @@ -6239,8 +6270,8 @@ "name": "ERR_SUPERBLOCK_MIN_DEPOSIT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4577, - "src": "7735:26:2", + "referencedDeclaration": 4586, + "src": "7734:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6256,7 +6287,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7763:1:2", + "src": "7762:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6272,7 +6303,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7734:31:2", + "src": "7733:31:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -6281,7 +6312,7 @@ "functionReturnParameters": 2933, "id": 2972, "nodeType": "Return", - "src": "7727:38:2" + "src": "7726:38:2" } ] } @@ -6316,7 +6347,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2921, - "src": "7790:13:2", + "src": "7789:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6331,13 +6362,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, - "src": "7806:15:2", + "src": "7805:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7790:31:2", + "src": "7789:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6353,8 +6384,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "7824:5:2", + "referencedDeclaration": 11088, + "src": "7823:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -6368,13 +6399,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7824:15:2", + "src": "7823:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7790:49:2", + "src": "7789:49:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6383,11 +6414,11 @@ "falseBody": null, "id": 2991, "nodeType": "IfStatement", - "src": "7786:190:2", + "src": "7785:190:2", "trueBody": { "id": 2990, "nodeType": "Block", - "src": "7841:135:2", + "src": "7840:135:2", "statements": [ { "eventCall": { @@ -6403,7 +6434,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7871:1:2", + "src": "7870:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6417,8 +6448,8 @@ "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP_MTP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4589, - "src": "7874:32:2", + "referencedDeclaration": 4598, + "src": "7873:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6441,7 +6472,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "7860:10:2", + "src": "7859:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -6455,7 +6486,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7860:47:2", + "src": "7859:47:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6463,7 +6494,7 @@ }, "id": 2985, "nodeType": "EmitStatement", - "src": "7855:52:2" + "src": "7854:52:2" }, { "expression": { @@ -6475,8 +6506,8 @@ "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP_MTP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4589, - "src": "7929:32:2", + "referencedDeclaration": 4598, + "src": "7928:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6492,7 +6523,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7963:1:2", + "src": "7962:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6508,7 +6539,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7928:37:2", + "src": "7927:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -6517,7 +6548,7 @@ "functionReturnParameters": 2933, "id": 2989, "nodeType": "Return", - "src": "7921:44:2" + "src": "7920:44:2" } ] } @@ -6564,8 +6595,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "7990:5:2", + "referencedDeclaration": 11088, + "src": "7989:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -6579,7 +6610,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7990:15:2", + "src": "7989:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6594,13 +6625,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2558, - "src": "8008:29:2", + "src": "8007:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7990:47:2", + "src": "7989:47:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6615,13 +6646,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2561, - "src": "8040:30:2", + "src": "8039:30:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7990:80:2", + "src": "7989:80:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6636,13 +6667,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2919, - "src": "8074:10:2", + "src": "8073:10:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7990:94:2", + "src": "7989:94:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6651,11 +6682,11 @@ "falseBody": null, "id": 3010, "nodeType": "IfStatement", - "src": "7986:227:2", + "src": "7985:227:2", "trueBody": { "id": 3009, "nodeType": "Block", - "src": "8086:127:2", + "src": "8085:127:2", "statements": [ { "eventCall": { @@ -6671,7 +6702,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8116:1:2", + "src": "8115:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6685,8 +6716,8 @@ "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4526, - "src": "8119:28:2", + "referencedDeclaration": 4535, + "src": "8118:28:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6709,7 +6740,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "8105:10:2", + "src": "8104:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -6723,7 +6754,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8105:43:2", + "src": "8104:43:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6731,7 +6762,7 @@ }, "id": 3004, "nodeType": "EmitStatement", - "src": "8100:48:2" + "src": "8099:48:2" }, { "expression": { @@ -6743,8 +6774,8 @@ "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4526, - "src": "8170:28:2", + "referencedDeclaration": 4535, + "src": "8169:28:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6760,7 +6791,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8200:1:2", + "src": "8199:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6776,7 +6807,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8169:33:2", + "src": "8168:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -6785,7 +6816,7 @@ "functionReturnParameters": 2933, "id": 3008, "nodeType": "Return", - "src": "8162:40:2" + "src": "8161:40:2" } ] } @@ -6801,7 +6832,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3167, - "src": "8223:8:2", + "src": "8222:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6812,7 +6843,7 @@ "id": 3011, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "8223:4:2", + "src": "8222:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6825,7 +6856,7 @@ "id": 3013, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "8223:8:2" + "src": "8222:8:2" }, { "assignments": [ @@ -6838,7 +6869,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 3167, - "src": "8241:22:2", + "src": "8240:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6849,7 +6880,7 @@ "id": 3014, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8241:7:2", + "src": "8240:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6862,7 +6893,7 @@ "id": 3016, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "8241:22:2" + "src": "8240:22:2" }, { "expression": { @@ -6882,7 +6913,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3012, - "src": "8274:3:2", + "src": "8273:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6895,7 +6926,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "8279:14:2", + "src": "8278:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6909,7 +6940,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "8273:21:2", + "src": "8272:21:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -6927,7 +6958,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2917, - "src": "8324:17:2", + "src": "8323:17:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6940,7 +6971,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2919, - "src": "8343:10:2", + "src": "8342:10:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6953,7 +6984,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2921, - "src": "8355:13:2", + "src": "8354:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6966,7 +6997,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2923, - "src": "8370:9:2", + "src": "8369:9:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6979,7 +7010,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2925, - "src": "8381:9:2", + "src": "8380:9:2", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -6992,7 +7023,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2927, - "src": "8392:11:2", + "src": "8391:11:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7006,8 +7037,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "8405:3:2", + "referencedDeclaration": 11098, + "src": "8404:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -7021,7 +7052,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8405:10:2", + "src": "8404:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -7066,9 +7097,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "8297:18:2", + "src": "8296:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -7079,8 +7110,8 @@ "lValueRequested": false, "memberName": "propose", "nodeType": "MemberAccess", - "referencedDeclaration": 7657, - "src": "8297:26:2", + "referencedDeclaration": 8158, + "src": "8296:26:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$returns$_t_uint256_$_t_bytes32_$", "typeString": "function (bytes32,uint256,uint256,bytes32,uint32,bytes32,address) external returns (uint256,bytes32)" @@ -7094,13 +7125,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8297:119:2", + "src": "8296:119:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" } }, - "src": "8273:143:2", + "src": "8272:143:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7108,7 +7139,7 @@ }, "id": 3032, "nodeType": "ExpressionStatement", - "src": "8273:143:2" + "src": "8272:143:2" }, { "condition": { @@ -7129,7 +7160,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3012, - "src": "8430:3:2", + "src": "8429:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7147,7 +7178,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8437:1:2", + "src": "8436:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7155,7 +7186,7 @@ }, "value": "0" }, - "src": "8430:8:2", + "src": "8429:8:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7164,11 +7195,11 @@ "falseBody": null, "id": 3046, "nodeType": "IfStatement", - "src": "8426:117:2", + "src": "8425:117:2", "trueBody": { "id": 3045, "nodeType": "Block", - "src": "8440:103:2", + "src": "8439:103:2", "statements": [ { "eventCall": { @@ -7181,7 +7212,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "8470:14:2", + "src": "8469:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7194,7 +7225,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3012, - "src": "8486:3:2", + "src": "8485:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7217,7 +7248,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "8459:10:2", + "src": "8458:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -7231,7 +7262,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8459:31:2", + "src": "8458:31:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7239,7 +7270,7 @@ }, "id": 3040, "nodeType": "EmitStatement", - "src": "8454:36:2" + "src": "8453:36:2" }, { "expression": { @@ -7252,7 +7283,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3012, - "src": "8512:3:2", + "src": "8511:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7265,7 +7296,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "8517:14:2", + "src": "8516:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7279,7 +7310,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8511:21:2", + "src": "8510:21:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -7288,7 +7319,7 @@ "functionReturnParameters": 2933, "id": 3044, "nodeType": "Return", - "src": "8504:28:2" + "src": "8503:28:2" } ] } @@ -7304,7 +7335,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 3167, - "src": "8554:29:2", + "src": "8553:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -7317,7 +7348,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "8554:15:2", + "src": "8553:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -7337,7 +7368,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "8586:6:2", + "src": "8585:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -7351,7 +7382,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "8593:14:2", + "src": "8592:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7362,14 +7393,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8586:22:2", + "src": "8585:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "8554:54:2" + "src": "8553:54:2" }, { "condition": { @@ -7382,7 +7413,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "8934:5:2", + "src": "8933:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -7400,8 +7431,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "8922:11:2", + "referencedDeclaration": 4254, + "src": "8921:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -7415,7 +7446,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8922:18:2", + "src": "8921:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7424,11 +7455,11 @@ "falseBody": null, "id": 3075, "nodeType": "IfStatement", - "src": "8918:137:2", + "src": "8917:137:2", "trueBody": { "id": 3074, "nodeType": "Block", - "src": "8942:113:2", + "src": "8941:113:2", "statements": [ { "expression": { @@ -7476,7 +7507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "8964:5:2", + "src": "8963:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -7490,7 +7521,7 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "8964:13:2", + "src": "8963:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7508,7 +7539,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8981:4:2", + "src": "8980:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7516,7 +7547,7 @@ }, "value": "true" }, - "src": "8964:21:2", + "src": "8963:21:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7544,7 +7575,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "8989:5:2", + "src": "8988:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -7558,7 +7589,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "8989:13:2", + "src": "8988:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7576,7 +7607,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9006:4:2", + "src": "9005:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7584,13 +7615,13 @@ }, "value": "true" }, - "src": "8989:21:2", + "src": "8988:21:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "8964:46:2", + "src": "8963:46:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7618,7 +7649,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9014:5:2", + "src": "9013:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -7632,7 +7663,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "9014:15:2", + "src": "9013:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7648,8 +7679,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "9033:3:2", + "referencedDeclaration": 11098, + "src": "9032:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -7663,19 +7694,19 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9033:10:2", + "src": "9032:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9014:29:2", + "src": "9013:29:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "8964:79:2", + "src": "8963:79:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7693,11 +7724,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "8956:7:2", + "referencedDeclaration": 11101, + "src": "8955:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -7711,7 +7742,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8956:88:2", + "src": "8955:88:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7719,7 +7750,7 @@ }, "id": 3073, "nodeType": "ExpressionStatement", - "src": "8956:88:2" + "src": "8955:88:2" } ] } @@ -7741,7 +7772,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9065:5:2", + "src": "9064:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -7755,7 +7786,7 @@ "memberName": "superblockHash", "nodeType": "MemberAccess", "referencedDeclaration": 2563, - "src": "9065:20:2", + "src": "9064:20:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7770,13 +7801,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "9088:14:2", + "src": "9087:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "9065:37:2", + "src": "9064:37:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7784,7 +7815,7 @@ }, "id": 3081, "nodeType": "ExpressionStatement", - "src": "9065:37:2" + "src": "9064:37:2" }, { "expression": { @@ -7803,7 +7834,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9112:5:2", + "src": "9111:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -7817,7 +7848,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "9112:15:2", + "src": "9111:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7833,8 +7864,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "9130:3:2", + "referencedDeclaration": 11098, + "src": "9129:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -7848,13 +7879,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9130:10:2", + "src": "9129:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9112:28:2", + "src": "9111:28:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7862,7 +7893,7 @@ }, "id": 3088, "nodeType": "ExpressionStatement", - "src": "9112:28:2" + "src": "9111:28:2" }, { "expression": { @@ -7881,7 +7912,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9150:5:2", + "src": "9149:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -7895,7 +7926,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "9150:16:2", + "src": "9149:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7916,7 +7947,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9177:1:2", + "src": "9176:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7938,7 +7969,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9169:7:2", + "src": "9168:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -7953,13 +7984,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9169:10:2", + "src": "9168:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9150:29:2", + "src": "9149:29:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7967,7 +7998,7 @@ }, "id": 3096, "nodeType": "ExpressionStatement", - "src": "9150:29:2" + "src": "9149:29:2" }, { "expression": { @@ -7986,7 +8017,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9189:5:2", + "src": "9188:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -8000,7 +8031,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "9189:13:2", + "src": "9188:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8018,7 +8049,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9205:5:2", + "src": "9204:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8026,7 +8057,7 @@ }, "value": "false" }, - "src": "9189:21:2", + "src": "9188:21:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8034,7 +8065,7 @@ }, "id": 3102, "nodeType": "ExpressionStatement", - "src": "9189:21:2" + "src": "9188:21:2" }, { "expression": { @@ -8053,7 +8084,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9220:5:2", + "src": "9219:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -8067,7 +8098,7 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "9220:13:2", + "src": "9219:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8085,7 +8116,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9236:5:2", + "src": "9235:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8093,7 +8124,7 @@ }, "value": "false" }, - "src": "9220:21:2", + "src": "9219:21:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8101,7 +8132,7 @@ }, "id": 3108, "nodeType": "ExpressionStatement", - "src": "9220:21:2" + "src": "9219:21:2" }, { "expression": { @@ -8120,7 +8151,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9251:5:2", + "src": "9250:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -8134,7 +8165,7 @@ "memberName": "verificationOngoing", "nodeType": "MemberAccess", "referencedDeclaration": 2577, - "src": "9251:25:2", + "src": "9250:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8152,7 +8183,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9279:5:2", + "src": "9278:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8160,7 +8191,7 @@ }, "value": "false" }, - "src": "9251:33:2", + "src": "9250:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8168,7 +8199,7 @@ }, "id": 3114, "nodeType": "ExpressionStatement", - "src": "9251:33:2" + "src": "9250:33:2" }, { "expression": { @@ -8187,7 +8218,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9294:5:2", + "src": "9293:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -8201,7 +8232,7 @@ "memberName": "createdAt", "nodeType": "MemberAccess", "referencedDeclaration": 2569, - "src": "9294:15:2", + "src": "9293:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8217,8 +8248,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "9312:5:2", + "referencedDeclaration": 11088, + "src": "9311:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -8232,13 +8263,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9312:15:2", + "src": "9311:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9294:33:2", + "src": "9293:33:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8246,7 +8277,7 @@ }, "id": 3121, "nodeType": "ExpressionStatement", - "src": "9294:33:2" + "src": "9293:33:2" }, { "expression": { @@ -8265,7 +8296,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9337:5:2", + "src": "9336:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -8279,7 +8310,7 @@ "memberName": "challengeTimeout", "nodeType": "MemberAccess", "referencedDeclaration": 2575, - "src": "9337:22:2", + "src": "9336:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8306,8 +8337,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "9362:5:2", + "referencedDeclaration": 11088, + "src": "9361:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -8321,7 +8352,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9362:15:2", + "src": "9361:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8336,19 +8367,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2598, - "src": "9380:17:2", + "src": "9379:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9362:35:2", + "src": "9361:35:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9337:60:2", + "src": "9336:60:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8356,7 +8387,7 @@ }, "id": 3130, "nodeType": "ExpressionStatement", - "src": "9337:60:2" + "src": "9336:60:2" }, { "expression": { @@ -8375,7 +8406,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9407:5:2", + "src": "9406:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -8389,7 +8420,7 @@ "memberName": "challengeDefended", "nodeType": "MemberAccess", "referencedDeclaration": 2583, - "src": "9407:23:2", + "src": "9406:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8407,7 +8438,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9433:5:2", + "src": "9432:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8415,7 +8446,7 @@ }, "value": "false" }, - "src": "9407:31:2", + "src": "9406:31:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8423,7 +8454,7 @@ }, "id": 3136, "nodeType": "ExpressionStatement", - "src": "9407:31:2" + "src": "9406:31:2" }, { "expression": { @@ -8440,7 +8471,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3012, - "src": "9448:3:2", + "src": "9447:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8458,7 +8489,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "9471:14:2", + "src": "9470:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8472,8 +8503,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "9487:3:2", + "referencedDeclaration": 11098, + "src": "9486:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -8487,7 +8518,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9487:10:2", + "src": "9486:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -8499,8 +8530,8 @@ "name": "minProposalDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "9499:18:2", + "referencedDeclaration": 4685, + "src": "9498:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8528,10 +8559,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10220, - "src": "9454:4:2", + "referencedDeclaration": 11134, + "src": "9453:4:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManager_$4337", + "typeIdentifier": "t_contract$_SyscoinClaimManager_$4338", "typeString": "contract SyscoinClaimManager" } }, @@ -8543,7 +8574,7 @@ "memberName": "bondDeposit", "nodeType": "MemberAccess", "referencedDeclaration": 2817, - "src": "9454:16:2", + "src": "9453:16:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes32,address,uint256) external returns (uint256)" @@ -8557,13 +8588,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9454:64:2", + "src": "9453:64:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9448:70:2", + "src": "9447:70:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8571,7 +8602,7 @@ }, "id": 3146, "nodeType": "ExpressionStatement", - "src": "9448:70:2" + "src": "9447:70:2" }, { "expression": { @@ -8595,7 +8626,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3012, - "src": "9536:3:2", + "src": "9535:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8609,14 +8640,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "9543:17:2", + "referencedDeclaration": 4517, + "src": "9542:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9536:24:2", + "src": "9535:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8634,11 +8665,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "9528:7:2", + "referencedDeclaration": 11101, + "src": "9527:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8652,7 +8683,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9528:33:2", + "src": "9527:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8660,7 +8691,7 @@ }, "id": 3152, "nodeType": "ExpressionStatement", - "src": "9528:33:2" + "src": "9527:33:2" }, { "expression": { @@ -8673,7 +8704,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "9571:18:2", + "src": "9570:18:2", "subExpression": { "argumentTypes": null, "id": 3153, @@ -8681,7 +8712,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "9571:16:2", + "src": "9570:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8694,7 +8725,7 @@ }, "id": 3155, "nodeType": "ExpressionStatement", - "src": "9571:18:2" + "src": "9570:18:2" }, { "eventCall": { @@ -8707,7 +8738,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "9627:14:2", + "src": "9626:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8721,8 +8752,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "9643:3:2", + "referencedDeclaration": 11098, + "src": "9642:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -8736,7 +8767,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9643:10:2", + "src": "9642:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -8749,7 +8780,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "9655:16:2", + "src": "9654:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8776,7 +8807,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2624, - "src": "9604:22:2", + "src": "9603:22:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -8790,7 +8821,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9604:68:2", + "src": "9603:68:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8798,7 +8829,7 @@ }, "id": 3162, "nodeType": "EmitStatement", - "src": "9599:73:2" + "src": "9598:73:2" }, { "expression": { @@ -8810,8 +8841,8 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "9690:17:2", + "referencedDeclaration": 4517, + "src": "9689:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8824,7 +8855,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "9709:14:2", + "src": "9708:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8838,7 +8869,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "9689:35:2", + "src": "9688:35:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -8847,7 +8878,7 @@ "functionReturnParameters": 2933, "id": 3166, "nodeType": "Return", - "src": "9682:42:2" + "src": "9681:42:2" } ] }, @@ -8868,7 +8899,7 @@ "name": "_blocksMerkleRoot", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7150:25:2", + "src": "7149:25:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8879,7 +8910,7 @@ "id": 2916, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7150:7:2", + "src": "7149:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8894,7 +8925,7 @@ "name": "_timestamp", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7185:15:2", + "src": "7184:15:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8905,7 +8936,7 @@ "id": 2918, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7185:4:2", + "src": "7184:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8920,7 +8951,7 @@ "name": "_mtpTimestamp", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7210:18:2", + "src": "7209:18:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8931,7 +8962,7 @@ "id": 2920, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7210:4:2", + "src": "7209:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8946,7 +8977,7 @@ "name": "_lastHash", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7238:17:2", + "src": "7237:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8957,7 +8988,7 @@ "id": 2922, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7238:7:2", + "src": "7237:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8972,7 +9003,7 @@ "name": "_lastBits", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7265:16:2", + "src": "7264:16:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8983,7 +9014,7 @@ "id": 2924, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "7265:6:2", + "src": "7264:6:2", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8998,7 +9029,7 @@ "name": "_parentHash", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7291:19:2", + "src": "7290:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9009,7 +9040,7 @@ "id": 2926, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7291:7:2", + "src": "7290:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9019,7 +9050,7 @@ "visibility": "internal" } ], - "src": "7140:176:2" + "src": "7139:176:2" }, "returnParameters": { "id": 2933, @@ -9031,7 +9062,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7335:4:2", + "src": "7334:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9042,7 +9073,7 @@ "id": 2929, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7335:4:2", + "src": "7334:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9057,7 +9088,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7341:7:2", + "src": "7340:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9068,7 +9099,7 @@ "id": 2931, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7341:7:2", + "src": "7340:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9078,10 +9109,10 @@ "visibility": "internal" } ], - "src": "7334:15:2" + "src": "7333:15:2" }, - "scope": 4337, - "src": "7114:2617:2", + "scope": 4338, + "src": "7113:2617:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -9090,7 +9121,7 @@ "body": { "id": 3358, "nodeType": "Block", - "src": "9978:1954:2", + "src": "9977:1954:2", "statements": [ { "expression": { @@ -9117,9 +9148,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "10004:18:2", + "src": "10003:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } } @@ -9127,7 +9158,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } ], @@ -9137,7 +9168,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9996:7:2", + "src": "9995:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -9152,7 +9183,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9996:27:2", + "src": "9995:27:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9173,7 +9204,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10035:1:2", + "src": "10034:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9195,7 +9226,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "10027:7:2", + "src": "10026:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -9210,13 +9241,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10027:10:2", + "src": "10026:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9996:41:2", + "src": "9995:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9234,11 +9265,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "9988:7:2", + "referencedDeclaration": 11101, + "src": "9987:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -9252,7 +9283,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9988:50:2", + "src": "9987:50:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9260,7 +9291,7 @@ }, "id": 3186, "nodeType": "ExpressionStatement", - "src": "9988:50:2" + "src": "9987:50:2" }, { "assignments": [ @@ -9273,7 +9304,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 3358, - "src": "10049:29:2", + "src": "10048:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -9286,7 +9317,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "10049:15:2", + "src": "10048:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -9306,7 +9337,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "10081:6:2", + "src": "10080:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -9320,7 +9351,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10088:14:2", + "src": "10087:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9331,14 +9362,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10081:22:2", + "src": "10080:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "10049:54:2" + "src": "10048:54:2" }, { "condition": { @@ -9351,7 +9382,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "10118:19:2", + "src": "10117:19:2", "subExpression": { "argumentTypes": null, "arguments": [ @@ -9362,7 +9393,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "10131:5:2", + "src": "10130:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -9380,8 +9411,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "10119:11:2", + "referencedDeclaration": 4254, + "src": "10118:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -9395,7 +9426,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10119:18:2", + "src": "10118:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9409,11 +9440,11 @@ "falseBody": null, "id": 3207, "nodeType": "IfStatement", - "src": "10114:170:2", + "src": "10113:170:2", "trueBody": { "id": 3206, "nodeType": "Block", - "src": "10139:145:2", + "src": "10138:145:2", "statements": [ { "eventCall": { @@ -9426,7 +9457,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10169:14:2", + "src": "10168:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9438,8 +9469,8 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "10185:24:2", + "referencedDeclaration": 4610, + "src": "10184:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9462,7 +9493,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "10158:10:2", + "src": "10157:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -9476,7 +9507,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10158:52:2", + "src": "10157:52:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9484,7 +9515,7 @@ }, "id": 3201, "nodeType": "EmitStatement", - "src": "10153:57:2" + "src": "10152:57:2" }, { "expression": { @@ -9496,8 +9527,8 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "10232:24:2", + "referencedDeclaration": 4610, + "src": "10231:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9510,7 +9541,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10258:14:2", + "src": "10257:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9524,7 +9555,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "10231:42:2", + "src": "10230:42:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -9533,7 +9564,7 @@ "functionReturnParameters": 3176, "id": 3205, "nodeType": "Return", - "src": "10224:49:2" + "src": "10223:49:2" } ] } @@ -9559,7 +9590,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "10296:5:2", + "src": "10295:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -9573,7 +9604,7 @@ "memberName": "challengeDefended", "nodeType": "MemberAccess", "referencedDeclaration": 2583, - "src": "10296:23:2", + "src": "10295:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9591,7 +9622,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "10323:4:2", + "src": "10322:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -9599,7 +9630,7 @@ }, "value": "true" }, - "src": "10296:31:2", + "src": "10295:31:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9608,11 +9639,11 @@ "falseBody": null, "id": 3222, "nodeType": "IfStatement", - "src": "10293:217:2", + "src": "10292:217:2", "trueBody": { "id": 3221, "nodeType": "Block", - "src": "10328:182:2", + "src": "10327:182:2", "statements": [ { "eventCall": { @@ -9625,7 +9656,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10358:14:2", + "src": "10357:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9637,8 +9668,8 @@ "name": "ERR_SUPERBLOCK_CLAIM_ALREADY_DEFENDED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4634, - "src": "10374:37:2", + "referencedDeclaration": 4643, + "src": "10373:37:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9661,7 +9692,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "10347:10:2", + "src": "10346:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -9675,7 +9706,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10347:65:2", + "src": "10346:65:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9683,7 +9714,7 @@ }, "id": 3216, "nodeType": "EmitStatement", - "src": "10342:70:2" + "src": "10341:70:2" }, { "expression": { @@ -9695,8 +9726,8 @@ "name": "ERR_SUPERBLOCK_CLAIM_ALREADY_DEFENDED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4634, - "src": "10434:37:2", + "referencedDeclaration": 4643, + "src": "10433:37:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9709,7 +9740,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10473:14:2", + "src": "10472:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9723,7 +9754,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "10433:55:2", + "src": "10432:55:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -9732,7 +9763,7 @@ "functionReturnParameters": 3176, "id": 3220, "nodeType": "Return", - "src": "10426:62:2" + "src": "10425:62:2" } ] } @@ -9758,7 +9789,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "10523:5:2", + "src": "10522:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -9772,7 +9803,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "10523:13:2", + "src": "10522:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9789,7 +9820,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "10540:5:2", + "src": "10539:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -9803,13 +9834,13 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "10540:13:2", + "src": "10539:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10523:30:2", + "src": "10522:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9818,11 +9849,11 @@ "falseBody": null, "id": 3238, "nodeType": "IfStatement", - "src": "10519:189:2", + "src": "10518:189:2", "trueBody": { "id": 3237, "nodeType": "Block", - "src": "10555:153:2", + "src": "10554:153:2", "statements": [ { "eventCall": { @@ -9835,7 +9866,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10585:14:2", + "src": "10584:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9847,8 +9878,8 @@ "name": "ERR_SUPERBLOCK_CLAIM_DECIDED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "10601:28:2", + "referencedDeclaration": 4616, + "src": "10600:28:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9871,7 +9902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "10574:10:2", + "src": "10573:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -9885,7 +9916,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10574:56:2", + "src": "10573:56:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9893,7 +9924,7 @@ }, "id": 3232, "nodeType": "EmitStatement", - "src": "10569:61:2" + "src": "10568:61:2" }, { "expression": { @@ -9905,8 +9936,8 @@ "name": "ERR_SUPERBLOCK_CLAIM_DECIDED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "10652:28:2", + "referencedDeclaration": 4616, + "src": "10651:28:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9919,7 +9950,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10682:14:2", + "src": "10681:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9933,7 +9964,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "10651:46:2", + "src": "10650:46:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -9942,7 +9973,7 @@ "functionReturnParameters": 3176, "id": 3236, "nodeType": "Return", - "src": "10644:53:2" + "src": "10643:53:2" } ] } @@ -9957,7 +9988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "10721:5:2", + "src": "10720:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -9971,7 +10002,7 @@ "memberName": "verificationOngoing", "nodeType": "MemberAccess", "referencedDeclaration": 2577, - "src": "10721:25:2", + "src": "10720:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9980,11 +10011,11 @@ "falseBody": null, "id": 3251, "nodeType": "IfStatement", - "src": "10717:190:2", + "src": "10716:190:2", "trueBody": { "id": 3250, "nodeType": "Block", - "src": "10748:159:2", + "src": "10747:159:2", "statements": [ { "eventCall": { @@ -9997,7 +10028,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10778:14:2", + "src": "10777:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10009,8 +10040,8 @@ "name": "ERR_SUPERBLOCK_CHALLENGE_EXISTS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4610, - "src": "10794:31:2", + "referencedDeclaration": 4619, + "src": "10793:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10033,7 +10064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "10767:10:2", + "src": "10766:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -10047,7 +10078,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10767:59:2", + "src": "10766:59:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10055,7 +10086,7 @@ }, "id": 3245, "nodeType": "EmitStatement", - "src": "10762:64:2" + "src": "10761:64:2" }, { "expression": { @@ -10067,8 +10098,8 @@ "name": "ERR_SUPERBLOCK_CHALLENGE_EXISTS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4610, - "src": "10848:31:2", + "referencedDeclaration": 4619, + "src": "10847:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10081,7 +10112,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10881:14:2", + "src": "10880:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10095,7 +10126,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "10847:49:2", + "src": "10846:49:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -10104,7 +10135,7 @@ "functionReturnParameters": 3176, "id": 3249, "nodeType": "Return", - "src": "10840:56:2" + "src": "10839:56:2" } ] } @@ -10129,8 +10160,8 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "10920:8:2", + "referencedDeclaration": 4348, + "src": "10919:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -10145,8 +10176,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "10929:3:2", + "referencedDeclaration": 11098, + "src": "10928:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -10160,7 +10191,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10929:10:2", + "src": "10928:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -10171,7 +10202,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10920:20:2", + "src": "10919:20:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10185,14 +10216,14 @@ "name": "minProposalDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "10943:18:2", + "referencedDeclaration": 4685, + "src": "10942:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10920:41:2", + "src": "10919:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10201,11 +10232,11 @@ "falseBody": null, "id": 3268, "nodeType": "IfStatement", - "src": "10916:196:2", + "src": "10915:196:2", "trueBody": { "id": 3267, "nodeType": "Block", - "src": "10963:149:2", + "src": "10962:149:2", "statements": [ { "eventCall": { @@ -10218,7 +10249,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10993:14:2", + "src": "10992:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10230,8 +10261,8 @@ "name": "ERR_SUPERBLOCK_MIN_DEPOSIT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4577, - "src": "11009:26:2", + "referencedDeclaration": 4586, + "src": "11008:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10254,7 +10285,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "10982:10:2", + "src": "10981:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -10268,7 +10299,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10982:54:2", + "src": "10981:54:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10276,7 +10307,7 @@ }, "id": 3262, "nodeType": "EmitStatement", - "src": "10977:59:2" + "src": "10976:59:2" }, { "expression": { @@ -10288,8 +10319,8 @@ "name": "ERR_SUPERBLOCK_MIN_DEPOSIT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4577, - "src": "11058:26:2", + "referencedDeclaration": 4586, + "src": "11057:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10302,7 +10333,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11086:14:2", + "src": "11085:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10316,7 +10347,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "11057:44:2", + "src": "11056:44:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -10325,7 +10356,7 @@ "functionReturnParameters": 3176, "id": 3266, "nodeType": "Return", - "src": "11050:51:2" + "src": "11049:51:2" } ] } @@ -10341,7 +10372,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3358, - "src": "11126:8:2", + "src": "11125:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10352,7 +10383,7 @@ "id": 3269, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11126:4:2", + "src": "11125:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10373,7 +10404,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11166:14:2", + "src": "11165:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10387,8 +10418,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "11182:3:2", + "referencedDeclaration": 11098, + "src": "11181:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -10402,7 +10433,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11182:10:2", + "src": "11181:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -10427,9 +10458,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "11137:18:2", + "src": "11136:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -10440,8 +10471,8 @@ "lValueRequested": false, "memberName": "challenge", "nodeType": "MemberAccess", - "referencedDeclaration": 7719, - "src": "11137:28:2", + "referencedDeclaration": 8220, + "src": "11136:28:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -10455,14 +10486,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11137:56:2", + "src": "11136:56:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "11126:67:2" + "src": "11125:67:2" }, { "condition": { @@ -10483,7 +10514,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3270, - "src": "11207:3:2", + "src": "11206:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10501,7 +10532,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11214:1:2", + "src": "11213:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10509,7 +10540,7 @@ }, "value": "0" }, - "src": "11207:8:2", + "src": "11206:8:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10518,11 +10549,11 @@ "falseBody": null, "id": 3291, "nodeType": "IfStatement", - "src": "11203:104:2", + "src": "11202:104:2", "trueBody": { "id": 3290, "nodeType": "Block", - "src": "11217:90:2", + "src": "11216:90:2", "statements": [ { "eventCall": { @@ -10535,7 +10566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11247:14:2", + "src": "11246:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10548,7 +10579,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3270, - "src": "11263:3:2", + "src": "11262:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10571,7 +10602,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "11236:10:2", + "src": "11235:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -10585,7 +10616,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11236:31:2", + "src": "11235:31:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10593,7 +10624,7 @@ }, "id": 3285, "nodeType": "EmitStatement", - "src": "11231:36:2" + "src": "11230:36:2" }, { "expression": { @@ -10606,7 +10637,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3270, - "src": "11289:3:2", + "src": "11288:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10622,7 +10653,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11294:1:2", + "src": "11293:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10638,7 +10669,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "11288:8:2", + "src": "11287:8:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -10647,7 +10678,7 @@ "functionReturnParameters": 3176, "id": 3289, "nodeType": "Return", - "src": "11281:15:2" + "src": "11280:15:2" } ] } @@ -10667,7 +10698,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3270, - "src": "11317:3:2", + "src": "11316:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10685,7 +10716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11340:14:2", + "src": "11339:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10699,8 +10730,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "11356:3:2", + "referencedDeclaration": 11098, + "src": "11355:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -10714,7 +10745,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11356:10:2", + "src": "11355:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -10726,8 +10757,8 @@ "name": "minProposalDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "11368:18:2", + "referencedDeclaration": 4685, + "src": "11367:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10755,10 +10786,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10220, - "src": "11323:4:2", + "referencedDeclaration": 11134, + "src": "11322:4:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManager_$4337", + "typeIdentifier": "t_contract$_SyscoinClaimManager_$4338", "typeString": "contract SyscoinClaimManager" } }, @@ -10770,7 +10801,7 @@ "memberName": "bondDeposit", "nodeType": "MemberAccess", "referencedDeclaration": 2817, - "src": "11323:16:2", + "src": "11322:16:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes32,address,uint256) external returns (uint256)" @@ -10784,13 +10815,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11323:64:2", + "src": "11322:64:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11317:70:2", + "src": "11316:70:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10798,7 +10829,7 @@ }, "id": 3301, "nodeType": "ExpressionStatement", - "src": "11317:70:2" + "src": "11316:70:2" }, { "expression": { @@ -10822,7 +10853,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3270, - "src": "11405:3:2", + "src": "11404:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10836,14 +10867,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "11412:17:2", + "referencedDeclaration": 4517, + "src": "11411:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11405:24:2", + "src": "11404:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10861,11 +10892,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "11397:7:2", + "referencedDeclaration": 11101, + "src": "11396:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -10879,7 +10910,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11397:33:2", + "src": "11396:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10887,7 +10918,7 @@ }, "id": 3307, "nodeType": "ExpressionStatement", - "src": "11397:33:2" + "src": "11396:33:2" }, { "expression": { @@ -10906,7 +10937,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11441:5:2", + "src": "11440:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -10920,7 +10951,7 @@ "memberName": "challengeTimeout", "nodeType": "MemberAccess", "referencedDeclaration": 2575, - "src": "11441:22:2", + "src": "11440:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10947,8 +10978,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "11466:5:2", + "referencedDeclaration": 11088, + "src": "11465:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -10962,7 +10993,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11466:15:2", + "src": "11465:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10977,19 +11008,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2598, - "src": "11484:17:2", + "src": "11483:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11466:35:2", + "src": "11465:35:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11441:60:2", + "src": "11440:60:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10997,7 +11028,7 @@ }, "id": 3316, "nodeType": "ExpressionStatement", - "src": "11441:60:2" + "src": "11440:60:2" }, { "expression": { @@ -11016,7 +11047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11511:5:2", + "src": "11510:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -11030,7 +11061,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "11511:16:2", + "src": "11510:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11046,8 +11077,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "11530:3:2", + "referencedDeclaration": 11098, + "src": "11529:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -11061,13 +11092,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11530:10:2", + "src": "11529:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "11511:29:2", + "src": "11510:29:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11075,7 +11106,7 @@ }, "id": 3323, "nodeType": "ExpressionStatement", - "src": "11511:29:2" + "src": "11510:29:2" }, { "eventCall": { @@ -11088,7 +11119,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11581:14:2", + "src": "11580:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11102,8 +11133,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "11597:3:2", + "referencedDeclaration": 11098, + "src": "11596:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -11117,7 +11148,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11597:10:2", + "src": "11596:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -11140,7 +11171,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2630, - "src": "11555:25:2", + "src": "11554:25:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" @@ -11154,7 +11185,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11555:53:2", + "src": "11554:53:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11162,7 +11193,7 @@ }, "id": 3329, "nodeType": "EmitStatement", - "src": "11550:58:2" + "src": "11549:58:2" }, { "expression": { @@ -11175,7 +11206,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11666:14:2", + "src": "11665:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11190,7 +11221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11682:5:2", + "src": "11681:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -11204,7 +11235,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "11682:15:2", + "src": "11681:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11219,7 +11250,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11711:5:2", + "src": "11710:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -11233,7 +11264,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "11711:16:2", + "src": "11710:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11262,9 +11293,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2592, - "src": "11619:27:2", + "src": "11618:27:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } }, @@ -11275,8 +11306,8 @@ "lValueRequested": false, "memberName": "beginBattleSession", "nodeType": "MemberAccess", - "referencedDeclaration": 7558, - "src": "11619:46:2", + "referencedDeclaration": 8058, + "src": "11618:46:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", "typeString": "function (bytes32,address,address) external" @@ -11290,7 +11321,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11619:109:2", + "src": "11618:109:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11298,7 +11329,7 @@ }, "id": 3339, "nodeType": "ExpressionStatement", - "src": "11619:109:2" + "src": "11618:109:2" }, { "eventCall": { @@ -11311,7 +11342,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11768:14:2", + "src": "11767:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11326,7 +11357,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11784:5:2", + "src": "11783:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -11340,7 +11371,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "11784:15:2", + "src": "11783:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11355,7 +11386,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11813:5:2", + "src": "11812:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -11369,7 +11400,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "11813:16:2", + "src": "11812:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11396,7 +11427,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2668, - "src": "11744:23:2", + "src": "11743:23:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", "typeString": "function (bytes32,address,address)" @@ -11410,7 +11441,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11744:86:2", + "src": "11743:86:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11418,7 +11449,7 @@ }, "id": 3347, "nodeType": "EmitStatement", - "src": "11739:91:2" + "src": "11738:91:2" }, { "expression": { @@ -11437,7 +11468,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11841:5:2", + "src": "11840:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -11451,7 +11482,7 @@ "memberName": "verificationOngoing", "nodeType": "MemberAccess", "referencedDeclaration": 2577, - "src": "11841:25:2", + "src": "11840:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11469,7 +11500,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "11869:4:2", + "src": "11868:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11477,7 +11508,7 @@ }, "value": "true" }, - "src": "11841:32:2", + "src": "11840:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11485,7 +11516,7 @@ }, "id": 3353, "nodeType": "ExpressionStatement", - "src": "11841:32:2" + "src": "11840:32:2" }, { "expression": { @@ -11497,8 +11528,8 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "11891:17:2", + "referencedDeclaration": 4517, + "src": "11890:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11511,7 +11542,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11910:14:2", + "src": "11909:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11525,7 +11556,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "11890:35:2", + "src": "11889:35:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -11534,7 +11565,7 @@ "functionReturnParameters": 3176, "id": 3357, "nodeType": "Return", - "src": "11883:42:2" + "src": "11882:42:2" } ] }, @@ -11555,7 +11586,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 3359, - "src": "9921:22:2", + "src": "9920:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11566,7 +11597,7 @@ "id": 3169, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9921:7:2", + "src": "9920:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11576,7 +11607,7 @@ "visibility": "internal" } ], - "src": "9920:24:2" + "src": "9919:24:2" }, "returnParameters": { "id": 3176, @@ -11588,7 +11619,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3359, - "src": "9963:4:2", + "src": "9962:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11599,7 +11630,7 @@ "id": 3172, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "9963:4:2", + "src": "9962:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11614,7 +11645,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3359, - "src": "9969:7:2", + "src": "9968:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11625,7 +11656,7 @@ "id": 3174, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9969:7:2", + "src": "9968:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11635,10 +11666,10 @@ "visibility": "internal" } ], - "src": "9962:15:2" + "src": "9961:15:2" }, - "scope": 4337, - "src": "9892:2040:2", + "scope": 4338, + "src": "9891:2040:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -11647,7 +11678,7 @@ "body": { "id": 3616, "nodeType": "Block", - "src": "12398:2441:2", + "src": "12397:2441:2", "statements": [ { "assignments": [ @@ -11660,7 +11691,7 @@ "name": "numSuperblocks", "nodeType": "VariableDeclaration", "scope": 3616, - "src": "12408:19:2", + "src": "12407:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11671,7 +11702,7 @@ "id": 3368, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "12408:4:2", + "src": "12407:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11692,7 +11723,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12430:1:2", + "src": "12429:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11701,7 +11732,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "12408:23:2" + "src": "12407:23:2" }, { "assignments": [ @@ -11714,7 +11745,7 @@ "name": "confirmDescendants", "nodeType": "VariableDeclaration", "scope": 3616, - "src": "12441:23:2", + "src": "12440:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11725,7 +11756,7 @@ "id": 3372, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "12441:4:2", + "src": "12440:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11746,7 +11777,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "12467:4:2", + "src": "12466:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11755,7 +11786,7 @@ "value": "true" }, "nodeType": "VariableDeclarationStatement", - "src": "12441:30:2" + "src": "12440:30:2" }, { "assignments": [ @@ -11768,7 +11799,7 @@ "name": "id", "nodeType": "VariableDeclaration", "scope": 3616, - "src": "12481:10:2", + "src": "12480:10:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11779,7 +11810,7 @@ "id": 3376, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12481:7:2", + "src": "12480:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11797,14 +11828,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3363, - "src": "12494:12:2", + "src": "12493:12:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "12481:25:2" + "src": "12480:25:2" }, { "assignments": [ @@ -11817,7 +11848,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 3616, - "src": "12516:29:2", + "src": "12515:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -11830,7 +11861,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "12516:15:2", + "src": "12515:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -11850,7 +11881,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "12548:6:2", + "src": "12547:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -11864,7 +11895,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "12555:2:2", + "src": "12554:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11875,20 +11906,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12548:10:2", + "src": "12547:10:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "12516:42:2" + "src": "12515:42:2" }, { "body": { "id": 3453, "nodeType": "Block", - "src": "12597:669:2", + "src": "12596:669:2", "statements": [ { "condition": { @@ -11912,7 +11943,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "12615:19:2", + "src": "12614:19:2", "subExpression": { "argumentTypes": null, "arguments": [ @@ -11923,7 +11954,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "12628:5:2", + "src": "12627:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -11941,8 +11972,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "12616:11:2", + "referencedDeclaration": 4254, + "src": "12615:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -11956,7 +11987,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12616:18:2", + "src": "12615:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11978,7 +12009,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "12638:5:2", + "src": "12637:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -11992,13 +12023,13 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "12638:13:2", + "src": "12637:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "12615:36:2", + "src": "12614:36:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12007,11 +12038,11 @@ "falseBody": null, "id": 3404, "nodeType": "IfStatement", - "src": "12611:162:2", + "src": "12610:162:2", "trueBody": { "id": 3403, "nodeType": "Block", - "src": "12653:120:2", + "src": "12652:120:2", "statements": [ { "eventCall": { @@ -12024,7 +12055,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "12687:14:2", + "src": "12686:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12036,8 +12067,8 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "12703:24:2", + "referencedDeclaration": 4610, + "src": "12702:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12060,7 +12091,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "12676:10:2", + "src": "12675:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -12074,7 +12105,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12676:52:2", + "src": "12675:52:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12082,7 +12113,7 @@ }, "id": 3400, "nodeType": "EmitStatement", - "src": "12671:57:2" + "src": "12670:57:2" }, { "expression": { @@ -12095,7 +12126,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "12753:5:2", + "src": "12752:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12106,7 +12137,7 @@ "functionReturnParameters": 3367, "id": 3402, "nodeType": "Return", - "src": "12746:12:2" + "src": "12745:12:2" } ] } @@ -12115,7 +12146,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "id": 3412, @@ -12133,7 +12164,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "12829:2:2", + "src": "12828:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12154,9 +12185,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "12790:18:2", + "src": "12789:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -12167,10 +12198,10 @@ "lValueRequested": false, "memberName": "getSuperblockStatus", "nodeType": "MemberAccess", - "referencedDeclaration": 7768, - "src": "12790:38:2", + "referencedDeclaration": 8269, + "src": "12789:38:2", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$8118_$", "typeString": "function (bytes32) view external returns (enum SyscoinSuperblocksI.Status)" } }, @@ -12182,9 +12213,9 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12790:42:2", + "src": "12789:42:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -12200,10 +12231,10 @@ "name": "SyscoinSuperblocksI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7790, - "src": "12836:19:2", + "referencedDeclaration": 8312, + "src": "12835:19:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$7790_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$8312_$", "typeString": "type(contract SyscoinSuperblocksI)" } }, @@ -12214,10 +12245,10 @@ "lValueRequested": false, "memberName": "Status", "nodeType": "MemberAccess", - "referencedDeclaration": 7617, - "src": "12836:26:2", + "referencedDeclaration": 8118, + "src": "12835:26:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, @@ -12229,13 +12260,13 @@ "memberName": "SemiApproved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12836:39:2", + "src": "12835:39:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "12790:85:2", + "src": "12789:85:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12244,11 +12275,11 @@ "falseBody": null, "id": 3421, "nodeType": "IfStatement", - "src": "12786:212:2", + "src": "12785:212:2", "trueBody": { "id": 3420, "nodeType": "Block", - "src": "12877:121:2", + "src": "12876:121:2", "statements": [ { "eventCall": { @@ -12261,7 +12292,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "12911:14:2", + "src": "12910:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12273,8 +12304,8 @@ "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "12927:25:2", + "referencedDeclaration": 4523, + "src": "12926:25:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12297,7 +12328,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "12900:10:2", + "src": "12899:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -12311,7 +12342,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12900:53:2", + "src": "12899:53:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12319,7 +12350,7 @@ }, "id": 3417, "nodeType": "EmitStatement", - "src": "12895:58:2" + "src": "12894:58:2" }, { "expression": { @@ -12332,7 +12363,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "12978:5:2", + "src": "12977:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12343,7 +12374,7 @@ "functionReturnParameters": 3367, "id": 3419, "nodeType": "Return", - "src": "12971:12:2" + "src": "12970:12:2" } ] } @@ -12367,7 +12398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3373, - "src": "13015:18:2", + "src": "13014:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12395,7 +12426,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "13037:5:2", + "src": "13036:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -12409,7 +12440,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "13037:16:2", + "src": "13036:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12430,7 +12461,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13065:1:2", + "src": "13064:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12452,7 +12483,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13057:7:2", + "src": "13056:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -12467,19 +12498,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13057:10:2", + "src": "13056:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "13037:30:2", + "src": "13036:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13015:52:2", + "src": "13014:52:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12488,11 +12519,11 @@ "falseBody": null, "id": 3435, "nodeType": "IfStatement", - "src": "13011:117:2", + "src": "13010:117:2", "trueBody": { "id": 3434, "nodeType": "Block", - "src": "13069:59:2", + "src": "13068:59:2", "statements": [ { "expression": { @@ -12509,7 +12540,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3373, - "src": "13087:18:2", + "src": "13086:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12527,7 +12558,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "13108:5:2", + "src": "13107:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12535,7 +12566,7 @@ }, "value": "false" }, - "src": "13087:26:2", + "src": "13086:26:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12543,7 +12574,7 @@ }, "id": 3433, "nodeType": "ExpressionStatement", - "src": "13087:26:2" + "src": "13086:26:2" } ] } @@ -12563,7 +12594,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "13141:2:2", + "src": "13140:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12581,7 +12612,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "13187:2:2", + "src": "13186:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12602,9 +12633,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "13146:18:2", + "src": "13145:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -12615,8 +12646,8 @@ "lValueRequested": false, "memberName": "getSuperblockParentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7761, - "src": "13146:40:2", + "referencedDeclaration": 8262, + "src": "13145:40:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view external returns (bytes32)" @@ -12630,13 +12661,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13146:44:2", + "src": "13145:44:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "13141:49:2", + "src": "13140:49:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12644,7 +12675,7 @@ }, "id": 3442, "nodeType": "ExpressionStatement", - "src": "13141:49:2" + "src": "13140:49:2" }, { "expression": { @@ -12661,7 +12692,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "13204:5:2", + "src": "13203:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -12678,7 +12709,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "13212:6:2", + "src": "13211:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -12692,7 +12723,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "13219:2:2", + "src": "13218:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12703,13 +12734,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13212:10:2", + "src": "13211:10:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, - "src": "13204:18:2", + "src": "13203:18:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -12717,7 +12748,7 @@ }, "id": 3448, "nodeType": "ExpressionStatement", - "src": "13204:18:2" + "src": "13203:18:2" }, { "expression": { @@ -12734,7 +12765,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3369, - "src": "13236:14:2", + "src": "13235:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12752,7 +12783,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13254:1:2", + "src": "13253:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -12760,7 +12791,7 @@ }, "value": "1" }, - "src": "13236:19:2", + "src": "13235:19:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12768,7 +12799,7 @@ }, "id": 3452, "nodeType": "ExpressionStatement", - "src": "13236:19:2" + "src": "13235:19:2" } ] }, @@ -12790,7 +12821,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "12575:2:2", + "src": "12574:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12805,13 +12836,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "12581:14:2", + "src": "12580:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "12575:20:2", + "src": "12574:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12819,7 +12850,7 @@ }, "id": 3454, "nodeType": "WhileStatement", - "src": "12568:698:2" + "src": "12567:698:2" }, { "condition": { @@ -12840,7 +12871,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3369, - "src": "13280:14:2", + "src": "13279:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12855,13 +12886,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2594, - "src": "13297:23:2", + "src": "13296:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "13280:40:2", + "src": "13279:40:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12870,11 +12901,11 @@ "falseBody": null, "id": 3466, "nodeType": "IfStatement", - "src": "13276:166:2", + "src": "13275:166:2", "trueBody": { "id": 3465, "nodeType": "Block", - "src": "13322:120:2", + "src": "13321:120:2", "statements": [ { "eventCall": { @@ -12887,7 +12918,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "13352:14:2", + "src": "13351:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12899,8 +12930,8 @@ "name": "ERR_SUPERBLOCK_MISSING_CONFIRMATIONS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4619, - "src": "13368:36:2", + "referencedDeclaration": 4628, + "src": "13367:36:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12923,7 +12954,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "13341:10:2", + "src": "13340:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -12937,7 +12968,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13341:64:2", + "src": "13340:64:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12945,7 +12976,7 @@ }, "id": 3462, "nodeType": "EmitStatement", - "src": "13336:69:2" + "src": "13335:69:2" }, { "expression": { @@ -12958,7 +12989,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "13426:5:2", + "src": "13425:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12969,7 +13000,7 @@ "functionReturnParameters": 3367, "id": 3464, "nodeType": "Return", - "src": "13419:12:2" + "src": "13418:12:2" } ] } @@ -12978,7 +13009,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "id": 3474, @@ -12996,7 +13027,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "13494:2:2", + "src": "13493:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13017,9 +13048,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "13455:18:2", + "src": "13454:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -13030,10 +13061,10 @@ "lValueRequested": false, "memberName": "getSuperblockStatus", "nodeType": "MemberAccess", - "referencedDeclaration": 7768, - "src": "13455:38:2", + "referencedDeclaration": 8269, + "src": "13454:38:2", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$8118_$", "typeString": "function (bytes32) view external returns (enum SyscoinSuperblocksI.Status)" } }, @@ -13045,9 +13076,9 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13455:42:2", + "src": "13454:42:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -13063,10 +13094,10 @@ "name": "SyscoinSuperblocksI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7790, - "src": "13501:19:2", + "referencedDeclaration": 8312, + "src": "13500:19:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$7790_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$8312_$", "typeString": "type(contract SyscoinSuperblocksI)" } }, @@ -13077,10 +13108,10 @@ "lValueRequested": false, "memberName": "Status", "nodeType": "MemberAccess", - "referencedDeclaration": 7617, - "src": "13501:26:2", + "referencedDeclaration": 8118, + "src": "13500:26:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, @@ -13092,13 +13123,13 @@ "memberName": "SemiApproved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13501:39:2", + "src": "13500:39:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "13455:85:2", + "src": "13454:85:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13107,11 +13138,11 @@ "falseBody": null, "id": 3483, "nodeType": "IfStatement", - "src": "13451:200:2", + "src": "13450:200:2", "trueBody": { "id": 3482, "nodeType": "Block", - "src": "13542:109:2", + "src": "13541:109:2", "statements": [ { "eventCall": { @@ -13124,7 +13155,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "13572:14:2", + "src": "13571:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13136,8 +13167,8 @@ "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "13588:25:2", + "referencedDeclaration": 4523, + "src": "13587:25:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13160,7 +13191,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "13561:10:2", + "src": "13560:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -13174,7 +13205,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13561:53:2", + "src": "13560:53:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13182,7 +13213,7 @@ }, "id": 3479, "nodeType": "EmitStatement", - "src": "13556:58:2" + "src": "13555:58:2" }, { "expression": { @@ -13195,7 +13226,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "13635:5:2", + "src": "13634:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13206,7 +13237,7 @@ "functionReturnParameters": 3367, "id": 3481, "nodeType": "Return", - "src": "13628:12:2" + "src": "13627:12:2" } ] } @@ -13222,7 +13253,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3616, - "src": "13661:8:2", + "src": "13660:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13233,7 +13264,7 @@ "id": 3484, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "13661:4:2", + "src": "13660:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13254,7 +13285,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "13699:14:2", + "src": "13698:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13268,8 +13299,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "13715:3:2", + "referencedDeclaration": 11098, + "src": "13714:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -13283,7 +13314,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13715:10:2", + "src": "13714:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -13308,9 +13339,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "13672:18:2", + "src": "13671:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -13321,8 +13352,8 @@ "lValueRequested": false, "memberName": "confirm", "nodeType": "MemberAccess", - "referencedDeclaration": 7710, - "src": "13672:26:2", + "referencedDeclaration": 8211, + "src": "13671:26:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -13336,14 +13367,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13672:54:2", + "src": "13671:54:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "13661:65:2" + "src": "13660:65:2" }, { "condition": { @@ -13364,7 +13395,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3485, - "src": "13740:3:2", + "src": "13739:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13378,14 +13409,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "13747:17:2", + "referencedDeclaration": 4517, + "src": "13746:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "13740:24:2", + "src": "13739:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13394,11 +13425,11 @@ "falseBody": null, "id": 3504, "nodeType": "IfStatement", - "src": "13736:117:2", + "src": "13735:117:2", "trueBody": { "id": 3503, "nodeType": "Block", - "src": "13766:87:2", + "src": "13765:87:2", "statements": [ { "eventCall": { @@ -13411,7 +13442,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "13796:14:2", + "src": "13795:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13424,7 +13455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3485, - "src": "13812:3:2", + "src": "13811:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13447,7 +13478,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "13785:10:2", + "src": "13784:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -13461,7 +13492,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13785:31:2", + "src": "13784:31:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13469,7 +13500,7 @@ }, "id": 3500, "nodeType": "EmitStatement", - "src": "13780:36:2" + "src": "13779:36:2" }, { "expression": { @@ -13482,7 +13513,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "13837:5:2", + "src": "13836:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13493,7 +13524,7 @@ "functionReturnParameters": 3367, "id": 3502, "nodeType": "Return", - "src": "13830:12:2" + "src": "13829:12:2" } ] } @@ -13509,7 +13540,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "13877:14:2", + "src": "13876:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13522,7 +13553,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "13893:5:2", + "src": "13892:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -13544,8 +13575,8 @@ "name": "doPaySubmitter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4192, - "src": "13862:14:2", + "referencedDeclaration": 4193, + "src": "13861:14:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$__$", "typeString": "function (bytes32,struct SyscoinClaimManager.SuperblockClaim storage pointer)" @@ -13559,7 +13590,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13862:37:2", + "src": "13861:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13567,7 +13598,7 @@ }, "id": 3509, "nodeType": "ExpressionStatement", - "src": "13862:37:2" + "src": "13861:37:2" }, { "condition": { @@ -13577,7 +13608,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3373, - "src": "13914:18:2", + "src": "13913:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13586,11 +13617,11 @@ "falseBody": null, "id": 3603, "nodeType": "IfStatement", - "src": "13910:783:2", + "src": "13909:783:2", "trueBody": { "id": 3602, "nodeType": "Block", - "src": "13934:759:2", + "src": "13933:759:2", "statements": [ { "assignments": [ @@ -13603,7 +13634,7 @@ "name": "descendants", "nodeType": "VariableDeclaration", "scope": 3602, - "src": "13948:28:2", + "src": "13947:28:2", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13615,7 +13646,7 @@ "id": 3512, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13948:7:2", + "src": "13947:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13624,7 +13655,7 @@ "id": 3513, "length": null, "nodeType": "ArrayTypeName", - "src": "13948:9:2", + "src": "13947:9:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -13645,7 +13676,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3369, - "src": "13993:14:2", + "src": "13992:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13665,7 +13696,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "13979:13:2", + "src": "13978:13:2", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", "typeString": "function (uint256) pure returns (bytes32[] memory)" @@ -13675,7 +13706,7 @@ "id": 3515, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13983:7:2", + "src": "13982:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13684,7 +13715,7 @@ "id": 3516, "length": null, "nodeType": "ArrayTypeName", - "src": "13983:9:2", + "src": "13982:9:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -13699,14 +13730,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13979:29:2", + "src": "13978:29:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", "typeString": "bytes32[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "13948:60:2" + "src": "13947:60:2" }, { "expression": { @@ -13723,7 +13754,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14022:2:2", + "src": "14021:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13738,13 +13769,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3363, - "src": "14027:12:2", + "src": "14026:12:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "14022:17:2", + "src": "14021:17:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13752,7 +13783,7 @@ }, "id": 3524, "nodeType": "ExpressionStatement", - "src": "14022:17:2" + "src": "14021:17:2" }, { "assignments": [ @@ -13765,7 +13796,7 @@ "name": "idx", "nodeType": "VariableDeclaration", "scope": 3602, - "src": "14053:8:2", + "src": "14052:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13776,7 +13807,7 @@ "id": 3525, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "14053:4:2", + "src": "14052:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13797,7 +13828,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14064:1:2", + "src": "14063:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13806,13 +13837,13 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14053:12:2" + "src": "14052:12:2" }, { "body": { "id": 3549, "nodeType": "Block", - "src": "14108:147:2", + "src": "14107:147:2", "statements": [ { "expression": { @@ -13831,7 +13862,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3514, - "src": "14126:11:2", + "src": "14125:11:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13845,7 +13876,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3526, - "src": "14138:3:2", + "src": "14137:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13856,7 +13887,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14126:16:2", + "src": "14125:16:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13871,13 +13902,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14145:2:2", + "src": "14144:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "14126:21:2", + "src": "14125:21:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13885,7 +13916,7 @@ }, "id": 3537, "nodeType": "ExpressionStatement", - "src": "14126:21:2" + "src": "14125:21:2" }, { "expression": { @@ -13902,7 +13933,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14165:2:2", + "src": "14164:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13920,7 +13951,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14211:2:2", + "src": "14210:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13941,9 +13972,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "14170:18:2", + "src": "14169:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -13954,8 +13985,8 @@ "lValueRequested": false, "memberName": "getSuperblockParentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7761, - "src": "14170:40:2", + "referencedDeclaration": 8262, + "src": "14169:40:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view external returns (bytes32)" @@ -13969,13 +14000,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14170:44:2", + "src": "14169:44:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "14165:49:2", + "src": "14164:49:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13983,7 +14014,7 @@ }, "id": 3544, "nodeType": "ExpressionStatement", - "src": "14165:49:2" + "src": "14164:49:2" }, { "expression": { @@ -14000,7 +14031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3526, - "src": "14232:3:2", + "src": "14231:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14018,7 +14049,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14239:1:2", + "src": "14238:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -14026,7 +14057,7 @@ }, "value": "1" }, - "src": "14232:8:2", + "src": "14231:8:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14034,7 +14065,7 @@ }, "id": 3548, "nodeType": "ExpressionStatement", - "src": "14232:8:2" + "src": "14231:8:2" } ] }, @@ -14056,7 +14087,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14086:2:2", + "src": "14085:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14071,13 +14102,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "14092:14:2", + "src": "14091:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "14086:20:2", + "src": "14085:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14085,13 +14116,13 @@ }, "id": 3550, "nodeType": "WhileStatement", - "src": "14079:176:2" + "src": "14078:176:2" }, { "body": { "id": 3600, "nodeType": "Block", - "src": "14284:399:2", + "src": "14283:399:2", "statements": [ { "expression": { @@ -14108,7 +14139,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3526, - "src": "14302:3:2", + "src": "14301:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14126,7 +14157,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14309:1:2", + "src": "14308:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -14134,7 +14165,7 @@ }, "value": "1" }, - "src": "14302:8:2", + "src": "14301:8:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14142,7 +14173,7 @@ }, "id": 3557, "nodeType": "ExpressionStatement", - "src": "14302:8:2" + "src": "14301:8:2" }, { "expression": { @@ -14159,7 +14190,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14328:2:2", + "src": "14327:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14176,7 +14207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3514, - "src": "14333:11:2", + "src": "14332:11:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -14190,7 +14221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3526, - "src": "14345:3:2", + "src": "14344:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14201,13 +14232,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14333:16:2", + "src": "14332:16:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "14328:21:2", + "src": "14327:21:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14215,7 +14246,7 @@ }, "id": 3563, "nodeType": "ExpressionStatement", - "src": "14328:21:2" + "src": "14327:21:2" }, { "expression": { @@ -14232,7 +14263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "14367:5:2", + "src": "14366:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -14249,7 +14280,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "14375:6:2", + "src": "14374:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -14263,7 +14294,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14382:2:2", + "src": "14381:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14274,13 +14305,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14375:10:2", + "src": "14374:10:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, - "src": "14367:18:2", + "src": "14366:18:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -14288,7 +14319,7 @@ }, "id": 3569, "nodeType": "ExpressionStatement", - "src": "14367:18:2" + "src": "14366:18:2" }, { "expression": { @@ -14305,7 +14336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3485, - "src": "14403:3:2", + "src": "14402:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14323,7 +14354,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14436:2:2", + "src": "14435:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14337,8 +14368,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "14440:3:2", + "referencedDeclaration": 11098, + "src": "14439:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -14352,7 +14383,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14440:10:2", + "src": "14439:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -14377,9 +14408,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "14409:18:2", + "src": "14408:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -14390,8 +14421,8 @@ "lValueRequested": false, "memberName": "confirm", "nodeType": "MemberAccess", - "referencedDeclaration": 7710, - "src": "14409:26:2", + "referencedDeclaration": 8211, + "src": "14408:26:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -14405,13 +14436,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14409:42:2", + "src": "14408:42:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14403:48:2", + "src": "14402:48:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14419,7 +14450,7 @@ }, "id": 3578, "nodeType": "ExpressionStatement", - "src": "14403:48:2" + "src": "14402:48:2" }, { "expression": { @@ -14443,7 +14474,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3485, - "src": "14477:3:2", + "src": "14476:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14457,14 +14488,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "14484:17:2", + "referencedDeclaration": 4517, + "src": "14483:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14477:24:2", + "src": "14476:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14482,11 +14513,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "14469:7:2", + "referencedDeclaration": 11101, + "src": "14468:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -14500,7 +14531,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14469:33:2", + "src": "14468:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14508,7 +14539,7 @@ }, "id": 3584, "nodeType": "ExpressionStatement", - "src": "14469:33:2" + "src": "14468:33:2" }, { "expression": { @@ -14521,7 +14552,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14535:2:2", + "src": "14534:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14534,7 +14565,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "14539:5:2", + "src": "14538:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -14556,8 +14587,8 @@ "name": "doPaySubmitter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4192, - "src": "14520:14:2", + "referencedDeclaration": 4193, + "src": "14519:14:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$__$", "typeString": "function (bytes32,struct SyscoinClaimManager.SuperblockClaim storage pointer)" @@ -14571,7 +14602,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14520:25:2", + "src": "14519:25:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14579,7 +14610,7 @@ }, "id": 3589, "nodeType": "ExpressionStatement", - "src": "14520:25:2" + "src": "14519:25:2" }, { "expression": { @@ -14592,7 +14623,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "14563:18:2", + "src": "14562:18:2", "subExpression": { "argumentTypes": null, "id": 3590, @@ -14600,7 +14631,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "14563:16:2", + "src": "14562:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14613,7 +14644,7 @@ }, "id": 3592, "nodeType": "ExpressionStatement", - "src": "14563:18:2" + "src": "14562:18:2" }, { "eventCall": { @@ -14626,7 +14657,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14630:2:2", + "src": "14629:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14641,7 +14672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "14634:5:2", + "src": "14633:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -14655,7 +14686,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "14634:15:2", + "src": "14633:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14668,7 +14699,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "14651:16:2", + "src": "14650:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14695,7 +14726,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2646, - "src": "14604:25:2", + "src": "14603:25:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -14709,7 +14740,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14604:64:2", + "src": "14603:64:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14717,7 +14748,7 @@ }, "id": 3599, "nodeType": "EmitStatement", - "src": "14599:69:2" + "src": "14598:69:2" } ] }, @@ -14739,7 +14770,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3526, - "src": "14275:3:2", + "src": "14274:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14757,7 +14788,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14281:1:2", + "src": "14280:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14765,7 +14796,7 @@ }, "value": "0" }, - "src": "14275:7:2", + "src": "14274:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14773,7 +14804,7 @@ }, "id": 3601, "nodeType": "WhileStatement", - "src": "14268:415:2" + "src": "14267:415:2" } ] } @@ -14789,7 +14820,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "14702:18:2", + "src": "14701:18:2", "subExpression": { "argumentTypes": null, "id": 3604, @@ -14797,7 +14828,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "14702:16:2", + "src": "14701:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14810,7 +14841,7 @@ }, "id": 3606, "nodeType": "ExpressionStatement", - "src": "14702:18:2" + "src": "14701:18:2" }, { "eventCall": { @@ -14823,7 +14854,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "14761:14:2", + "src": "14760:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14838,7 +14869,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "14777:5:2", + "src": "14776:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -14852,7 +14883,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "14777:15:2", + "src": "14776:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14865,7 +14896,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "14794:16:2", + "src": "14793:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14892,7 +14923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2646, - "src": "14735:25:2", + "src": "14734:25:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -14906,7 +14937,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14735:76:2", + "src": "14734:76:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14914,7 +14945,7 @@ }, "id": 3613, "nodeType": "EmitStatement", - "src": "14730:81:2" + "src": "14729:81:2" }, { "expression": { @@ -14927,7 +14958,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14828:4:2", + "src": "14827:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14938,7 +14969,7 @@ "functionReturnParameters": 3367, "id": 3615, "nodeType": "Return", - "src": "14821:11:2" + "src": "14820:11:2" } ] }, @@ -14959,7 +14990,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 3617, - "src": "12328:22:2", + "src": "12327:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14970,7 +15001,7 @@ "id": 3360, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12328:7:2", + "src": "12327:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14985,7 +15016,7 @@ "name": "descendantId", "nodeType": "VariableDeclaration", "scope": 3617, - "src": "12352:20:2", + "src": "12351:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14996,7 +15027,7 @@ "id": 3362, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12352:7:2", + "src": "12351:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15006,7 +15037,7 @@ "visibility": "internal" } ], - "src": "12327:46:2" + "src": "12326:46:2" }, "returnParameters": { "id": 3367, @@ -15018,7 +15049,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3617, - "src": "12392:4:2", + "src": "12391:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15029,7 +15060,7 @@ "id": 3365, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "12392:4:2", + "src": "12391:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15039,10 +15070,10 @@ "visibility": "internal" } ], - "src": "12391:6:2" + "src": "12390:6:2" }, - "scope": 4337, - "src": "12306:2533:2", + "scope": 4338, + "src": "12305:2533:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -15051,7 +15082,7 @@ "body": { "id": 3737, "nodeType": "Block", - "src": "15109:1225:2", + "src": "15108:1225:2", "statements": [ { "assignments": [ @@ -15064,7 +15095,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 3737, - "src": "15119:29:2", + "src": "15118:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -15077,7 +15108,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "15119:15:2", + "src": "15118:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -15097,7 +15128,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "15151:6:2", + "src": "15150:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -15111,7 +15142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15158:14:2", + "src": "15157:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15122,14 +15153,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15151:22:2", + "src": "15150:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "15119:54:2" + "src": "15118:54:2" }, { "condition": { @@ -15142,7 +15173,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "15187:19:2", + "src": "15186:19:2", "subExpression": { "argumentTypes": null, "arguments": [ @@ -15153,7 +15184,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3625, - "src": "15200:5:2", + "src": "15199:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -15171,8 +15202,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "15188:11:2", + "referencedDeclaration": 4254, + "src": "15187:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -15186,7 +15217,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15188:18:2", + "src": "15187:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15200,11 +15231,11 @@ "falseBody": null, "id": 3642, "nodeType": "IfStatement", - "src": "15183:133:2", + "src": "15182:133:2", "trueBody": { "id": 3641, "nodeType": "Block", - "src": "15208:108:2", + "src": "15207:108:2", "statements": [ { "eventCall": { @@ -15217,7 +15248,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15238:14:2", + "src": "15237:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15229,8 +15260,8 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "15254:24:2", + "referencedDeclaration": 4610, + "src": "15253:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15253,7 +15284,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "15227:10:2", + "src": "15226:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -15267,7 +15298,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15227:52:2", + "src": "15226:52:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15275,7 +15306,7 @@ }, "id": 3638, "nodeType": "EmitStatement", - "src": "15222:57:2" + "src": "15221:57:2" }, { "expression": { @@ -15288,7 +15319,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15300:5:2", + "src": "15299:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -15299,7 +15330,7 @@ "functionReturnParameters": 3623, "id": 3640, "nodeType": "Return", - "src": "15293:12:2" + "src": "15292:12:2" } ] } @@ -15315,7 +15346,7 @@ "name": "height", "nodeType": "VariableDeclaration", "scope": 3737, - "src": "15326:11:2", + "src": "15325:11:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15326,7 +15357,7 @@ "id": 3643, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "15326:4:2", + "src": "15325:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15347,7 +15378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15379:14:2", + "src": "15378:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15368,9 +15399,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "15340:18:2", + "src": "15339:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -15381,8 +15412,8 @@ "lValueRequested": false, "memberName": "getSuperblockHeight", "nodeType": "MemberAccess", - "referencedDeclaration": 7754, - "src": "15340:38:2", + "referencedDeclaration": 8255, + "src": "15339:38:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint32_$", "typeString": "function (bytes32) view external returns (uint32)" @@ -15396,14 +15427,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15340:54:2", + "src": "15339:54:2", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "VariableDeclarationStatement", - "src": "15326:68:2" + "src": "15325:68:2" }, { "condition": { @@ -15424,7 +15455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3644, - "src": "15409:6:2", + "src": "15408:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15444,9 +15475,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "15418:18:2", + "src": "15417:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -15457,8 +15488,8 @@ "lValueRequested": false, "memberName": "getChainHeight", "nodeType": "MemberAccess", - "referencedDeclaration": 7747, - "src": "15418:33:2", + "referencedDeclaration": 8248, + "src": "15417:33:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" @@ -15472,13 +15503,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15418:35:2", + "src": "15417:35:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15409:44:2", + "src": "15408:44:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15487,11 +15518,11 @@ "falseBody": null, "id": 3663, "nodeType": "IfStatement", - "src": "15405:164:2", + "src": "15404:164:2", "trueBody": { "id": 3662, "nodeType": "Block", - "src": "15455:114:2", + "src": "15454:114:2", "statements": [ { "eventCall": { @@ -15504,7 +15535,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15485:14:2", + "src": "15484:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15516,8 +15547,8 @@ "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4628, - "src": "15501:30:2", + "referencedDeclaration": 4637, + "src": "15500:30:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15540,7 +15571,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "15474:10:2", + "src": "15473:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -15554,7 +15585,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15474:58:2", + "src": "15473:58:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15562,7 +15593,7 @@ }, "id": 3659, "nodeType": "EmitStatement", - "src": "15469:63:2" + "src": "15468:63:2" }, { "expression": { @@ -15575,7 +15606,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15553:5:2", + "src": "15552:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -15586,7 +15617,7 @@ "functionReturnParameters": 3623, "id": 3661, "nodeType": "Return", - "src": "15546:12:2" + "src": "15545:12:2" } ] } @@ -15602,11 +15633,11 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 3737, - "src": "15579:33:2", + "src": "15578:33:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { @@ -15614,10 +15645,10 @@ "id": 3666, "name": "SyscoinSuperblocksI.Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "15579:26:2", + "referencedDeclaration": 8118, + "src": "15578:26:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -15636,7 +15667,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15654:14:2", + "src": "15653:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15657,9 +15688,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "15615:18:2", + "src": "15614:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -15670,10 +15701,10 @@ "lValueRequested": false, "memberName": "getSuperblockStatus", "nodeType": "MemberAccess", - "referencedDeclaration": 7768, - "src": "15615:38:2", + "referencedDeclaration": 8269, + "src": "15614:38:2", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$8118_$", "typeString": "function (bytes32) view external returns (enum SyscoinSuperblocksI.Status)" } }, @@ -15685,20 +15716,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15615:54:2", + "src": "15614:54:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, "nodeType": "VariableDeclarationStatement", - "src": "15579:90:2" + "src": "15578:90:2" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "id": 3677, @@ -15713,9 +15744,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3667, - "src": "15684:6:2", + "src": "15683:6:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -15731,10 +15762,10 @@ "name": "SyscoinSuperblocksI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7790, - "src": "15694:19:2", + "referencedDeclaration": 8312, + "src": "15693:19:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$7790_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$8312_$", "typeString": "type(contract SyscoinSuperblocksI)" } }, @@ -15745,10 +15776,10 @@ "lValueRequested": false, "memberName": "Status", "nodeType": "MemberAccess", - "referencedDeclaration": 7617, - "src": "15694:26:2", + "referencedDeclaration": 8118, + "src": "15693:26:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, @@ -15760,13 +15791,13 @@ "memberName": "SemiApproved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15694:39:2", + "src": "15693:39:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "15684:49:2", + "src": "15683:49:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15775,11 +15806,11 @@ "falseBody": null, "id": 3686, "nodeType": "IfStatement", - "src": "15680:164:2", + "src": "15679:164:2", "trueBody": { "id": 3685, "nodeType": "Block", - "src": "15735:109:2", + "src": "15734:109:2", "statements": [ { "eventCall": { @@ -15792,7 +15823,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15765:14:2", + "src": "15764:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15804,8 +15835,8 @@ "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "15781:25:2", + "referencedDeclaration": 4523, + "src": "15780:25:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15828,7 +15859,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "15754:10:2", + "src": "15753:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -15842,7 +15873,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15754:53:2", + "src": "15753:53:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15850,7 +15881,7 @@ }, "id": 3682, "nodeType": "EmitStatement", - "src": "15749:58:2" + "src": "15748:58:2" }, { "expression": { @@ -15863,7 +15894,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15828:5:2", + "src": "15827:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -15874,7 +15905,7 @@ "functionReturnParameters": 3623, "id": 3684, "nodeType": "Return", - "src": "15821:12:2" + "src": "15820:12:2" } ] } @@ -15890,7 +15921,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "15858:14:2", + "src": "15857:14:2", "subExpression": { "argumentTypes": null, "expression": { @@ -15900,7 +15931,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3625, - "src": "15859:5:2", + "src": "15858:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -15914,7 +15945,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "15859:13:2", + "src": "15858:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15928,11 +15959,11 @@ "falseBody": null, "id": 3698, "nodeType": "IfStatement", - "src": "15854:132:2", + "src": "15853:132:2", "trueBody": { "id": 3697, "nodeType": "Block", - "src": "15874:112:2", + "src": "15873:112:2", "statements": [ { "eventCall": { @@ -15945,7 +15976,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15904:14:2", + "src": "15903:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15957,8 +15988,8 @@ "name": "ERR_SUPERBLOCK_CLAIM_DECIDED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "15920:28:2", + "referencedDeclaration": 4616, + "src": "15919:28:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15981,7 +16012,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "15893:10:2", + "src": "15892:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -15995,7 +16026,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15893:56:2", + "src": "15892:56:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16003,7 +16034,7 @@ }, "id": 3694, "nodeType": "EmitStatement", - "src": "15888:61:2" + "src": "15887:61:2" }, { "expression": { @@ -16016,7 +16047,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15970:5:2", + "src": "15969:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16027,7 +16058,7 @@ "functionReturnParameters": 3623, "id": 3696, "nodeType": "Return", - "src": "15963:12:2" + "src": "15962:12:2" } ] } @@ -16043,7 +16074,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3737, - "src": "15996:8:2", + "src": "15995:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16054,7 +16085,7 @@ "id": 3699, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "15996:4:2", + "src": "15995:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16075,7 +16106,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "16037:14:2", + "src": "16036:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16090,7 +16121,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3625, - "src": "16053:5:2", + "src": "16052:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -16104,7 +16135,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "16053:15:2", + "src": "16052:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16129,9 +16160,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "16007:18:2", + "src": "16006:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -16142,8 +16173,8 @@ "lValueRequested": false, "memberName": "invalidate", "nodeType": "MemberAccess", - "referencedDeclaration": 7737, - "src": "16007:29:2", + "referencedDeclaration": 8238, + "src": "16006:29:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -16157,14 +16188,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16007:62:2", + "src": "16006:62:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "15996:73:2" + "src": "15995:73:2" }, { "expression": { @@ -16188,7 +16219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3700, - "src": "16087:3:2", + "src": "16086:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16202,14 +16233,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "16094:17:2", + "referencedDeclaration": 4517, + "src": "16093:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16087:24:2", + "src": "16086:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16227,11 +16258,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "16079:7:2", + "referencedDeclaration": 11101, + "src": "16078:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -16245,7 +16276,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16079:33:2", + "src": "16078:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16253,7 +16284,7 @@ }, "id": 3713, "nodeType": "ExpressionStatement", - "src": "16079:33:2" + "src": "16078:33:2" }, { "expression": { @@ -16266,7 +16297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "16138:14:2", + "src": "16137:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16279,7 +16310,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3625, - "src": "16154:5:2", + "src": "16153:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -16302,7 +16333,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4129, - "src": "16122:15:2", + "src": "16121:15:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$__$", "typeString": "function (bytes32,struct SyscoinClaimManager.SuperblockClaim storage pointer)" @@ -16316,7 +16347,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16122:38:2", + "src": "16121:38:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16324,7 +16355,7 @@ }, "id": 3718, "nodeType": "ExpressionStatement", - "src": "16122:38:2" + "src": "16121:38:2" }, { "expression": { @@ -16343,7 +16374,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3625, - "src": "16170:5:2", + "src": "16169:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -16357,7 +16388,7 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "16170:13:2", + "src": "16169:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16375,7 +16406,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16186:4:2", + "src": "16185:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16383,7 +16414,7 @@ }, "value": "true" }, - "src": "16170:20:2", + "src": "16169:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16391,7 +16422,7 @@ }, "id": 3724, "nodeType": "ExpressionStatement", - "src": "16170:20:2" + "src": "16169:20:2" }, { "expression": { @@ -16404,7 +16435,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "16200:18:2", + "src": "16199:18:2", "subExpression": { "argumentTypes": null, "id": 3725, @@ -16412,7 +16443,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "16200:16:2", + "src": "16199:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16425,7 +16456,7 @@ }, "id": 3727, "nodeType": "ExpressionStatement", - "src": "16200:18:2" + "src": "16199:18:2" }, { "eventCall": { @@ -16438,7 +16469,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "16255:14:2", + "src": "16254:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16453,7 +16484,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3625, - "src": "16271:5:2", + "src": "16270:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -16467,7 +16498,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "16271:16:2", + "src": "16270:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16480,7 +16511,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "16289:16:2", + "src": "16288:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16507,7 +16538,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2660, - "src": "16233:21:2", + "src": "16232:21:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -16521,7 +16552,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16233:73:2", + "src": "16232:73:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16529,7 +16560,7 @@ }, "id": 3734, "nodeType": "EmitStatement", - "src": "16228:78:2" + "src": "16227:78:2" }, { "expression": { @@ -16542,7 +16573,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16323:4:2", + "src": "16322:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16553,7 +16584,7 @@ "functionReturnParameters": 3623, "id": 3736, "nodeType": "Return", - "src": "16316:11:2" + "src": "16315:11:2" } ] }, @@ -16574,7 +16605,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 3738, - "src": "15061:22:2", + "src": "15060:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16585,7 +16616,7 @@ "id": 3618, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "15061:7:2", + "src": "15060:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16595,7 +16626,7 @@ "visibility": "internal" } ], - "src": "15060:24:2" + "src": "15059:24:2" }, "returnParameters": { "id": 3623, @@ -16607,7 +16638,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3738, - "src": "15103:4:2", + "src": "15102:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16618,7 +16649,7 @@ "id": 3621, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "15103:4:2", + "src": "15102:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16628,10 +16659,10 @@ "visibility": "internal" } ], - "src": "15102:6:2" + "src": "15101:6:2" }, - "scope": 4337, - "src": "15040:1294:2", + "scope": 4338, + "src": "15039:1294:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -16640,7 +16671,7 @@ "body": { "id": 3940, "nodeType": "Block", - "src": "16797:2427:2", + "src": "16796:2427:2", "statements": [ { "assignments": [ @@ -16653,7 +16684,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 3940, - "src": "16807:29:2", + "src": "16806:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -16666,7 +16697,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "16807:15:2", + "src": "16806:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -16686,7 +16717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "16839:6:2", + "src": "16838:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -16700,7 +16731,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "16846:14:2", + "src": "16845:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16711,14 +16742,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16839:22:2", + "src": "16838:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "16807:54:2" + "src": "16806:54:2" }, { "condition": { @@ -16742,7 +16773,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "16876:19:2", + "src": "16875:19:2", "subExpression": { "argumentTypes": null, "arguments": [ @@ -16753,7 +16784,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "16889:5:2", + "src": "16888:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -16771,8 +16802,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "16877:11:2", + "referencedDeclaration": 4254, + "src": "16876:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -16786,7 +16817,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16877:18:2", + "src": "16876:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16808,7 +16839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "16899:5:2", + "src": "16898:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -16822,13 +16853,13 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "16899:13:2", + "src": "16898:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16876:36:2", + "src": "16875:36:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16837,11 +16868,11 @@ "falseBody": null, "id": 3766, "nodeType": "IfStatement", - "src": "16872:150:2", + "src": "16871:150:2", "trueBody": { "id": 3765, "nodeType": "Block", - "src": "16914:108:2", + "src": "16913:108:2", "statements": [ { "eventCall": { @@ -16854,7 +16885,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "16944:14:2", + "src": "16943:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16866,8 +16897,8 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "16960:24:2", + "referencedDeclaration": 4610, + "src": "16959:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16890,7 +16921,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "16933:10:2", + "src": "16932:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -16904,7 +16935,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16933:52:2", + "src": "16932:52:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16912,7 +16943,7 @@ }, "id": 3762, "nodeType": "EmitStatement", - "src": "16928:57:2" + "src": "16927:57:2" }, { "expression": { @@ -16925,7 +16956,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17006:5:2", + "src": "17005:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16936,7 +16967,7 @@ "functionReturnParameters": 3744, "id": 3764, "nodeType": "Return", - "src": "16999:12:2" + "src": "16998:12:2" } ] } @@ -16951,7 +16982,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17097:5:2", + "src": "17096:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -16965,7 +16996,7 @@ "memberName": "verificationOngoing", "nodeType": "MemberAccess", "referencedDeclaration": 2577, - "src": "17097:25:2", + "src": "17096:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16974,11 +17005,11 @@ "falseBody": null, "id": 3777, "nodeType": "IfStatement", - "src": "17093:150:2", + "src": "17092:150:2", "trueBody": { "id": 3776, "nodeType": "Block", - "src": "17124:119:2", + "src": "17123:119:2", "statements": [ { "eventCall": { @@ -16991,7 +17022,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "17154:14:2", + "src": "17153:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17003,8 +17034,8 @@ "name": "ERR_SUPERBLOCK_VERIFICATION_PENDING", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4604, - "src": "17170:35:2", + "referencedDeclaration": 4613, + "src": "17169:35:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17027,7 +17058,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "17143:10:2", + "src": "17142:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -17041,7 +17072,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17143:63:2", + "src": "17142:63:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -17049,7 +17080,7 @@ }, "id": 3773, "nodeType": "EmitStatement", - "src": "17138:68:2" + "src": "17137:68:2" }, { "expression": { @@ -17062,7 +17093,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17227:5:2", + "src": "17226:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -17073,7 +17104,7 @@ "functionReturnParameters": 3744, "id": 3775, "nodeType": "Return", - "src": "17220:12:2" + "src": "17219:12:2" } ] } @@ -17088,7 +17119,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17318:5:2", + "src": "17317:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -17102,7 +17133,7 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "17318:13:2", + "src": "17317:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17111,11 +17142,11 @@ "falseBody": null, "id": 3819, "nodeType": "IfStatement", - "src": "17314:512:2", + "src": "17313:512:2", "trueBody": { "id": 3818, "nodeType": "Block", - "src": "17333:493:2", + "src": "17332:493:2", "statements": [ { "expression": { @@ -17134,7 +17165,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17459:5:2", + "src": "17458:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -17148,7 +17179,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "17459:13:2", + "src": "17458:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17166,7 +17197,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17475:4:2", + "src": "17474:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -17174,7 +17205,7 @@ }, "value": "true" }, - "src": "17459:20:2", + "src": "17458:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17182,7 +17213,7 @@ }, "id": 3785, "nodeType": "ExpressionStatement", - "src": "17459:20:2" + "src": "17458:20:2" }, { "assignments": [ @@ -17195,7 +17226,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3818, - "src": "17493:8:2", + "src": "17492:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17206,7 +17237,7 @@ "id": 3786, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17493:4:2", + "src": "17492:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17227,7 +17258,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "17534:14:2", + "src": "17533:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17242,7 +17273,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17550:5:2", + "src": "17549:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -17256,7 +17287,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "17550:15:2", + "src": "17549:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17281,9 +17312,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "17504:18:2", + "src": "17503:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -17294,8 +17325,8 @@ "lValueRequested": false, "memberName": "invalidate", "nodeType": "MemberAccess", - "referencedDeclaration": 7737, - "src": "17504:29:2", + "referencedDeclaration": 8238, + "src": "17503:29:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -17309,14 +17340,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17504:62:2", + "src": "17503:62:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17493:73:2" + "src": "17492:73:2" }, { "expression": { @@ -17340,7 +17371,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3787, - "src": "17588:3:2", + "src": "17587:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17354,14 +17385,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "17595:17:2", + "referencedDeclaration": 4517, + "src": "17594:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17588:24:2", + "src": "17587:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17379,11 +17410,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "17580:7:2", + "referencedDeclaration": 11101, + "src": "17579:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -17397,7 +17428,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17580:33:2", + "src": "17579:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -17405,7 +17436,7 @@ }, "id": 3800, "nodeType": "ExpressionStatement", - "src": "17580:33:2" + "src": "17579:33:2" }, { "expression": { @@ -17418,7 +17449,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "17643:14:2", + "src": "17642:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17431,7 +17462,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17659:5:2", + "src": "17658:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -17454,7 +17485,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4129, - "src": "17627:15:2", + "src": "17626:15:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$__$", "typeString": "function (bytes32,struct SyscoinClaimManager.SuperblockClaim storage pointer)" @@ -17468,7 +17499,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17627:38:2", + "src": "17626:38:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -17476,7 +17507,7 @@ }, "id": 3805, "nodeType": "ExpressionStatement", - "src": "17627:38:2" + "src": "17626:38:2" }, { "expression": { @@ -17489,7 +17520,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "17679:18:2", + "src": "17678:18:2", "subExpression": { "argumentTypes": null, "id": 3806, @@ -17497,7 +17528,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "17679:16:2", + "src": "17678:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17510,7 +17541,7 @@ }, "id": 3808, "nodeType": "ExpressionStatement", - "src": "17679:18:2" + "src": "17678:18:2" }, { "eventCall": { @@ -17523,7 +17554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "17738:14:2", + "src": "17737:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17538,7 +17569,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17754:5:2", + "src": "17753:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -17552,7 +17583,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "17754:16:2", + "src": "17753:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17565,7 +17596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "17772:16:2", + "src": "17771:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17592,7 +17623,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2660, - "src": "17716:21:2", + "src": "17715:21:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -17606,7 +17637,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17716:73:2", + "src": "17715:73:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -17614,7 +17645,7 @@ }, "id": 3815, "nodeType": "EmitStatement", - "src": "17711:78:2" + "src": "17710:78:2" }, { "expression": { @@ -17627,7 +17658,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17810:5:2", + "src": "17809:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -17638,7 +17669,7 @@ "functionReturnParameters": 3744, "id": 3817, "nodeType": "Return", - "src": "17803:12:2" + "src": "17802:12:2" } ] } @@ -17663,8 +17694,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "17925:5:2", + "referencedDeclaration": 11088, + "src": "17924:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -17678,7 +17709,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17925:15:2", + "src": "17924:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17695,7 +17726,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17944:5:2", + "src": "17943:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -17709,13 +17740,13 @@ "memberName": "challengeTimeout", "nodeType": "MemberAccess", "referencedDeclaration": 2575, - "src": "17944:22:2", + "src": "17943:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17925:41:2", + "src": "17924:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17724,11 +17755,11 @@ "falseBody": null, "id": 3833, "nodeType": "IfStatement", - "src": "17921:156:2", + "src": "17920:156:2", "trueBody": { "id": 3832, "nodeType": "Block", - "src": "17968:109:2", + "src": "17967:109:2", "statements": [ { "eventCall": { @@ -17741,7 +17772,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "17998:14:2", + "src": "17997:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17753,8 +17784,8 @@ "name": "ERR_SUPERBLOCK_NO_TIMEOUT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4523, - "src": "18014:25:2", + "referencedDeclaration": 4532, + "src": "18013:25:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17777,7 +17808,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "17987:10:2", + "src": "17986:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -17791,7 +17822,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17987:53:2", + "src": "17986:53:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -17799,7 +17830,7 @@ }, "id": 3829, "nodeType": "EmitStatement", - "src": "17982:58:2" + "src": "17981:58:2" }, { "expression": { @@ -17812,7 +17843,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18061:5:2", + "src": "18060:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -17823,7 +17854,7 @@ "functionReturnParameters": 3744, "id": 3831, "nodeType": "Return", - "src": "18054:12:2" + "src": "18053:12:2" } ] } @@ -17845,7 +17876,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "18087:5:2", + "src": "18086:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -17859,7 +17890,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "18087:13:2", + "src": "18086:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17877,7 +17908,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18103:4:2", + "src": "18102:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -17885,7 +17916,7 @@ }, "value": "true" }, - "src": "18087:20:2", + "src": "18086:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17893,7 +17924,7 @@ }, "id": 3839, "nodeType": "ExpressionStatement", - "src": "18087:20:2" + "src": "18086:20:2" }, { "assignments": [ @@ -17906,7 +17937,7 @@ "name": "confirmImmediately", "nodeType": "VariableDeclaration", "scope": 3940, - "src": "18118:23:2", + "src": "18117:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17917,7 +17948,7 @@ "id": 3840, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18118:4:2", + "src": "18117:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17938,7 +17969,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18144:5:2", + "src": "18143:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -17947,7 +17978,7 @@ "value": "false" }, "nodeType": "VariableDeclarationStatement", - "src": "18118:31:2" + "src": "18117:31:2" }, { "condition": { @@ -17970,7 +18001,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "18229:5:2", + "src": "18228:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -17984,7 +18015,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "18229:16:2", + "src": "18228:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18005,7 +18036,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18257:1:2", + "src": "18256:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18027,7 +18058,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18249:7:2", + "src": "18248:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -18042,13 +18073,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18249:10:2", + "src": "18248:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "18229:30:2", + "src": "18228:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18057,11 +18088,11 @@ "falseBody": null, "id": 3878, "nodeType": "IfStatement", - "src": "18225:356:2", + "src": "18224:356:2", "trueBody": { "id": 3877, "nodeType": "Block", - "src": "18261:320:2", + "src": "18260:320:2", "statements": [ { "assignments": [ @@ -18074,7 +18105,7 @@ "name": "parentId", "nodeType": "VariableDeclaration", "scope": 3877, - "src": "18275:16:2", + "src": "18274:16:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18085,7 +18116,7 @@ "id": 3850, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18275:7:2", + "src": "18274:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18106,7 +18137,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "18335:14:2", + "src": "18334:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18127,9 +18158,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "18294:18:2", + "src": "18293:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -18140,8 +18171,8 @@ "lValueRequested": false, "memberName": "getSuperblockParentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7761, - "src": "18294:40:2", + "referencedDeclaration": 8262, + "src": "18293:40:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view external returns (bytes32)" @@ -18155,14 +18186,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18294:56:2", + "src": "18293:56:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "18275:75:2" + "src": "18274:75:2" }, { "assignments": [ @@ -18175,11 +18206,11 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 3877, - "src": "18364:33:2", + "src": "18363:33:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { @@ -18187,10 +18218,10 @@ "id": 3859, "name": "SyscoinSuperblocksI.Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "18364:26:2", + "referencedDeclaration": 8118, + "src": "18363:26:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -18209,7 +18240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3851, - "src": "18439:8:2", + "src": "18438:8:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18230,9 +18261,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "18400:18:2", + "src": "18399:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -18243,10 +18274,10 @@ "lValueRequested": false, "memberName": "getSuperblockStatus", "nodeType": "MemberAccess", - "referencedDeclaration": 7768, - "src": "18400:38:2", + "referencedDeclaration": 8269, + "src": "18399:38:2", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$8118_$", "typeString": "function (bytes32) view external returns (enum SyscoinSuperblocksI.Status)" } }, @@ -18258,20 +18289,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18400:48:2", + "src": "18399:48:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, "nodeType": "VariableDeclarationStatement", - "src": "18364:84:2" + "src": "18363:84:2" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "id": 3870, @@ -18286,9 +18317,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3860, - "src": "18466:6:2", + "src": "18465:6:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -18304,10 +18335,10 @@ "name": "SyscoinSuperblocksI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7790, - "src": "18476:19:2", + "referencedDeclaration": 8312, + "src": "18475:19:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$7790_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$8312_$", "typeString": "type(contract SyscoinSuperblocksI)" } }, @@ -18318,10 +18349,10 @@ "lValueRequested": false, "memberName": "Status", "nodeType": "MemberAccess", - "referencedDeclaration": 7617, - "src": "18476:26:2", + "referencedDeclaration": 8118, + "src": "18475:26:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, @@ -18333,13 +18364,13 @@ "memberName": "Approved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18476:35:2", + "src": "18475:35:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "18466:45:2", + "src": "18465:45:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18348,11 +18379,11 @@ "falseBody": null, "id": 3876, "nodeType": "IfStatement", - "src": "18462:109:2", + "src": "18461:109:2", "trueBody": { "id": 3875, "nodeType": "Block", - "src": "18513:58:2", + "src": "18512:58:2", "statements": [ { "expression": { @@ -18369,7 +18400,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3841, - "src": "18531:18:2", + "src": "18530:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18387,7 +18418,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18552:4:2", + "src": "18551:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -18395,7 +18426,7 @@ }, "value": "true" }, - "src": "18531:25:2", + "src": "18530:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18403,7 +18434,7 @@ }, "id": 3874, "nodeType": "ExpressionStatement", - "src": "18531:25:2" + "src": "18530:25:2" } ] } @@ -18419,7 +18450,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3841, - "src": "18595:18:2", + "src": "18594:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18428,7 +18459,7 @@ "falseBody": { "id": 3936, "nodeType": "Block", - "src": "18982:215:2", + "src": "18981:215:2", "statements": [ { "assignments": [ @@ -18441,7 +18472,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3936, - "src": "18996:8:2", + "src": "18995:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18452,7 +18483,7 @@ "id": 3915, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "18996:4:2", + "src": "18995:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18473,7 +18504,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "19038:14:2", + "src": "19037:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18487,8 +18518,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "19054:3:2", + "referencedDeclaration": 11098, + "src": "19053:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -18502,7 +18533,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19054:10:2", + "src": "19053:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -18527,9 +18558,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "19007:18:2", + "src": "19006:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -18540,8 +18571,8 @@ "lValueRequested": false, "memberName": "semiApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 7728, - "src": "19007:30:2", + "referencedDeclaration": 8229, + "src": "19006:30:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -18555,14 +18586,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19007:58:2", + "src": "19006:58:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18996:69:2" + "src": "18995:69:2" }, { "expression": { @@ -18586,7 +18617,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3916, - "src": "19087:3:2", + "src": "19086:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18600,14 +18631,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "19094:17:2", + "referencedDeclaration": 4517, + "src": "19093:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "19087:24:2", + "src": "19086:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18625,11 +18656,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "19079:7:2", + "referencedDeclaration": 11101, + "src": "19078:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -18643,7 +18674,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19079:33:2", + "src": "19078:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18651,7 +18682,7 @@ }, "id": 3929, "nodeType": "ExpressionStatement", - "src": "19079:33:2" + "src": "19078:33:2" }, { "eventCall": { @@ -18664,7 +18695,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "19154:14:2", + "src": "19153:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18679,7 +18710,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "19170:5:2", + "src": "19169:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -18693,7 +18724,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "19170:15:2", + "src": "19169:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18716,7 +18747,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2652, - "src": "19131:22:2", + "src": "19130:22:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" @@ -18730,7 +18761,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19131:55:2", + "src": "19130:55:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18738,17 +18769,17 @@ }, "id": 3935, "nodeType": "EmitStatement", - "src": "19126:60:2" + "src": "19125:60:2" } ] }, "id": 3937, "nodeType": "IfStatement", - "src": "18591:606:2", + "src": "18590:606:2", "trueBody": { "id": 3914, "nodeType": "Block", - "src": "18615:361:2", + "src": "18614:361:2", "statements": [ { "assignments": [ @@ -18761,7 +18792,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3914, - "src": "18629:8:2", + "src": "18628:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18772,7 +18803,7 @@ "id": 3880, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "18629:4:2", + "src": "18628:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18793,7 +18824,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "18667:14:2", + "src": "18666:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18807,8 +18838,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "18683:3:2", + "referencedDeclaration": 11098, + "src": "18682:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -18822,7 +18853,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18683:10:2", + "src": "18682:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -18847,9 +18878,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "18640:18:2", + "src": "18639:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -18860,8 +18891,8 @@ "lValueRequested": false, "memberName": "confirm", "nodeType": "MemberAccess", - "referencedDeclaration": 7710, - "src": "18640:26:2", + "referencedDeclaration": 8211, + "src": "18639:26:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -18875,14 +18906,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18640:54:2", + "src": "18639:54:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18629:65:2" + "src": "18628:65:2" }, { "expression": { @@ -18906,7 +18937,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3881, - "src": "18716:3:2", + "src": "18715:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18920,14 +18951,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "18723:17:2", + "referencedDeclaration": 4517, + "src": "18722:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18716:24:2", + "src": "18715:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18945,11 +18976,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "18708:7:2", + "referencedDeclaration": 11101, + "src": "18707:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -18963,7 +18994,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18708:33:2", + "src": "18707:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18971,7 +19002,7 @@ }, "id": 3894, "nodeType": "ExpressionStatement", - "src": "18708:33:2" + "src": "18707:33:2" }, { "assignments": [ @@ -18984,7 +19015,7 @@ "name": "submitter", "nodeType": "VariableDeclaration", "scope": 3914, - "src": "18755:17:2", + "src": "18754:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18995,7 +19026,7 @@ "id": 3895, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18755:7:2", + "src": "18754:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19016,7 +19047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "18775:5:2", + "src": "18774:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -19030,14 +19061,14 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "18775:15:2", + "src": "18774:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "18755:35:2" + "src": "18754:35:2" }, { "expression": { @@ -19050,7 +19081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "18818:14:2", + "src": "18817:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19063,7 +19094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3896, - "src": "18834:9:2", + "src": "18833:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19086,7 +19117,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2915, - "src": "18804:13:2", + "src": "18803:13:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes32,address) returns (uint256,uint256)" @@ -19100,7 +19131,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18804:40:2", + "src": "18803:40:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -19108,7 +19139,7 @@ }, "id": 3904, "nodeType": "ExpressionStatement", - "src": "18804:40:2" + "src": "18803:40:2" }, { "expression": { @@ -19121,7 +19152,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "18858:18:2", + "src": "18857:18:2", "subExpression": { "argumentTypes": null, "id": 3905, @@ -19129,7 +19160,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "18858:16:2", + "src": "18857:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19142,7 +19173,7 @@ }, "id": 3907, "nodeType": "ExpressionStatement", - "src": "18858:18:2" + "src": "18857:18:2" }, { "eventCall": { @@ -19155,7 +19186,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "18921:14:2", + "src": "18920:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19168,7 +19199,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3896, - "src": "18937:9:2", + "src": "18936:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19181,7 +19212,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "18948:16:2", + "src": "18947:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19208,7 +19239,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2646, - "src": "18895:25:2", + "src": "18894:25:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -19222,7 +19253,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18895:70:2", + "src": "18894:70:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19230,7 +19261,7 @@ }, "id": 3913, "nodeType": "EmitStatement", - "src": "18890:75:2" + "src": "18889:75:2" } ] } @@ -19246,7 +19277,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19213:4:2", + "src": "19212:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -19257,7 +19288,7 @@ "functionReturnParameters": 3744, "id": 3939, "nodeType": "Return", - "src": "19206:11:2" + "src": "19205:11:2" } ] }, @@ -19278,7 +19309,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 3941, - "src": "16749:22:2", + "src": "16748:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19289,7 +19320,7 @@ "id": 3739, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16749:7:2", + "src": "16748:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19299,7 +19330,7 @@ "visibility": "internal" } ], - "src": "16748:24:2" + "src": "16747:24:2" }, "returnParameters": { "id": 3744, @@ -19311,7 +19342,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3941, - "src": "16791:4:2", + "src": "16790:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19322,7 +19353,7 @@ "id": 3742, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "16791:4:2", + "src": "16790:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19332,10 +19363,10 @@ "visibility": "internal" } ], - "src": "16790:6:2" + "src": "16789:6:2" }, - "scope": 4337, - "src": "16721:2503:2", + "scope": 4338, + "src": "16720:2503:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -19344,7 +19375,7 @@ "body": { "id": 4007, "nodeType": "Block", - "src": "19546:478:2", + "src": "19545:478:2", "statements": [ { "assignments": [ @@ -19357,7 +19388,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 4007, - "src": "19556:29:2", + "src": "19555:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -19370,7 +19401,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "19556:15:2", + "src": "19555:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -19390,7 +19421,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "19588:6:2", + "src": "19587:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -19404,7 +19435,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3943, - "src": "19595:14:2", + "src": "19594:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19415,14 +19446,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19588:22:2", + "src": "19587:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "19556:54:2" + "src": "19555:54:2" }, { "expression": { @@ -19438,7 +19469,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3953, - "src": "19641:5:2", + "src": "19640:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -19456,8 +19487,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "19629:11:2", + "referencedDeclaration": 4254, + "src": "19628:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -19471,7 +19502,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19629:18:2", + "src": "19628:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19489,11 +19520,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "19621:7:2", + "referencedDeclaration": 11101, + "src": "19620:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -19507,7 +19538,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19621:27:2", + "src": "19620:27:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19515,7 +19546,7 @@ }, "id": 3963, "nodeType": "ExpressionStatement", - "src": "19621:27:2" + "src": "19620:27:2" }, { "expression": { @@ -19534,7 +19565,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3953, - "src": "19659:5:2", + "src": "19658:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -19548,7 +19579,7 @@ "memberName": "verificationOngoing", "nodeType": "MemberAccess", "referencedDeclaration": 2577, - "src": "19659:25:2", + "src": "19658:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19566,7 +19597,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19687:5:2", + "src": "19686:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -19574,7 +19605,7 @@ }, "value": "false" }, - "src": "19659:33:2", + "src": "19658:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19582,7 +19613,7 @@ }, "id": 3969, "nodeType": "ExpressionStatement", - "src": "19659:33:2" + "src": "19658:33:2" }, { "assignments": [ @@ -19595,7 +19626,7 @@ "name": "submitter", "nodeType": "VariableDeclaration", "scope": 4007, - "src": "19702:17:2", + "src": "19701:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19606,7 +19637,7 @@ "id": 3970, "name": "address", "nodeType": "ElementaryTypeName", - "src": "19702:7:2", + "src": "19701:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19627,7 +19658,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3953, - "src": "19722:5:2", + "src": "19721:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -19641,14 +19672,14 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "19722:15:2", + "src": "19721:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "19702:35:2" + "src": "19701:35:2" }, { "condition": { @@ -19669,7 +19700,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3971, - "src": "19752:9:2", + "src": "19751:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19684,13 +19715,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3947, - "src": "19765:5:2", + "src": "19764:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19752:18:2", + "src": "19751:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19715,7 +19746,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3971, - "src": "19827:9:2", + "src": "19826:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19730,13 +19761,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3945, - "src": "19840:6:2", + "src": "19839:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19827:19:2", + "src": "19826:19:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19745,7 +19776,7 @@ "falseBody": { "id": 3998, "nodeType": "Block", - "src": "19916:33:2", + "src": "19915:33:2", "statements": [ { "expression": { @@ -19757,11 +19788,11 @@ "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 10189, - 10190 + 11103, + 11104 ], - "referencedDeclaration": 10189, - "src": "19930:6:2", + "referencedDeclaration": 11103, + "src": "19929:6:2", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$__$returns$__$", "typeString": "function () pure" @@ -19775,7 +19806,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19930:8:2", + "src": "19929:8:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19783,17 +19814,17 @@ }, "id": 3997, "nodeType": "ExpressionStatement", - "src": "19930:8:2" + "src": "19929:8:2" } ] }, "id": 3999, "nodeType": "IfStatement", - "src": "19823:126:2", + "src": "19822:126:2", "trueBody": { "id": 3994, "nodeType": "Block", - "src": "19848:55:2", + "src": "19847:55:2", "statements": [ { "expression": { @@ -19812,7 +19843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3953, - "src": "19862:5:2", + "src": "19861:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -19826,7 +19857,7 @@ "memberName": "challengeDefended", "nodeType": "MemberAccess", "referencedDeclaration": 2583, - "src": "19862:23:2", + "src": "19861:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19844,7 +19875,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19888:4:2", + "src": "19887:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -19852,7 +19883,7 @@ }, "value": "true" }, - "src": "19862:30:2", + "src": "19861:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19860,18 +19891,18 @@ }, "id": 3993, "nodeType": "ExpressionStatement", - "src": "19862:30:2" + "src": "19861:30:2" } ] } }, "id": 4000, "nodeType": "IfStatement", - "src": "19748:201:2", + "src": "19747:201:2", "trueBody": { "id": 3984, "nodeType": "Block", - "src": "19772:45:2", + "src": "19771:45:2", "statements": [ { "expression": { @@ -19890,7 +19921,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3953, - "src": "19786:5:2", + "src": "19785:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -19904,7 +19935,7 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "19786:13:2", + "src": "19785:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19922,7 +19953,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19802:4:2", + "src": "19801:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -19930,7 +19961,7 @@ }, "value": "true" }, - "src": "19786:20:2", + "src": "19785:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19938,7 +19969,7 @@ }, "id": 3983, "nodeType": "ExpressionStatement", - "src": "19786:20:2" + "src": "19785:20:2" } ] } @@ -19954,7 +19985,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3943, - "src": "19987:14:2", + "src": "19986:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19967,7 +19998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3945, - "src": "20003:6:2", + "src": "20002:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19980,7 +20011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3947, - "src": "20011:5:2", + "src": "20010:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20007,7 +20038,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2638, - "src": "19963:23:2", + "src": "19962:23:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", "typeString": "function (bytes32,address,address)" @@ -20021,7 +20052,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19963:54:2", + "src": "19962:54:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20029,7 +20060,7 @@ }, "id": 4006, "nodeType": "EmitStatement", - "src": "19958:59:2" + "src": "19957:59:2" } ] }, @@ -20048,14 +20079,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2687, - "src": "19528:17:2", + "src": "19527:17:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "19528:17:2" + "src": "19527:17:2" } ], "name": "sessionDecided", @@ -20070,7 +20101,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 4008, - "src": "19464:22:2", + "src": "19463:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20081,7 +20112,7 @@ "id": 3942, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "19464:7:2", + "src": "19463:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20096,7 +20127,7 @@ "name": "winner", "nodeType": "VariableDeclaration", "scope": 4008, - "src": "19488:14:2", + "src": "19487:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20107,7 +20138,7 @@ "id": 3944, "name": "address", "nodeType": "ElementaryTypeName", - "src": "19488:7:2", + "src": "19487:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20123,7 +20154,7 @@ "name": "loser", "nodeType": "VariableDeclaration", "scope": 4008, - "src": "19504:13:2", + "src": "19503:13:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20134,7 +20165,7 @@ "id": 3946, "name": "address", "nodeType": "ElementaryTypeName", - "src": "19504:7:2", + "src": "19503:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20145,16 +20176,16 @@ "visibility": "internal" } ], - "src": "19463:55:2" + "src": "19462:55:2" }, "returnParameters": { "id": 3951, "nodeType": "ParameterList", "parameters": [], - "src": "19546:0:2" + "src": "19545:0:2" }, - "scope": 4337, - "src": "19440:584:2", + "scope": 4338, + "src": "19439:584:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -20163,7 +20194,7 @@ "body": { "id": 4128, "nodeType": "Block", - "src": "20219:1166:2", + "src": "20218:1166:2", "statements": [ { "assignments": [ @@ -20176,7 +20207,7 @@ "name": "challenger", "nodeType": "VariableDeclaration", "scope": 4128, - "src": "20229:18:2", + "src": "20228:18:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20187,7 +20218,7 @@ "id": 4015, "name": "address", "nodeType": "ElementaryTypeName", - "src": "20229:7:2", + "src": "20228:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20208,7 +20239,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4012, - "src": "20250:5:2", + "src": "20249:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -20222,14 +20253,14 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "20250:16:2", + "src": "20249:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "20229:37:2" + "src": "20228:37:2" }, { "assignments": [ @@ -20242,7 +20273,7 @@ "name": "submitter", "nodeType": "VariableDeclaration", "scope": 4128, - "src": "20276:17:2", + "src": "20275:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20253,7 +20284,7 @@ "id": 4020, "name": "address", "nodeType": "ElementaryTypeName", - "src": "20276:7:2", + "src": "20275:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20274,7 +20305,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4012, - "src": "20296:5:2", + "src": "20295:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -20288,14 +20319,14 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "20296:15:2", + "src": "20295:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "20276:35:2" + "src": "20275:35:2" }, { "condition": { @@ -20327,7 +20358,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4016, - "src": "20326:10:2", + "src": "20325:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20348,7 +20379,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20348:1:2", + "src": "20347:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -20370,7 +20401,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "20340:7:2", + "src": "20339:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -20385,13 +20416,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20340:10:2", + "src": "20339:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "20326:24:2", + "src": "20325:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20417,7 +20448,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4021, - "src": "20354:9:2", + "src": "20353:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20438,7 +20469,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20375:1:2", + "src": "20374:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -20460,7 +20491,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "20367:7:2", + "src": "20366:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -20475,19 +20506,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20367:10:2", + "src": "20366:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "20354:23:2", + "src": "20353:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "20326:51:2", + "src": "20325:51:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20496,11 +20527,11 @@ "falseBody": null, "id": 4127, "nodeType": "IfStatement", - "src": "20322:1057:2", + "src": "20321:1057:2", "trueBody": { "id": 4126, "nodeType": "Block", - "src": "20379:1000:2", + "src": "20378:1000:2", "statements": [ { "assignments": [ @@ -20513,7 +20544,7 @@ "name": "reward", "nodeType": "VariableDeclaration", "scope": 4126, - "src": "20393:11:2", + "src": "20392:11:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20524,7 +20555,7 @@ "id": 4036, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "20393:4:2", + "src": "20392:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20546,7 +20577,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4012, - "src": "20407:5:2", + "src": "20406:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -20560,7 +20591,7 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "20407:20:2", + "src": "20406:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -20574,7 +20605,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4021, - "src": "20428:9:2", + "src": "20427:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20585,14 +20616,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20407:31:2", + "src": "20406:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "20393:45:2" + "src": "20392:45:2" }, { "expression": { @@ -20609,7 +20640,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4037, - "src": "20452:6:2", + "src": "20451:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20627,7 +20658,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20462:19:2", + "src": "20461:19:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000000000000000_by_1", @@ -20635,7 +20666,7 @@ }, "value": "1000000000000000000" }, - "src": "20452:29:2", + "src": "20451:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20643,7 +20674,7 @@ }, "id": 4046, "nodeType": "ExpressionStatement", - "src": "20452:29:2" + "src": "20451:29:2" }, { "expression": { @@ -20664,7 +20695,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4012, - "src": "20506:5:2", + "src": "20505:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -20678,7 +20709,7 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "20506:20:2", + "src": "20505:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -20692,7 +20723,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4016, - "src": "20527:10:2", + "src": "20526:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20703,7 +20734,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20506:32:2", + "src": "20505:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20721,7 +20752,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4037, - "src": "20578:6:2", + "src": "20577:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20746,7 +20777,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4012, - "src": "20541:5:2", + "src": "20540:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -20760,7 +20791,7 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "20541:20:2", + "src": "20540:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -20774,7 +20805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4016, - "src": "20562:10:2", + "src": "20561:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20785,7 +20816,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20541:32:2", + "src": "20540:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20798,8 +20829,8 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "20541:36:2", + "referencedDeclaration": 9395, + "src": "20540:36:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -20813,13 +20844,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20541:44:2", + "src": "20540:44:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "20506:79:2", + "src": "20505:79:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20827,7 +20858,7 @@ }, "id": 4060, "nodeType": "ExpressionStatement", - "src": "20506:79:2" + "src": "20505:79:2" }, { "expression": { @@ -20840,7 +20871,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4010, - "src": "20613:14:2", + "src": "20612:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20853,7 +20884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4016, - "src": "20629:10:2", + "src": "20628:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20876,7 +20907,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2915, - "src": "20599:13:2", + "src": "20598:13:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes32,address) returns (uint256,uint256)" @@ -20890,7 +20921,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20599:41:2", + "src": "20598:41:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -20898,7 +20929,7 @@ }, "id": 4065, "nodeType": "ExpressionStatement", - "src": "20599:41:2" + "src": "20598:41:2" }, { "expression": { @@ -20911,7 +20942,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "20654:38:2", + "src": "20653:38:2", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -20923,7 +20954,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4012, - "src": "20661:5:2", + "src": "20660:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -20937,7 +20968,7 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "20661:20:2", + "src": "20660:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -20951,7 +20982,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4021, - "src": "20682:9:2", + "src": "20681:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20962,7 +20993,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20661:31:2", + "src": "20660:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20975,7 +21006,7 @@ }, "id": 4071, "nodeType": "ExpressionStatement", - "src": "20654:38:2" + "src": "20653:38:2" }, { "assignments": [ @@ -20988,7 +21019,7 @@ "name": "numPaid", "nodeType": "VariableDeclaration", "scope": 4126, - "src": "20792:12:2", + "src": "20791:12:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20999,7 +21030,7 @@ "id": 4072, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "20792:4:2", + "src": "20791:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21020,7 +21051,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20807:1:2", + "src": "20806:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21029,7 +21060,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "20792:16:2" + "src": "20791:16:2" }, { "assignments": [ @@ -21042,7 +21073,7 @@ "name": "prevSubmitter", "nodeType": "VariableDeclaration", "scope": 4126, - "src": "20822:21:2", + "src": "20821:21:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21053,7 +21084,7 @@ "id": 4076, "name": "address", "nodeType": "ElementaryTypeName", - "src": "20822:7:2", + "src": "20821:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21067,7 +21098,7 @@ "id": 4078, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "20822:21:2" + "src": "20821:21:2" }, { "assignments": [ @@ -21080,11 +21111,11 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 4126, - "src": "20857:33:2", + "src": "20856:33:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { @@ -21092,10 +21123,10 @@ "id": 4081, "name": "SyscoinSuperblocksI.Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "20857:26:2", + "referencedDeclaration": 8118, + "src": "20856:26:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -21106,13 +21137,13 @@ "id": 4083, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "20857:33:2" + "src": "20856:33:2" }, { "body": { "id": 4124, "nodeType": "Block", - "src": "20924:444:2", + "src": "20923:444:2", "statements": [ { "expression": { @@ -21137,7 +21168,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4010, - "src": "20948:14:2", + "src": "20947:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21150,7 +21181,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4077, - "src": "20963:13:2", + "src": "20962:13:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21163,9 +21194,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4082, - "src": "20977:6:2", + "src": "20976:6:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -21178,9 +21209,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "20942:43:2", + "src": "20941:43:2", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$__$__$__$__$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$__$", + "typeIdentifier": "t_tuple$__$__$__$__$__$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$__$", "typeString": "tuple(,,,,,bytes32,address,enum SyscoinSuperblocksI.Status,)" } }, @@ -21196,7 +21227,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4010, - "src": "21021:14:2", + "src": "21020:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21217,9 +21248,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "20988:18:2", + "src": "20987:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -21230,10 +21261,10 @@ "lValueRequested": false, "memberName": "getSuperblock", "nodeType": "MemberAccess", - "referencedDeclaration": 7680, - "src": "20988:32:2", + "referencedDeclaration": 8181, + "src": "20987:32:2", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", "typeString": "function (bytes32) view external returns (bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" } }, @@ -21245,13 +21276,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20988:48:2", + "src": "20987:48:2", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", "typeString": "tuple(bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" } }, - "src": "20942:94:2", + "src": "20941:94:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -21259,7 +21290,7 @@ }, "id": 4096, "nodeType": "ExpressionStatement", - "src": "20942:94:2" + "src": "20941:94:2" }, { "condition": { @@ -21280,7 +21311,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4010, - "src": "21057:14:2", + "src": "21056:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21298,7 +21329,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "21075:3:2", + "src": "21074:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21306,7 +21337,7 @@ }, "value": "0x0" }, - "src": "21057:21:2", + "src": "21056:21:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21315,18 +21346,18 @@ "falseBody": null, "id": 4101, "nodeType": "IfStatement", - "src": "21054:51:2", + "src": "21053:51:2", "trueBody": { "id": 4100, "nodeType": "Break", - "src": "21100:5:2" + "src": "21099:5:2" } }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "id": 4106, @@ -21341,9 +21372,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4082, - "src": "21127:6:2", + "src": "21126:6:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -21359,10 +21390,10 @@ "name": "SyscoinSuperblocksI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7790, - "src": "21137:19:2", + "referencedDeclaration": 8312, + "src": "21136:19:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$7790_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$8312_$", "typeString": "type(contract SyscoinSuperblocksI)" } }, @@ -21373,10 +21404,10 @@ "lValueRequested": false, "memberName": "Status", "nodeType": "MemberAccess", - "referencedDeclaration": 7617, - "src": "21137:26:2", + "referencedDeclaration": 8118, + "src": "21136:26:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, @@ -21388,13 +21419,13 @@ "memberName": "Approved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21137:35:2", + "src": "21136:35:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "21127:45:2", + "src": "21126:45:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21403,16 +21434,16 @@ "falseBody": null, "id": 4109, "nodeType": "IfStatement", - "src": "21123:100:2", + "src": "21122:100:2", "trueBody": { "id": 4108, "nodeType": "Block", - "src": "21174:49:2", + "src": "21173:49:2", "statements": [ { "id": 4107, "nodeType": "Continue", - "src": "21196:8:2" + "src": "21195:8:2" } ] } @@ -21433,8 +21464,8 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "21240:8:2", + "referencedDeclaration": 4348, + "src": "21239:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -21448,7 +21479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4077, - "src": "21249:13:2", + "src": "21248:13:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21459,7 +21490,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "21240:23:2", + "src": "21239:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21480,7 +21511,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "21294:18:2", + "src": "21293:18:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100000000000000000_by_1", @@ -21504,8 +21535,8 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "21266:8:2", + "referencedDeclaration": 4348, + "src": "21265:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -21519,7 +21550,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4077, - "src": "21275:13:2", + "src": "21274:13:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21530,7 +21561,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21266:23:2", + "src": "21265:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21543,8 +21574,8 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "21266:27:2", + "referencedDeclaration": 9395, + "src": "21265:27:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -21558,13 +21589,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21266:47:2", + "src": "21265:47:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "21240:73:2", + "src": "21239:73:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21572,7 +21603,7 @@ }, "id": 4120, "nodeType": "ExpressionStatement", - "src": "21240:73:2" + "src": "21239:73:2" }, { "expression": { @@ -21585,7 +21616,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "21344:9:2", + "src": "21343:9:2", "subExpression": { "argumentTypes": null, "id": 4121, @@ -21593,7 +21624,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4073, - "src": "21344:7:2", + "src": "21343:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21606,7 +21637,7 @@ }, "id": 4123, "nodeType": "ExpressionStatement", - "src": "21344:9:2" + "src": "21343:9:2" } ] }, @@ -21628,7 +21659,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4073, - "src": "20911:7:2", + "src": "20910:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21646,7 +21677,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20921:1:2", + "src": "20920:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", @@ -21654,7 +21685,7 @@ }, "value": "7" }, - "src": "20911:11:2", + "src": "20910:11:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21662,7 +21693,7 @@ }, "id": 4125, "nodeType": "WhileStatement", - "src": "20904:464:2" + "src": "20903:464:2" } ] } @@ -21686,7 +21717,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 4129, - "src": "20156:22:2", + "src": "20155:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21697,7 +21728,7 @@ "id": 4009, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "20156:7:2", + "src": "20155:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21712,7 +21743,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 4129, - "src": "20180:29:2", + "src": "20179:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -21725,7 +21756,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "20180:15:2", + "src": "20179:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -21735,25 +21766,25 @@ "visibility": "internal" } ], - "src": "20155:55:2" + "src": "20154:55:2" }, "returnParameters": { "id": 4014, "nodeType": "ParameterList", "parameters": [], - "src": "20219:0:2" + "src": "20218:0:2" }, - "scope": 4337, - "src": "20131:1254:2", + "scope": 4338, + "src": "20130:1254:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 4191, + "id": 4192, "nodeType": "Block", - "src": "21530:435:2", + "src": "21529:456:2", "statements": [ { "assignments": [ @@ -21765,8 +21796,8 @@ "id": 4137, "name": "challenger", "nodeType": "VariableDeclaration", - "scope": 4191, - "src": "21540:18:2", + "scope": 4192, + "src": "21539:18:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21777,7 +21808,7 @@ "id": 4136, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21540:7:2", + "src": "21539:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21798,7 +21829,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4133, - "src": "21561:5:2", + "src": "21560:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -21812,14 +21843,14 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "21561:16:2", + "src": "21560:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "21540:37:2" + "src": "21539:37:2" }, { "assignments": [ @@ -21831,8 +21862,8 @@ "id": 4142, "name": "submitter", "nodeType": "VariableDeclaration", - "scope": 4191, - "src": "21587:17:2", + "scope": 4192, + "src": "21586:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21843,7 +21874,7 @@ "id": 4141, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21587:7:2", + "src": "21586:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21864,7 +21895,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4133, - "src": "21607:5:2", + "src": "21606:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -21878,232 +21909,125 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "21607:15:2", + "src": "21606:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "21587:35:2" + "src": "21586:35:2" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 4156, + "id": 4150, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { + "id": 4146, + "name": "challenger", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4137, + "src": "21635:10:2", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" - }, - "id": 4150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4146, - "name": "challenger", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4137, - "src": "21637:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 4148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21659:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21651:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 4149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21651:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "21637:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } }, "nodeType": "BinaryOperation", - "operator": "&&", + "operator": "!=", "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4151, - "name": "submitter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4142, - "src": "21665:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 4153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21686:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4152, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4148, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21678:7:2", + "nodeType": "Literal", + "src": "21657:1:2", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "typeName": "address" - }, - "id": 4154, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4147, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "typeConversion", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21678:10:2", + "nodeType": "ElementaryTypeNameExpression", + "src": "21649:7:2", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "src": "21665:23:2", + "id": 4149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21649:10:2", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "21637:51:2", + "src": "21635:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 4190, + "id": 4179, "nodeType": "IfStatement", - "src": "21633:326:2", + "src": "21631:245:2", "trueBody": { - "id": 4189, + "id": 4178, "nodeType": "Block", - "src": "21690:269:2", + "src": "21661:215:2", "statements": [ { "assignments": [ - 4158 + 4152 ], "declarations": [ { "constant": false, - "id": 4158, + "id": 4152, "name": "reward", "nodeType": "VariableDeclaration", - "scope": 4189, - "src": "21704:11:2", + "scope": 4178, + "src": "21675:11:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22111,10 +22035,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4157, + "id": 4151, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "21704:4:2", + "src": "21675:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22124,25 +22048,25 @@ "visibility": "internal" } ], - "id": 4163, + "id": 4157, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4159, + "id": 4153, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4133, - "src": "21718:5:2", + "src": "21689:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4160, + "id": 4154, "isConstant": false, "isLValue": true, "isPure": false, @@ -22150,21 +22074,21 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "21718:20:2", + "src": "21689:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4162, + "id": 4156, "indexExpression": { "argumentTypes": null, - "id": 4161, + "id": 4155, "name": "challenger", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4137, - "src": "21739:10:2", + "src": "21710:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22175,19 +22099,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21718:32:2", + "src": "21689:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "21704:46:2" + "src": "21675:46:2" }, { "expression": { "argumentTypes": null, - "id": 4176, + "id": 4170, "isConstant": false, "isLValue": false, "isPure": false, @@ -22198,18 +22122,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4164, + "id": 4158, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4133, - "src": "21764:5:2", + "src": "21735:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4167, + "id": 4161, "isConstant": false, "isLValue": true, "isPure": false, @@ -22217,21 +22141,21 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "21764:20:2", + "src": "21735:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4168, + "id": 4162, "indexExpression": { "argumentTypes": null, - "id": 4166, + "id": 4160, "name": "submitter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4142, - "src": "21785:9:2", + "src": "21756:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22242,7 +22166,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "21764:31:2", + "src": "21735:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22255,12 +22179,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4174, + "id": 4168, "name": "reward", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4158, - "src": "21834:6:2", + "referencedDeclaration": 4152, + "src": "21805:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22280,18 +22204,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4169, + "id": 4163, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4133, - "src": "21798:5:2", + "src": "21769:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4170, + "id": 4164, "isConstant": false, "isLValue": true, "isPure": false, @@ -22299,21 +22223,21 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "21798:20:2", + "src": "21769:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4172, + "id": 4166, "indexExpression": { "argumentTypes": null, - "id": 4171, + "id": 4165, "name": "submitter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4142, - "src": "21819:9:2", + "src": "21790:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22324,27 +22248,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21798:31:2", + "src": "21769:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4173, + "id": 4167, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "21798:35:2", + "referencedDeclaration": 9395, + "src": "21769:35:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4175, + "id": 4169, "isConstant": false, "isLValue": false, "isPure": false, @@ -22352,97 +22276,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21798:43:2", + "src": "21769:43:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "21764:77:2", + "src": "21735:77:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4177, + "id": 4171, "nodeType": "ExpressionStatement", - "src": "21764:77:2" + "src": "21735:77:2" }, { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4179, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "src": "21869:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 4180, - "name": "submitter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4142, - "src": "21885:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4178, - "name": "unbondDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2915, - "src": "21855:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes32,address) returns (uint256,uint256)" - } - }, - "id": 4181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21855:40:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "id": 4182, - "nodeType": "ExpressionStatement", - "src": "21855:40:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 4187, + "id": 4176, "isConstant": false, "isLValue": false, "isPure": false, @@ -22450,25 +22303,25 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "21909:39:2", + "src": "21826:39:2", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4183, + "id": 4172, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4133, - "src": "21916:5:2", + "src": "21833:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4184, + "id": 4173, "isConstant": false, "isLValue": true, "isPure": false, @@ -22476,21 +22329,21 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "21916:20:2", + "src": "21833:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4186, + "id": 4175, "indexExpression": { "argumentTypes": null, - "id": 4185, + "id": 4174, "name": "challenger", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4137, - "src": "21937:10:2", + "src": "21854:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22501,7 +22354,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "21916:32:2", + "src": "21833:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22512,9 +22365,181 @@ "typeString": "tuple()" } }, - "id": 4188, + "id": 4177, + "nodeType": "ExpressionStatement", + "src": "21826:39:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4180, + "name": "submitter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4142, + "src": "21889:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21910:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "21902:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21902:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "21889:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4191, + "nodeType": "IfStatement", + "src": "21885:94:2", + "trueBody": { + "id": 4190, + "nodeType": "Block", + "src": "21914:65:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4186, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4131, + "src": "21942:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4187, + "name": "submitter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4142, + "src": "21958:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4185, + "name": "unbondDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "21928:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32,address) returns (uint256,uint256)" + } + }, + "id": 4188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21928:40:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 4189, "nodeType": "ExpressionStatement", - "src": "21909:39:2" + "src": "21928:40:2" } ] } @@ -22522,7 +22547,7 @@ ] }, "documentation": null, - "id": 4192, + "id": 4193, "implemented": true, "kind": "function", "modifiers": [], @@ -22537,8 +22562,8 @@ "id": 4131, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4192, - "src": "21467:22:2", + "scope": 4193, + "src": "21466:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22549,7 +22574,7 @@ "id": 4130, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "21467:7:2", + "src": "21466:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22563,8 +22588,8 @@ "id": 4133, "name": "claim", "nodeType": "VariableDeclaration", - "scope": 4192, - "src": "21491:29:2", + "scope": 4193, + "src": "21490:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -22577,7 +22602,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "21491:15:2", + "src": "21490:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -22587,38 +22612,38 @@ "visibility": "internal" } ], - "src": "21466:55:2" + "src": "21465:55:2" }, "returnParameters": { "id": 4135, "nodeType": "ParameterList", "parameters": [], - "src": "21530:0:2" + "src": "21529:0:2" }, - "scope": 4337, - "src": "21443:522:2", + "scope": 4338, + "src": "21442:543:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 4236, + "id": 4237, "nodeType": "Block", - "src": "22149:333:2", + "src": "22169:333:2", "statements": [ { "assignments": [ - 4200 + 4201 ], "declarations": [ { "constant": false, - "id": 4200, + "id": 4201, "name": "claim", "nodeType": "VariableDeclaration", - "scope": 4236, - "src": "22159:29:2", + "scope": 4237, + "src": "22179:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -22627,11 +22652,11 @@ }, "typeName": { "contractScope": null, - "id": 4199, + "id": 4200, "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "22159:15:2", + "src": "22179:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -22641,31 +22666,31 @@ "visibility": "internal" } ], - "id": 4204, + "id": 4205, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4201, + "id": 4202, "name": "claims", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "22191:6:2", + "src": "22211:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" } }, - "id": 4203, + "id": 4204, "indexExpression": { "argumentTypes": null, - "id": 4202, + "id": 4203, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4194, - "src": "22198:14:2", + "referencedDeclaration": 4195, + "src": "22218:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22676,14 +22701,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "22191:22:2", + "src": "22211:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "22159:54:2" + "src": "22179:54:2" }, { "expression": { @@ -22695,7 +22720,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4233, + "id": 4234, "isConstant": false, "isLValue": false, "isPure": false, @@ -22706,7 +22731,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4226, + "id": 4227, "isConstant": false, "isLValue": false, "isPure": false, @@ -22717,7 +22742,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4220, + "id": 4221, "isConstant": false, "isLValue": false, "isPure": false, @@ -22728,7 +22753,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4216, + "id": 4217, "isConstant": false, "isLValue": false, "isPure": false, @@ -22736,10 +22761,10 @@ "leftExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 4212, + "id": 4213, "isConstant": false, "isLValue": false, "isPure": false, @@ -22749,12 +22774,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4207, + "id": 4208, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4194, - "src": "22270:14:2", + "referencedDeclaration": 4195, + "src": "22290:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22770,32 +22795,32 @@ ], "expression": { "argumentTypes": null, - "id": 4205, + "id": 4206, "name": "trustedSuperblocks", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "22231:18:2", + "src": "22251:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, - "id": 4206, + "id": 4207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getSuperblockStatus", "nodeType": "MemberAccess", - "referencedDeclaration": 7768, - "src": "22231:38:2", + "referencedDeclaration": 8269, + "src": "22251:38:2", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$8118_$", "typeString": "function (bytes32) view external returns (enum SyscoinSuperblocksI.Status)" } }, - "id": 4208, + "id": 4209, "isConstant": false, "isLValue": false, "isPure": false, @@ -22803,9 +22828,9 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22231:54:2", + "src": "22251:54:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -22817,32 +22842,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4209, + "id": 4210, "name": "SyscoinSuperblocksI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7790, - "src": "22289:19:2", + "referencedDeclaration": 8312, + "src": "22309:19:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$7790_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$8312_$", "typeString": "type(contract SyscoinSuperblocksI)" } }, - "id": 4210, + "id": 4211, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "Status", "nodeType": "MemberAccess", - "referencedDeclaration": 7617, - "src": "22289:26:2", + "referencedDeclaration": 8118, + "src": "22309:26:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 4211, + "id": 4212, "isConstant": false, "isLValue": false, "isPure": true, @@ -22850,13 +22875,13 @@ "memberName": "InBattle", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "22289:35:2", + "src": "22309:35:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "22231:93:2", + "src": "22251:93:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22866,7 +22891,7 @@ "operator": "&&", "rightExpression": { "argumentTypes": null, - "id": 4215, + "id": 4216, "isConstant": false, "isLValue": false, "isPure": false, @@ -22874,23 +22899,23 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "22340:14:2", + "src": "22360:14:2", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4213, + "id": 4214, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4200, - "src": "22341:5:2", + "referencedDeclaration": 4201, + "src": "22361:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4214, + "id": 4215, "isConstant": false, "isLValue": true, "isPure": false, @@ -22898,7 +22923,7 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "22341:13:2", + "src": "22361:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22909,7 +22934,7 @@ "typeString": "bool" } }, - "src": "22231:123:2", + "src": "22251:123:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22919,7 +22944,7 @@ "operator": "&&", "rightExpression": { "argumentTypes": null, - "id": 4219, + "id": 4220, "isConstant": false, "isLValue": false, "isPure": false, @@ -22927,23 +22952,23 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "22358:26:2", + "src": "22378:26:2", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4217, + "id": 4218, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4200, - "src": "22359:5:2", + "referencedDeclaration": 4201, + "src": "22379:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4218, + "id": 4219, "isConstant": false, "isLValue": true, "isPure": false, @@ -22951,7 +22976,7 @@ "memberName": "verificationOngoing", "nodeType": "MemberAccess", "referencedDeclaration": 2577, - "src": "22359:25:2", + "src": "22379:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22962,7 +22987,7 @@ "typeString": "bool" } }, - "src": "22231:153:2", + "src": "22251:153:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22976,7 +23001,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4225, + "id": 4226, "isConstant": false, "isLValue": false, "isPure": false, @@ -22985,18 +23010,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4221, + "id": 4222, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "22388:5:2", + "referencedDeclaration": 11088, + "src": "22408:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 4222, + "id": 4223, "isConstant": false, "isLValue": false, "isPure": false, @@ -23004,7 +23029,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "22388:15:2", + "src": "22408:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23016,18 +23041,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4223, + "id": 4224, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4200, - "src": "22406:5:2", + "referencedDeclaration": 4201, + "src": "22426:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4224, + "id": 4225, "isConstant": false, "isLValue": true, "isPure": false, @@ -23035,19 +23060,19 @@ "memberName": "challengeTimeout", "nodeType": "MemberAccess", "referencedDeclaration": 2575, - "src": "22406:22:2", + "src": "22426:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22388:40:2", + "src": "22408:40:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "22231:197:2", + "src": "22251:197:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23061,7 +23086,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4232, + "id": 4233, "isConstant": false, "isLValue": false, "isPure": false, @@ -23070,18 +23095,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4227, + "id": 4228, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4200, - "src": "22444:5:2", + "referencedDeclaration": 4201, + "src": "22464:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4228, + "id": 4229, "isConstant": false, "isLValue": true, "isPure": false, @@ -23089,7 +23114,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "22444:16:2", + "src": "22464:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23103,14 +23128,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4230, + "id": 4231, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "22472:1:2", + "src": "22492:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23126,20 +23151,20 @@ "typeString": "int_const 0" } ], - "id": 4229, + "id": 4230, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "22464:7:2", + "src": "22484:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 4231, + "id": 4232, "isConstant": false, "isLValue": false, "isPure": true, @@ -23147,63 +23172,63 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22464:10:2", + "src": "22484:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "22444:30:2", + "src": "22464:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "22231:243:2", + "src": "22251:243:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 4234, + "id": 4235, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "22230:245:2", + "src": "22250:245:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 4198, - "id": 4235, + "functionReturnParameters": 4199, + "id": 4236, "nodeType": "Return", - "src": "22223:252:2" + "src": "22243:252:2" } ] }, "documentation": null, - "id": 4237, + "id": 4238, "implemented": true, "kind": "function", "modifiers": [], "name": "getInBattleAndSemiApprovable", "nodeType": "FunctionDefinition", "parameters": { - "id": 4195, + "id": 4196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4194, + "id": 4195, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4237, - "src": "22096:22:2", + "scope": 4238, + "src": "22116:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23211,10 +23236,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4193, + "id": 4194, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "22096:7:2", + "src": "22116:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23224,19 +23249,19 @@ "visibility": "internal" } ], - "src": "22095:24:2" + "src": "22115:24:2" }, "returnParameters": { - "id": 4198, + "id": 4199, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4197, + "id": 4198, "name": "", "nodeType": "VariableDeclaration", - "scope": 4237, - "src": "22143:4:2", + "scope": 4238, + "src": "22163:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23244,10 +23269,10 @@ "typeString": "bool" }, "typeName": { - "id": 4196, + "id": 4197, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "22143:4:2", + "src": "22163:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23257,19 +23282,19 @@ "visibility": "internal" } ], - "src": "22142:6:2" + "src": "22162:6:2" }, - "scope": 4337, - "src": "22058:424:2", + "scope": 4338, + "src": "22078:424:2", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4252, + "id": 4253, "nodeType": "Block", - "src": "22608:55:2", + "src": "22628:55:2", "statements": [ { "expression": { @@ -23281,7 +23306,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4249, + "id": 4250, "isConstant": false, "isLValue": false, "isPure": false, @@ -23290,18 +23315,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4244, + "id": 4245, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4239, - "src": "22626:5:2", + "referencedDeclaration": 4240, + "src": "22646:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4245, + "id": 4246, "isConstant": false, "isLValue": true, "isPure": false, @@ -23309,7 +23334,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "22626:15:2", + "src": "22646:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23323,14 +23348,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4247, + "id": 4248, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "22653:1:2", + "src": "22673:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23346,20 +23371,20 @@ "typeString": "int_const 0" } ], - "id": 4246, + "id": 4247, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "22645:7:2", + "src": "22665:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 4248, + "id": 4249, "isConstant": false, "isLValue": false, "isPure": true, @@ -23367,57 +23392,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22645:10:2", + "src": "22665:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "22626:29:2", + "src": "22646:29:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 4250, + "id": 4251, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "22625:31:2", + "src": "22645:31:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 4243, - "id": 4251, + "functionReturnParameters": 4244, + "id": 4252, "nodeType": "Return", - "src": "22618:38:2" + "src": "22638:38:2" } ] }, "documentation": null, - "id": 4253, + "id": 4254, "implemented": true, "kind": "function", "modifiers": [], "name": "claimExists", "nodeType": "FunctionDefinition", "parameters": { - "id": 4240, + "id": 4241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4239, + "id": 4240, "name": "claim", "nodeType": "VariableDeclaration", - "scope": 4253, - "src": "22549:29:2", + "scope": 4254, + "src": "22569:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -23426,11 +23451,11 @@ }, "typeName": { "contractScope": null, - "id": 4238, + "id": 4239, "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "22549:15:2", + "src": "22569:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -23440,19 +23465,19 @@ "visibility": "internal" } ], - "src": "22548:31:2" + "src": "22568:31:2" }, "returnParameters": { - "id": 4243, + "id": 4244, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4242, + "id": 4243, "name": "", "nodeType": "VariableDeclaration", - "scope": 4253, - "src": "22602:4:2", + "scope": 4254, + "src": "22622:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23460,10 +23485,10 @@ "typeString": "bool" }, "typeName": { - "id": 4241, + "id": 4242, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "22602:4:2", + "src": "22622:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23473,19 +23498,19 @@ "visibility": "internal" } ], - "src": "22601:6:2" + "src": "22621:6:2" }, - "scope": 4337, - "src": "22528:135:2", + "scope": 4338, + "src": "22548:135:2", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 4265, + "id": 4266, "nodeType": "Block", - "src": "22804:56:2", + "src": "22824:56:2", "statements": [ { "expression": { @@ -23493,177 +23518,27 @@ "expression": { "argumentTypes": null, "baseExpression": { - "argumentTypes": null, - "id": 4260, - "name": "claims", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2588, - "src": "22821:6:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" - } - }, - "id": 4262, - "indexExpression": { "argumentTypes": null, "id": 4261, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4255, - "src": "22828:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22821:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", - "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" - } - }, - "id": 4263, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 2565, - "src": "22821:32:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 4259, - "id": 4264, - "nodeType": "Return", - "src": "22814:39:2" - } - ] - }, - "documentation": null, - "id": 4266, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getClaimSubmitter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4255, - "name": "superblockHash", - "nodeType": "VariableDeclaration", - "scope": 4266, - "src": "22748:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4254, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "22748:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22747:24:2" - }, - "returnParameters": { - "id": 4259, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4258, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4266, - "src": "22795:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4257, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22795:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22794:9:2" - }, - "scope": 4337, - "src": "22721:139:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 4278, - "nodeType": "Block", - "src": "23012:56:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4273, "name": "claims", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "23029:6:2", + "src": "22841:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" } }, - "id": 4275, + "id": 4263, "indexExpression": { "argumentTypes": null, - "id": 4274, + "id": 4262, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4268, - "src": "23036:14:2", + "referencedDeclaration": 4256, + "src": "22848:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23674,13 +23549,163 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23029:22:2", + "src": "22841:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, - "id": 4276, + "id": 4264, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "submitter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2565, + "src": "22841:32:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4260, + "id": 4265, + "nodeType": "Return", + "src": "22834:39:2" + } + ] + }, + "documentation": null, + "id": 4267, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getClaimSubmitter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4257, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4256, + "name": "superblockHash", + "nodeType": "VariableDeclaration", + "scope": 4267, + "src": "22768:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4255, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22768:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22767:24:2" + }, + "returnParameters": { + "id": 4260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4259, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4267, + "src": "22815:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4258, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22815:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22814:9:2" + }, + "scope": 4338, + "src": "22741:139:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 4279, + "nodeType": "Block", + "src": "23032:56:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4274, + "name": "claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2588, + "src": "23049:6:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" + } + }, + "id": 4276, + "indexExpression": { + "argumentTypes": null, + "id": 4275, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4269, + "src": "23056:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23049:22:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", + "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" + } + }, + "id": 4277, "isConstant": false, "isLValue": true, "isPure": false, @@ -23688,37 +23713,37 @@ "memberName": "createdAt", "nodeType": "MemberAccess", "referencedDeclaration": 2569, - "src": "23029:32:2", + "src": "23049:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 4272, - "id": 4277, + "functionReturnParameters": 4273, + "id": 4278, "nodeType": "Return", - "src": "23022:39:2" + "src": "23042:39:2" } ] }, "documentation": null, - "id": 4279, + "id": 4280, "implemented": true, "kind": "function", "modifiers": [], "name": "getNewSuperblockEventTimestamp", "nodeType": "FunctionDefinition", "parameters": { - "id": 4269, + "id": 4270, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4268, + "id": 4269, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4279, - "src": "22959:22:2", + "scope": 4280, + "src": "22979:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23726,10 +23751,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4267, + "id": 4268, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "22959:7:2", + "src": "22979:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23739,19 +23764,19 @@ "visibility": "internal" } ], - "src": "22958:24:2" + "src": "22978:24:2" }, "returnParameters": { - "id": 4272, + "id": 4273, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4271, + "id": 4272, "name": "", "nodeType": "VariableDeclaration", - "scope": 4279, - "src": "23006:4:2", + "scope": 4280, + "src": "23026:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23759,10 +23784,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4270, + "id": 4271, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "23006:4:2", + "src": "23026:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23772,19 +23797,19 @@ "visibility": "internal" } ], - "src": "23005:6:2" + "src": "23025:6:2" }, - "scope": 4337, - "src": "22919:149:2", + "scope": 4338, + "src": "22939:149:2", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4292, + "id": 4293, "nodeType": "Block", - "src": "23217:59:2", + "src": "23237:59:2", "statements": [ { "expression": { @@ -23794,26 +23819,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4287, + "id": 4288, "name": "claims", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "23246:6:2", + "src": "23266:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" } }, - "id": 4289, + "id": 4290, "indexExpression": { "argumentTypes": null, - "id": 4288, + "id": 4289, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4281, - "src": "23253:14:2", + "referencedDeclaration": 4282, + "src": "23273:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23824,7 +23849,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23246:22:2", + "src": "23266:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" @@ -23838,18 +23863,18 @@ "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } ], - "id": 4286, + "id": 4287, "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "23234:11:2", + "referencedDeclaration": 4254, + "src": "23254:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" } }, - "id": 4290, + "id": 4291, "isConstant": false, "isLValue": false, "isPure": false, @@ -23857,37 +23882,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "23234:35:2", + "src": "23254:35:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 4285, - "id": 4291, + "functionReturnParameters": 4286, + "id": 4292, "nodeType": "Return", - "src": "23227:42:2" + "src": "23247:42:2" } ] }, "documentation": null, - "id": 4293, + "id": 4294, "implemented": true, "kind": "function", "modifiers": [], "name": "getClaimExists", "nodeType": "FunctionDefinition", "parameters": { - "id": 4282, + "id": 4283, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4281, + "id": 4282, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4293, - "src": "23164:22:2", + "scope": 4294, + "src": "23184:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23895,10 +23920,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4280, + "id": 4281, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23164:7:2", + "src": "23184:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23908,19 +23933,19 @@ "visibility": "internal" } ], - "src": "23163:24:2" + "src": "23183:24:2" }, "returnParameters": { - "id": 4285, + "id": 4286, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4284, + "id": 4285, "name": "", "nodeType": "VariableDeclaration", - "scope": 4293, - "src": "23211:4:2", + "scope": 4294, + "src": "23231:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23928,10 +23953,10 @@ "typeString": "bool" }, "typeName": { - "id": 4283, + "id": 4284, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "23211:4:2", + "src": "23231:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23941,19 +23966,19 @@ "visibility": "internal" } ], - "src": "23210:6:2" + "src": "23230:6:2" }, - "scope": 4337, - "src": "23140:136:2", + "scope": 4338, + "src": "23160:136:2", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4305, + "id": 4306, "nodeType": "Block", - "src": "23394:54:2", + "src": "23414:54:2", "statements": [ { "expression": { @@ -23962,26 +23987,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4300, + "id": 4301, "name": "claims", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "23411:6:2", + "src": "23431:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" } }, - "id": 4302, + "id": 4303, "indexExpression": { "argumentTypes": null, - "id": 4301, + "id": 4302, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "src": "23418:14:2", + "referencedDeclaration": 4296, + "src": "23438:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23992,13 +24017,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23411:22:2", + "src": "23431:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, - "id": 4303, + "id": 4304, "isConstant": false, "isLValue": true, "isPure": false, @@ -24006,37 +24031,37 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "23411:30:2", + "src": "23431:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 4299, - "id": 4304, + "functionReturnParameters": 4300, + "id": 4305, "nodeType": "Return", - "src": "23404:37:2" + "src": "23424:37:2" } ] }, "documentation": null, - "id": 4306, + "id": 4307, "implemented": true, "kind": "function", "modifiers": [], "name": "getClaimDecided", "nodeType": "FunctionDefinition", "parameters": { - "id": 4296, + "id": 4297, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4295, + "id": 4296, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4306, - "src": "23341:22:2", + "scope": 4307, + "src": "23361:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24044,10 +24069,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4294, + "id": 4295, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23341:7:2", + "src": "23361:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24057,19 +24082,19 @@ "visibility": "internal" } ], - "src": "23340:24:2" + "src": "23360:24:2" }, "returnParameters": { - "id": 4299, + "id": 4300, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4298, + "id": 4299, "name": "", "nodeType": "VariableDeclaration", - "scope": 4306, - "src": "23388:4:2", + "scope": 4307, + "src": "23408:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24077,10 +24102,10 @@ "typeString": "bool" }, "typeName": { - "id": 4297, + "id": 4298, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "23388:4:2", + "src": "23408:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24090,19 +24115,19 @@ "visibility": "internal" } ], - "src": "23387:6:2" + "src": "23407:6:2" }, - "scope": 4337, - "src": "23316:132:2", + "scope": 4338, + "src": "23336:132:2", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4318, + "id": 4319, "nodeType": "Block", - "src": "23574:54:2", + "src": "23594:54:2", "statements": [ { "expression": { @@ -24111,26 +24136,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4313, + "id": 4314, "name": "claims", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "23591:6:2", + "src": "23611:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" } }, - "id": 4315, + "id": 4316, "indexExpression": { "argumentTypes": null, - "id": 4314, + "id": 4315, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4308, - "src": "23598:14:2", + "referencedDeclaration": 4309, + "src": "23618:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24141,13 +24166,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23591:22:2", + "src": "23611:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, - "id": 4316, + "id": 4317, "isConstant": false, "isLValue": true, "isPure": false, @@ -24155,37 +24180,37 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "23591:30:2", + "src": "23611:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 4312, - "id": 4317, + "functionReturnParameters": 4313, + "id": 4318, "nodeType": "Return", - "src": "23584:37:2" + "src": "23604:37:2" } ] }, "documentation": null, - "id": 4319, + "id": 4320, "implemented": true, "kind": "function", "modifiers": [], "name": "getClaimInvalid", "nodeType": "FunctionDefinition", "parameters": { - "id": 4309, + "id": 4310, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4308, + "id": 4309, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4319, - "src": "23521:22:2", + "scope": 4320, + "src": "23541:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24193,10 +24218,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4307, + "id": 4308, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23521:7:2", + "src": "23541:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24206,19 +24231,19 @@ "visibility": "internal" } ], - "src": "23520:24:2" + "src": "23540:24:2" }, "returnParameters": { - "id": 4312, + "id": 4313, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4311, + "id": 4312, "name": "", "nodeType": "VariableDeclaration", - "scope": 4319, - "src": "23568:4:2", + "scope": 4320, + "src": "23588:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24226,10 +24251,10 @@ "typeString": "bool" }, "typeName": { - "id": 4310, + "id": 4311, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "23568:4:2", + "src": "23588:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24239,32 +24264,32 @@ "visibility": "internal" } ], - "src": "23567:6:2" + "src": "23587:6:2" }, - "scope": 4337, - "src": "23496:132:2", + "scope": 4338, + "src": "23516:132:2", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4335, + "id": 4336, "nodeType": "Block", - "src": "23719:104:2", + "src": "23739:104:2", "statements": [ { "assignments": [ - 4327 + 4328 ], "declarations": [ { "constant": false, - "id": 4327, + "id": 4328, "name": "claim", "nodeType": "VariableDeclaration", - "scope": 4335, - "src": "23729:29:2", + "scope": 4336, + "src": "23749:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -24273,11 +24298,11 @@ }, "typeName": { "contractScope": null, - "id": 4326, + "id": 4327, "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "23729:15:2", + "src": "23749:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -24287,31 +24312,31 @@ "visibility": "internal" } ], - "id": 4331, + "id": 4332, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4328, + "id": 4329, "name": "claims", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "23761:6:2", + "src": "23781:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" } }, - "id": 4330, + "id": 4331, "indexExpression": { "argumentTypes": null, - "id": 4329, + "id": 4330, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4321, - "src": "23768:14:2", + "referencedDeclaration": 4322, + "src": "23788:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24322,32 +24347,32 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23761:22:2", + "src": "23781:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "23729:54:2" + "src": "23749:54:2" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4332, + "id": 4333, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4327, - "src": "23800:5:2", + "referencedDeclaration": 4328, + "src": "23820:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4333, + "id": 4334, "isConstant": false, "isLValue": true, "isPure": false, @@ -24355,37 +24380,37 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "23800:16:2", + "src": "23820:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 4325, - "id": 4334, + "functionReturnParameters": 4326, + "id": 4335, "nodeType": "Return", - "src": "23793:23:2" + "src": "23813:23:2" } ] }, "documentation": null, - "id": 4336, + "id": 4337, "implemented": true, "kind": "function", "modifiers": [], "name": "getClaimChallenger", "nodeType": "FunctionDefinition", "parameters": { - "id": 4322, + "id": 4323, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4321, + "id": 4322, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4336, - "src": "23663:22:2", + "scope": 4337, + "src": "23683:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24393,10 +24418,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4320, + "id": 4321, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23663:7:2", + "src": "23683:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24406,19 +24431,19 @@ "visibility": "internal" } ], - "src": "23662:24:2" + "src": "23682:24:2" }, "returnParameters": { - "id": 4325, + "id": 4326, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4324, + "id": 4325, "name": "", "nodeType": "VariableDeclaration", - "scope": 4336, - "src": "23710:7:2", + "scope": 4337, + "src": "23730:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24426,10 +24451,10 @@ "typeString": "address" }, "typeName": { - "id": 4323, + "id": 4324, "name": "address", "nodeType": "ElementaryTypeName", - "src": "23710:7:2", + "src": "23730:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24440,29 +24465,29 @@ "visibility": "internal" } ], - "src": "23709:9:2" + "src": "23729:9:2" }, - "scope": 4337, - "src": "23635:188:2", + "scope": 4338, + "src": "23655:188:2", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 4338, - "src": "454:23371:2" + "scope": 4339, + "src": "454:23391:2" } ], - "src": "0:23826:2" + "src": "0:23846:2" }, "legacyAST": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinClaimManager.sol", "exportedSymbols": { "SyscoinClaimManager": [ - 4337 + 4338 ] }, - "id": 4338, + "id": 4339, "nodeType": "SourceUnit", "nodes": [ { @@ -24481,8 +24506,8 @@ "file": "./interfaces/SyscoinSuperblocksI.sol", "id": 2540, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 7791, + "scope": 4339, + "sourceUnit": 8313, "src": "26:46:2", "symbolAliases": [], "unitAlias": "" @@ -24492,8 +24517,8 @@ "file": "./interfaces/SyscoinClaimManagerI.sol", "id": 2541, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 7598, + "scope": 4339, + "sourceUnit": 8098, "src": "73:47:2", "symbolAliases": [], "unitAlias": "" @@ -24503,8 +24528,8 @@ "file": "./interfaces/SyscoinBattleManagerI.sol", "id": 2542, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 7560, + "scope": 4339, + "sourceUnit": 8060, "src": "121:48:2", "symbolAliases": [], "unitAlias": "" @@ -24514,8 +24539,8 @@ "file": "./SyscoinDepositsManager.sol", "id": 2543, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 4471, + "scope": 4339, + "sourceUnit": 4480, "src": "170:38:2", "symbolAliases": [], "unitAlias": "" @@ -24525,8 +24550,8 @@ "file": "./SyscoinErrorCodes.sol", "id": 2544, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 4678, + "scope": 4339, + "sourceUnit": 4687, "src": "209:33:2", "symbolAliases": [], "unitAlias": "" @@ -24536,8 +24561,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2545, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 8937, + "scope": 4339, + "sourceUnit": 9556, "src": "243:59:2", "symbolAliases": [], "unitAlias": "" @@ -24547,8 +24572,8 @@ "file": "@openzeppelin/upgrades/contracts/Initializable.sol", "id": 2546, "nodeType": "ImportDirective", - "scope": 4338, - "sourceUnit": 8723, + "scope": 4339, + "sourceUnit": 9342, "src": "303:60:2", "symbolAliases": [], "unitAlias": "" @@ -24562,10 +24587,10 @@ "id": 2547, "name": "Initializable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8722, + "referencedDeclaration": 9341, "src": "486:13:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_Initializable_$8722", + "typeIdentifier": "t_contract$_Initializable_$9341", "typeString": "contract Initializable" } }, @@ -24580,10 +24605,10 @@ "id": 2549, "name": "SyscoinDepositsManager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4470, + "referencedDeclaration": 4479, "src": "501:22:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinDepositsManager_$4470", + "typeIdentifier": "t_contract$_SyscoinDepositsManager_$4479", "typeString": "contract SyscoinDepositsManager" } }, @@ -24598,10 +24623,10 @@ "id": 2551, "name": "SyscoinErrorCodes", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4677, + "referencedDeclaration": 4686, "src": "525:17:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinErrorCodes_$4677", + "typeIdentifier": "t_contract$_SyscoinErrorCodes_$4686", "typeString": "contract SyscoinErrorCodes" } }, @@ -24611,19 +24636,19 @@ } ], "contractDependencies": [ - 4470, - 4677, - 8722 + 4479, + 4686, + 9341 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 4337, + "id": 4338, "linearizedBaseContracts": [ - 4337, - 4677, - 4470, - 8722 + 4338, + 4686, + 4479, + 9341 ], "name": "SyscoinClaimManager", "nodeType": "ContractDefinition", @@ -24635,10 +24660,10 @@ "id": 2553, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8936, + "referencedDeclaration": 9555, "src": "556:8:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8936", + "typeIdentifier": "t_contract$_SafeMath_$9555", "typeString": "library SafeMath" } }, @@ -24660,7 +24685,7 @@ "id": 2558, "name": "MAX_FUTURE_BLOCK_TIME_SYSCOIN", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "580:50:2", "stateVariable": true, "storageLocation": "default", @@ -24703,7 +24728,7 @@ "id": 2561, "name": "MAX_FUTURE_BLOCK_TIME_ETHEREUM", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "636:49:2", "stateVariable": true, "storageLocation": "default", @@ -25029,7 +25054,7 @@ ], "name": "SuperblockClaim", "nodeType": "StructDefinition", - "scope": 4337, + "scope": 4338, "src": "691:873:2", "visibility": "public" }, @@ -25038,7 +25063,7 @@ "id": 2588, "name": "claims", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "1602:50:2", "stateVariable": true, "storageLocation": "default", @@ -25085,12 +25110,12 @@ "id": 2590, "name": "trustedSuperblocks", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "1687:45:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" }, "typeName": { @@ -25098,10 +25123,10 @@ "id": 2589, "name": "SyscoinSuperblocksI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7790, + "referencedDeclaration": 8312, "src": "1687:19:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -25113,12 +25138,12 @@ "id": 2592, "name": "trustedSyscoinBattleManager", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "1770:56:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" }, "typeName": { @@ -25126,10 +25151,10 @@ "id": 2591, "name": "SyscoinBattleManagerI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7559, + "referencedDeclaration": 8059, "src": "1770:21:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } }, @@ -25141,7 +25166,7 @@ "id": 2594, "name": "superblockConfirmations", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "1900:35:2", "stateVariable": true, "storageLocation": "default", @@ -25167,7 +25192,7 @@ "id": 2596, "name": "superblockDelay", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "1942:27:2", "stateVariable": true, "storageLocation": "default", @@ -25193,7 +25218,7 @@ "id": 2598, "name": "superblockTimeout", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "2031:29:2", "stateVariable": true, "storageLocation": "default", @@ -25219,7 +25244,7 @@ "id": 2600, "name": "inProcessCounter", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "2102:28:2", "stateVariable": true, "storageLocation": "default", @@ -26159,7 +26184,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "3148:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -26194,7 +26219,7 @@ "referencedDeclaration": 2592, "src": "3170:27:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } } @@ -26202,7 +26227,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } ], @@ -26251,10 +26276,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "3140:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -26339,7 +26364,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "3274:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -26374,7 +26399,7 @@ "referencedDeclaration": 2592, "src": "3296:27:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } } @@ -26382,7 +26407,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } ], @@ -26440,7 +26465,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "3328:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -26472,10 +26497,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10220, + "referencedDeclaration": 11134, "src": "3350:4:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManager_$4337", + "typeIdentifier": "t_contract$_SyscoinClaimManager_$4338", "typeString": "contract SyscoinClaimManager" } } @@ -26483,7 +26508,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinClaimManager_$4337", + "typeIdentifier": "t_contract$_SyscoinClaimManager_$4338", "typeString": "contract SyscoinClaimManager" } ], @@ -26538,10 +26563,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "3266:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -26609,7 +26634,7 @@ "referencedDeclaration": 2590, "src": "4076:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -26624,13 +26649,13 @@ "referencedDeclaration": 2709, "src": "4097:12:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, "src": "4076:33:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -26655,7 +26680,7 @@ "referencedDeclaration": 2592, "src": "4119:27:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } }, @@ -26670,13 +26695,13 @@ "referencedDeclaration": 2711, "src": "4149:21:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } }, "src": "4119:51:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } }, @@ -26889,7 +26914,7 @@ "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8703, + "referencedDeclaration": 9322, "src": "4054:11:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -26916,7 +26941,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" }, "typeName": { @@ -26924,10 +26949,10 @@ "id": 2708, "name": "SyscoinSuperblocksI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7790, + "referencedDeclaration": 8312, "src": "3852:19:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -26944,7 +26969,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" }, "typeName": { @@ -26952,10 +26977,10 @@ "id": 2710, "name": "SyscoinBattleManagerI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7559, + "referencedDeclaration": 8059, "src": "3894:21:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } }, @@ -27049,7 +27074,7 @@ "parameters": [], "src": "4066:0:2" }, - "scope": 4337, + "scope": 4338, "src": "3829:530:2", "stateMutability": "nonpayable", "superFunction": null, @@ -27179,7 +27204,7 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, + "referencedDeclaration": 4254, "src": "4826:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", @@ -27221,7 +27246,7 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4610, "src": "4867:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27256,7 +27281,7 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "4916:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", @@ -27325,7 +27350,7 @@ "name": "ERR_SUPERBLOCK_MIN_DEPOSIT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4577, + "referencedDeclaration": 4586, "src": "4965:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27356,7 +27381,7 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "5012:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", @@ -27422,7 +27447,7 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "5032:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", @@ -27461,7 +27486,7 @@ "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8792, + "referencedDeclaration": 9411, "src": "5032:21:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -27645,7 +27670,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, + "referencedDeclaration": 9395, "src": "5103:33:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -27771,7 +27796,7 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4517, "src": "5223:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27931,7 +27956,7 @@ ], "src": "4739:6:2" }, - "scope": 4337, + "scope": 4338, "src": "4625:622:2", "stateMutability": "nonpayable", "superFunction": null, @@ -28053,7 +28078,7 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, + "referencedDeclaration": 4254, "src": "5628:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", @@ -28086,10 +28111,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "5620:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -28278,7 +28303,7 @@ ], "src": "5539:6:2" }, - "scope": 4337, + "scope": 4338, "src": "5450:250:2", "stateMutability": "view", "superFunction": null, @@ -28288,7 +28313,7 @@ "body": { "id": 2914, "nodeType": "Block", - "src": "6016:554:2", + "src": "6015:554:2", "statements": [ { "assignments": [ @@ -28301,7 +28326,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 2914, - "src": "6026:29:2", + "src": "6025:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -28314,7 +28339,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "6026:15:2", + "src": "6025:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -28334,7 +28359,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "6058:6:2", + "src": "6057:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -28348,7 +28373,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2846, - "src": "6065:14:2", + "src": "6064:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28359,14 +28384,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6058:22:2", + "src": "6057:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "6026:54:2" + "src": "6025:54:2" }, { "condition": { @@ -28379,7 +28404,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "6094:19:2", + "src": "6093:19:2", "subExpression": { "argumentTypes": null, "arguments": [ @@ -28390,7 +28415,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2856, - "src": "6107:5:2", + "src": "6106:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -28408,8 +28433,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "6095:11:2", + "referencedDeclaration": 4254, + "src": "6094:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -28423,7 +28448,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6095:18:2", + "src": "6094:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28437,11 +28462,11 @@ "falseBody": null, "id": 2870, "nodeType": "IfStatement", - "src": "6090:86:2", + "src": "6089:86:2", "trueBody": { "id": 2869, "nodeType": "Block", - "src": "6115:61:2", + "src": "6114:61:2", "statements": [ { "expression": { @@ -28453,8 +28478,8 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "6137:24:2", + "referencedDeclaration": 4610, + "src": "6136:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28470,7 +28495,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6163:1:2", + "src": "6162:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28486,7 +28511,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "6136:29:2", + "src": "6135:29:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -28495,7 +28520,7 @@ "functionReturnParameters": 2854, "id": 2868, "nodeType": "Return", - "src": "6129:36:2" + "src": "6128:36:2" } ] } @@ -28511,7 +28536,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "6189:14:2", + "src": "6188:14:2", "subExpression": { "argumentTypes": null, "expression": { @@ -28521,7 +28546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2856, - "src": "6190:5:2", + "src": "6189:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -28535,7 +28560,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "6190:13:2", + "src": "6189:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28549,11 +28574,11 @@ "falseBody": null, "id": 2879, "nodeType": "IfStatement", - "src": "6185:82:2", + "src": "6184:82:2", "trueBody": { "id": 2878, "nodeType": "Block", - "src": "6205:62:2", + "src": "6204:62:2", "statements": [ { "expression": { @@ -28565,8 +28590,8 @@ "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "6227:25:2", + "referencedDeclaration": 4523, + "src": "6226:25:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28582,7 +28607,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6254:1:2", + "src": "6253:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28598,7 +28623,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "6226:30:2", + "src": "6225:30:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -28607,7 +28632,7 @@ "functionReturnParameters": 2854, "id": 2877, "nodeType": "Return", - "src": "6219:37:2" + "src": "6218:37:2" } ] } @@ -28623,7 +28648,7 @@ "name": "bondedDeposit", "nodeType": "VariableDeclaration", "scope": 2914, - "src": "6277:18:2", + "src": "6276:18:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28634,7 +28659,7 @@ "id": 2880, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6277:4:2", + "src": "6276:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28656,7 +28681,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2856, - "src": "6298:5:2", + "src": "6297:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -28670,7 +28695,7 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "6298:20:2", + "src": "6297:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -28684,7 +28709,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2848, - "src": "6319:7:2", + "src": "6318:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28695,14 +28720,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6298:29:2", + "src": "6297:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6277:50:2" + "src": "6276:50:2" }, { "expression": { @@ -28715,7 +28740,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "6338:36:2", + "src": "6337:36:2", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -28727,7 +28752,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2856, - "src": "6345:5:2", + "src": "6344:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -28741,7 +28766,7 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "6345:20:2", + "src": "6344:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -28755,7 +28780,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2848, - "src": "6366:7:2", + "src": "6365:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28766,7 +28791,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6345:29:2", + "src": "6344:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28779,7 +28804,7 @@ }, "id": 2892, "nodeType": "ExpressionStatement", - "src": "6338:36:2" + "src": "6337:36:2" }, { "expression": { @@ -28797,8 +28822,8 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "6384:8:2", + "referencedDeclaration": 4348, + "src": "6383:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -28812,7 +28837,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2848, - "src": "6393:7:2", + "src": "6392:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28823,7 +28848,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6384:17:2", + "src": "6383:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28841,7 +28866,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2881, - "src": "6426:13:2", + "src": "6425:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28863,8 +28888,8 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "6404:8:2", + "referencedDeclaration": 4348, + "src": "6403:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -28878,7 +28903,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2848, - "src": "6413:7:2", + "src": "6412:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28889,7 +28914,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6404:17:2", + "src": "6403:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28902,8 +28927,8 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "6404:21:2", + "referencedDeclaration": 9395, + "src": "6403:21:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -28917,13 +28942,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6404:36:2", + "src": "6403:36:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6384:56:2", + "src": "6383:56:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28931,7 +28956,7 @@ }, "id": 2903, "nodeType": "ExpressionStatement", - "src": "6384:56:2" + "src": "6383:56:2" }, { "eventCall": { @@ -28944,7 +28969,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2846, - "src": "6472:14:2", + "src": "6471:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28957,7 +28982,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2848, - "src": "6488:7:2", + "src": "6487:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28970,7 +28995,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2881, - "src": "6497:13:2", + "src": "6496:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28997,7 +29022,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2616, - "src": "6456:15:2", + "src": "6455:15:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -29011,7 +29036,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6456:55:2", + "src": "6455:55:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29019,7 +29044,7 @@ }, "id": 2909, "nodeType": "EmitStatement", - "src": "6451:60:2" + "src": "6450:60:2" }, { "expression": { @@ -29031,8 +29056,8 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "6530:17:2", + "referencedDeclaration": 4517, + "src": "6529:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29045,7 +29070,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2881, - "src": "6549:13:2", + "src": "6548:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29059,7 +29084,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "6529:34:2", + "src": "6528:34:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -29068,7 +29093,7 @@ "functionReturnParameters": 2854, "id": 2913, "nodeType": "Return", - "src": "6522:41:2" + "src": "6521:41:2" } ] }, @@ -29149,7 +29174,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 2915, - "src": "6004:4:2", + "src": "6003:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29160,7 +29185,7 @@ "id": 2850, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6004:4:2", + "src": "6003:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29175,7 +29200,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 2915, - "src": "6010:4:2", + "src": "6009:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29186,7 +29211,7 @@ "id": 2852, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6010:4:2", + "src": "6009:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29196,19 +29221,19 @@ "visibility": "internal" } ], - "src": "6003:12:2" + "src": "6002:12:2" }, - "scope": 4337, - "src": "5923:647:2", + "scope": 4338, + "src": "5923:646:2", "stateMutability": "nonpayable", "superFunction": null, - "visibility": "private" + "visibility": "public" }, { "body": { "id": 3167, "nodeType": "Block", - "src": "7350:2381:2", + "src": "7349:2381:2", "statements": [ { "expression": { @@ -29235,9 +29260,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "7376:18:2", + "src": "7375:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } } @@ -29245,7 +29270,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } ], @@ -29255,7 +29280,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7368:7:2", + "src": "7367:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -29270,7 +29295,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7368:27:2", + "src": "7367:27:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29291,7 +29316,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7407:1:2", + "src": "7406:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29313,7 +29338,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7399:7:2", + "src": "7398:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -29328,13 +29353,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7399:10:2", + "src": "7398:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7368:41:2", + "src": "7367:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29352,11 +29377,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "7360:7:2", + "referencedDeclaration": 11101, + "src": "7359:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -29370,7 +29395,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7360:50:2", + "src": "7359:50:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29378,7 +29403,7 @@ }, "id": 2943, "nodeType": "ExpressionStatement", - "src": "7360:50:2" + "src": "7359:50:2" }, { "condition": { @@ -29399,7 +29424,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "7433:16:2", + "src": "7432:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29417,7 +29442,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7453:2:2", + "src": "7452:2:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -29425,7 +29450,7 @@ }, "value": "10" }, - "src": "7433:22:2", + "src": "7432:22:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29434,11 +29459,11 @@ "falseBody": null, "id": 2957, "nodeType": "IfStatement", - "src": "7429:168:2", + "src": "7428:168:2", "trueBody": { "id": 2956, "nodeType": "Block", - "src": "7456:141:2", + "src": "7455:141:2", "statements": [ { "eventCall": { @@ -29454,7 +29479,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7486:1:2", + "src": "7485:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29468,8 +29493,8 @@ "name": "ERR_SUPERBLOCK_MAX_INPROGRESS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4571, - "src": "7489:29:2", + "referencedDeclaration": 4580, + "src": "7488:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29492,7 +29517,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "7475:10:2", + "src": "7474:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -29506,7 +29531,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7475:44:2", + "src": "7474:44:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29514,7 +29539,7 @@ }, "id": 2951, "nodeType": "EmitStatement", - "src": "7470:49:2" + "src": "7469:49:2" }, { "expression": { @@ -29526,8 +29551,8 @@ "name": "ERR_SUPERBLOCK_MAX_INPROGRESS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4571, - "src": "7541:29:2", + "referencedDeclaration": 4580, + "src": "7540:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29543,7 +29568,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7572:1:2", + "src": "7571:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29559,7 +29584,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7540:34:2", + "src": "7539:34:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -29568,7 +29593,7 @@ "functionReturnParameters": 2933, "id": 2955, "nodeType": "Return", - "src": "7533:41:2" + "src": "7532:41:2" } ] } @@ -29593,8 +29618,8 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "7610:8:2", + "referencedDeclaration": 4348, + "src": "7609:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -29609,8 +29634,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "7619:3:2", + "referencedDeclaration": 11098, + "src": "7618:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -29624,7 +29649,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7619:10:2", + "src": "7618:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -29635,7 +29660,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7610:20:2", + "src": "7609:20:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29649,14 +29674,14 @@ "name": "minProposalDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "7633:18:2", + "referencedDeclaration": 4685, + "src": "7632:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7610:41:2", + "src": "7609:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29665,11 +29690,11 @@ "falseBody": null, "id": 2974, "nodeType": "IfStatement", - "src": "7606:170:2", + "src": "7605:170:2", "trueBody": { "id": 2973, "nodeType": "Block", - "src": "7653:123:2", + "src": "7652:123:2", "statements": [ { "eventCall": { @@ -29685,7 +29710,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7683:1:2", + "src": "7682:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29699,8 +29724,8 @@ "name": "ERR_SUPERBLOCK_MIN_DEPOSIT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4577, - "src": "7686:26:2", + "referencedDeclaration": 4586, + "src": "7685:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29723,7 +29748,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "7672:10:2", + "src": "7671:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -29737,7 +29762,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7672:41:2", + "src": "7671:41:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29745,7 +29770,7 @@ }, "id": 2968, "nodeType": "EmitStatement", - "src": "7667:46:2" + "src": "7666:46:2" }, { "expression": { @@ -29757,8 +29782,8 @@ "name": "ERR_SUPERBLOCK_MIN_DEPOSIT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4577, - "src": "7735:26:2", + "referencedDeclaration": 4586, + "src": "7734:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29774,7 +29799,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7763:1:2", + "src": "7762:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29790,7 +29815,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7734:31:2", + "src": "7733:31:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -29799,7 +29824,7 @@ "functionReturnParameters": 2933, "id": 2972, "nodeType": "Return", - "src": "7727:38:2" + "src": "7726:38:2" } ] } @@ -29834,7 +29859,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2921, - "src": "7790:13:2", + "src": "7789:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29849,13 +29874,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, - "src": "7806:15:2", + "src": "7805:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7790:31:2", + "src": "7789:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29871,8 +29896,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "7824:5:2", + "referencedDeclaration": 11088, + "src": "7823:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -29886,13 +29911,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7824:15:2", + "src": "7823:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7790:49:2", + "src": "7789:49:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29901,11 +29926,11 @@ "falseBody": null, "id": 2991, "nodeType": "IfStatement", - "src": "7786:190:2", + "src": "7785:190:2", "trueBody": { "id": 2990, "nodeType": "Block", - "src": "7841:135:2", + "src": "7840:135:2", "statements": [ { "eventCall": { @@ -29921,7 +29946,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7871:1:2", + "src": "7870:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29935,8 +29960,8 @@ "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP_MTP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4589, - "src": "7874:32:2", + "referencedDeclaration": 4598, + "src": "7873:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29959,7 +29984,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "7860:10:2", + "src": "7859:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -29973,7 +29998,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7860:47:2", + "src": "7859:47:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29981,7 +30006,7 @@ }, "id": 2985, "nodeType": "EmitStatement", - "src": "7855:52:2" + "src": "7854:52:2" }, { "expression": { @@ -29993,8 +30018,8 @@ "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP_MTP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4589, - "src": "7929:32:2", + "referencedDeclaration": 4598, + "src": "7928:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30010,7 +30035,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7963:1:2", + "src": "7962:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30026,7 +30051,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7928:37:2", + "src": "7927:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -30035,7 +30060,7 @@ "functionReturnParameters": 2933, "id": 2989, "nodeType": "Return", - "src": "7921:44:2" + "src": "7920:44:2" } ] } @@ -30082,8 +30107,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "7990:5:2", + "referencedDeclaration": 11088, + "src": "7989:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -30097,7 +30122,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7990:15:2", + "src": "7989:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30112,13 +30137,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2558, - "src": "8008:29:2", + "src": "8007:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7990:47:2", + "src": "7989:47:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30133,13 +30158,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2561, - "src": "8040:30:2", + "src": "8039:30:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7990:80:2", + "src": "7989:80:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30154,13 +30179,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2919, - "src": "8074:10:2", + "src": "8073:10:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7990:94:2", + "src": "7989:94:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30169,11 +30194,11 @@ "falseBody": null, "id": 3010, "nodeType": "IfStatement", - "src": "7986:227:2", + "src": "7985:227:2", "trueBody": { "id": 3009, "nodeType": "Block", - "src": "8086:127:2", + "src": "8085:127:2", "statements": [ { "eventCall": { @@ -30189,7 +30214,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8116:1:2", + "src": "8115:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30203,8 +30228,8 @@ "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4526, - "src": "8119:28:2", + "referencedDeclaration": 4535, + "src": "8118:28:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30227,7 +30252,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "8105:10:2", + "src": "8104:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -30241,7 +30266,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8105:43:2", + "src": "8104:43:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30249,7 +30274,7 @@ }, "id": 3004, "nodeType": "EmitStatement", - "src": "8100:48:2" + "src": "8099:48:2" }, { "expression": { @@ -30261,8 +30286,8 @@ "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4526, - "src": "8170:28:2", + "referencedDeclaration": 4535, + "src": "8169:28:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30278,7 +30303,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8200:1:2", + "src": "8199:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30294,7 +30319,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8169:33:2", + "src": "8168:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -30303,7 +30328,7 @@ "functionReturnParameters": 2933, "id": 3008, "nodeType": "Return", - "src": "8162:40:2" + "src": "8161:40:2" } ] } @@ -30319,7 +30344,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3167, - "src": "8223:8:2", + "src": "8222:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30330,7 +30355,7 @@ "id": 3011, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "8223:4:2", + "src": "8222:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30343,7 +30368,7 @@ "id": 3013, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "8223:8:2" + "src": "8222:8:2" }, { "assignments": [ @@ -30356,7 +30381,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 3167, - "src": "8241:22:2", + "src": "8240:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30367,7 +30392,7 @@ "id": 3014, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8241:7:2", + "src": "8240:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30380,7 +30405,7 @@ "id": 3016, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "8241:22:2" + "src": "8240:22:2" }, { "expression": { @@ -30400,7 +30425,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3012, - "src": "8274:3:2", + "src": "8273:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30413,7 +30438,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "8279:14:2", + "src": "8278:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30427,7 +30452,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "8273:21:2", + "src": "8272:21:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -30445,7 +30470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2917, - "src": "8324:17:2", + "src": "8323:17:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30458,7 +30483,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2919, - "src": "8343:10:2", + "src": "8342:10:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30471,7 +30496,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2921, - "src": "8355:13:2", + "src": "8354:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30484,7 +30509,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2923, - "src": "8370:9:2", + "src": "8369:9:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30497,7 +30522,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2925, - "src": "8381:9:2", + "src": "8380:9:2", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -30510,7 +30535,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2927, - "src": "8392:11:2", + "src": "8391:11:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30524,8 +30549,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "8405:3:2", + "referencedDeclaration": 11098, + "src": "8404:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -30539,7 +30564,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8405:10:2", + "src": "8404:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -30584,9 +30609,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "8297:18:2", + "src": "8296:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -30597,8 +30622,8 @@ "lValueRequested": false, "memberName": "propose", "nodeType": "MemberAccess", - "referencedDeclaration": 7657, - "src": "8297:26:2", + "referencedDeclaration": 8158, + "src": "8296:26:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$returns$_t_uint256_$_t_bytes32_$", "typeString": "function (bytes32,uint256,uint256,bytes32,uint32,bytes32,address) external returns (uint256,bytes32)" @@ -30612,13 +30637,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8297:119:2", + "src": "8296:119:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" } }, - "src": "8273:143:2", + "src": "8272:143:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30626,7 +30651,7 @@ }, "id": 3032, "nodeType": "ExpressionStatement", - "src": "8273:143:2" + "src": "8272:143:2" }, { "condition": { @@ -30647,7 +30672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3012, - "src": "8430:3:2", + "src": "8429:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30665,7 +30690,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8437:1:2", + "src": "8436:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30673,7 +30698,7 @@ }, "value": "0" }, - "src": "8430:8:2", + "src": "8429:8:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30682,11 +30707,11 @@ "falseBody": null, "id": 3046, "nodeType": "IfStatement", - "src": "8426:117:2", + "src": "8425:117:2", "trueBody": { "id": 3045, "nodeType": "Block", - "src": "8440:103:2", + "src": "8439:103:2", "statements": [ { "eventCall": { @@ -30699,7 +30724,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "8470:14:2", + "src": "8469:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30712,7 +30737,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3012, - "src": "8486:3:2", + "src": "8485:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30735,7 +30760,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "8459:10:2", + "src": "8458:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -30749,7 +30774,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8459:31:2", + "src": "8458:31:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30757,7 +30782,7 @@ }, "id": 3040, "nodeType": "EmitStatement", - "src": "8454:36:2" + "src": "8453:36:2" }, { "expression": { @@ -30770,7 +30795,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3012, - "src": "8512:3:2", + "src": "8511:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30783,7 +30808,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "8517:14:2", + "src": "8516:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30797,7 +30822,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8511:21:2", + "src": "8510:21:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -30806,7 +30831,7 @@ "functionReturnParameters": 2933, "id": 3044, "nodeType": "Return", - "src": "8504:28:2" + "src": "8503:28:2" } ] } @@ -30822,7 +30847,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 3167, - "src": "8554:29:2", + "src": "8553:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -30835,7 +30860,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "8554:15:2", + "src": "8553:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -30855,7 +30880,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "8586:6:2", + "src": "8585:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -30869,7 +30894,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "8593:14:2", + "src": "8592:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30880,14 +30905,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8586:22:2", + "src": "8585:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "8554:54:2" + "src": "8553:54:2" }, { "condition": { @@ -30900,7 +30925,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "8934:5:2", + "src": "8933:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -30918,8 +30943,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "8922:11:2", + "referencedDeclaration": 4254, + "src": "8921:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -30933,7 +30958,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8922:18:2", + "src": "8921:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30942,11 +30967,11 @@ "falseBody": null, "id": 3075, "nodeType": "IfStatement", - "src": "8918:137:2", + "src": "8917:137:2", "trueBody": { "id": 3074, "nodeType": "Block", - "src": "8942:113:2", + "src": "8941:113:2", "statements": [ { "expression": { @@ -30994,7 +31019,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "8964:5:2", + "src": "8963:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -31008,7 +31033,7 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "8964:13:2", + "src": "8963:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31026,7 +31051,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8981:4:2", + "src": "8980:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31034,7 +31059,7 @@ }, "value": "true" }, - "src": "8964:21:2", + "src": "8963:21:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31062,7 +31087,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "8989:5:2", + "src": "8988:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -31076,7 +31101,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "8989:13:2", + "src": "8988:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31094,7 +31119,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9006:4:2", + "src": "9005:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31102,13 +31127,13 @@ }, "value": "true" }, - "src": "8989:21:2", + "src": "8988:21:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "8964:46:2", + "src": "8963:46:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31136,7 +31161,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9014:5:2", + "src": "9013:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -31150,7 +31175,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "9014:15:2", + "src": "9013:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31166,8 +31191,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "9033:3:2", + "referencedDeclaration": 11098, + "src": "9032:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -31181,19 +31206,19 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9033:10:2", + "src": "9032:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9014:29:2", + "src": "9013:29:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "8964:79:2", + "src": "8963:79:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31211,11 +31236,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "8956:7:2", + "referencedDeclaration": 11101, + "src": "8955:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -31229,7 +31254,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8956:88:2", + "src": "8955:88:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31237,7 +31262,7 @@ }, "id": 3073, "nodeType": "ExpressionStatement", - "src": "8956:88:2" + "src": "8955:88:2" } ] } @@ -31259,7 +31284,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9065:5:2", + "src": "9064:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -31273,7 +31298,7 @@ "memberName": "superblockHash", "nodeType": "MemberAccess", "referencedDeclaration": 2563, - "src": "9065:20:2", + "src": "9064:20:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31288,13 +31313,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "9088:14:2", + "src": "9087:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "9065:37:2", + "src": "9064:37:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31302,7 +31327,7 @@ }, "id": 3081, "nodeType": "ExpressionStatement", - "src": "9065:37:2" + "src": "9064:37:2" }, { "expression": { @@ -31321,7 +31346,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9112:5:2", + "src": "9111:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -31335,7 +31360,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "9112:15:2", + "src": "9111:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31351,8 +31376,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "9130:3:2", + "referencedDeclaration": 11098, + "src": "9129:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -31366,13 +31391,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9130:10:2", + "src": "9129:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9112:28:2", + "src": "9111:28:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31380,7 +31405,7 @@ }, "id": 3088, "nodeType": "ExpressionStatement", - "src": "9112:28:2" + "src": "9111:28:2" }, { "expression": { @@ -31399,7 +31424,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9150:5:2", + "src": "9149:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -31413,7 +31438,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "9150:16:2", + "src": "9149:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31434,7 +31459,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9177:1:2", + "src": "9176:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31456,7 +31481,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9169:7:2", + "src": "9168:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -31471,13 +31496,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9169:10:2", + "src": "9168:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9150:29:2", + "src": "9149:29:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31485,7 +31510,7 @@ }, "id": 3096, "nodeType": "ExpressionStatement", - "src": "9150:29:2" + "src": "9149:29:2" }, { "expression": { @@ -31504,7 +31529,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9189:5:2", + "src": "9188:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -31518,7 +31543,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "9189:13:2", + "src": "9188:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31536,7 +31561,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9205:5:2", + "src": "9204:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31544,7 +31569,7 @@ }, "value": "false" }, - "src": "9189:21:2", + "src": "9188:21:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31552,7 +31577,7 @@ }, "id": 3102, "nodeType": "ExpressionStatement", - "src": "9189:21:2" + "src": "9188:21:2" }, { "expression": { @@ -31571,7 +31596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9220:5:2", + "src": "9219:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -31585,7 +31610,7 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "9220:13:2", + "src": "9219:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31603,7 +31628,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9236:5:2", + "src": "9235:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31611,7 +31636,7 @@ }, "value": "false" }, - "src": "9220:21:2", + "src": "9219:21:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31619,7 +31644,7 @@ }, "id": 3108, "nodeType": "ExpressionStatement", - "src": "9220:21:2" + "src": "9219:21:2" }, { "expression": { @@ -31638,7 +31663,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9251:5:2", + "src": "9250:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -31652,7 +31677,7 @@ "memberName": "verificationOngoing", "nodeType": "MemberAccess", "referencedDeclaration": 2577, - "src": "9251:25:2", + "src": "9250:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31670,7 +31695,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9279:5:2", + "src": "9278:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31678,7 +31703,7 @@ }, "value": "false" }, - "src": "9251:33:2", + "src": "9250:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31686,7 +31711,7 @@ }, "id": 3114, "nodeType": "ExpressionStatement", - "src": "9251:33:2" + "src": "9250:33:2" }, { "expression": { @@ -31705,7 +31730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9294:5:2", + "src": "9293:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -31719,7 +31744,7 @@ "memberName": "createdAt", "nodeType": "MemberAccess", "referencedDeclaration": 2569, - "src": "9294:15:2", + "src": "9293:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31735,8 +31760,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "9312:5:2", + "referencedDeclaration": 11088, + "src": "9311:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -31750,13 +31775,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9312:15:2", + "src": "9311:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9294:33:2", + "src": "9293:33:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31764,7 +31789,7 @@ }, "id": 3121, "nodeType": "ExpressionStatement", - "src": "9294:33:2" + "src": "9293:33:2" }, { "expression": { @@ -31783,7 +31808,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9337:5:2", + "src": "9336:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -31797,7 +31822,7 @@ "memberName": "challengeTimeout", "nodeType": "MemberAccess", "referencedDeclaration": 2575, - "src": "9337:22:2", + "src": "9336:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31824,8 +31849,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "9362:5:2", + "referencedDeclaration": 11088, + "src": "9361:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -31839,7 +31864,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9362:15:2", + "src": "9361:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31854,19 +31879,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2598, - "src": "9380:17:2", + "src": "9379:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9362:35:2", + "src": "9361:35:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9337:60:2", + "src": "9336:60:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31874,7 +31899,7 @@ }, "id": 3130, "nodeType": "ExpressionStatement", - "src": "9337:60:2" + "src": "9336:60:2" }, { "expression": { @@ -31893,7 +31918,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3048, - "src": "9407:5:2", + "src": "9406:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -31907,7 +31932,7 @@ "memberName": "challengeDefended", "nodeType": "MemberAccess", "referencedDeclaration": 2583, - "src": "9407:23:2", + "src": "9406:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31925,7 +31950,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9433:5:2", + "src": "9432:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31933,7 +31958,7 @@ }, "value": "false" }, - "src": "9407:31:2", + "src": "9406:31:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31941,7 +31966,7 @@ }, "id": 3136, "nodeType": "ExpressionStatement", - "src": "9407:31:2" + "src": "9406:31:2" }, { "expression": { @@ -31958,7 +31983,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3012, - "src": "9448:3:2", + "src": "9447:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31976,7 +32001,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "9471:14:2", + "src": "9470:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31990,8 +32015,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "9487:3:2", + "referencedDeclaration": 11098, + "src": "9486:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -32005,7 +32030,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9487:10:2", + "src": "9486:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -32017,8 +32042,8 @@ "name": "minProposalDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "9499:18:2", + "referencedDeclaration": 4685, + "src": "9498:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32046,10 +32071,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10220, - "src": "9454:4:2", + "referencedDeclaration": 11134, + "src": "9453:4:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManager_$4337", + "typeIdentifier": "t_contract$_SyscoinClaimManager_$4338", "typeString": "contract SyscoinClaimManager" } }, @@ -32061,7 +32086,7 @@ "memberName": "bondDeposit", "nodeType": "MemberAccess", "referencedDeclaration": 2817, - "src": "9454:16:2", + "src": "9453:16:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes32,address,uint256) external returns (uint256)" @@ -32075,13 +32100,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9454:64:2", + "src": "9453:64:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9448:70:2", + "src": "9447:70:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32089,7 +32114,7 @@ }, "id": 3146, "nodeType": "ExpressionStatement", - "src": "9448:70:2" + "src": "9447:70:2" }, { "expression": { @@ -32113,7 +32138,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3012, - "src": "9536:3:2", + "src": "9535:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32127,14 +32152,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "9543:17:2", + "referencedDeclaration": 4517, + "src": "9542:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9536:24:2", + "src": "9535:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32152,11 +32177,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "9528:7:2", + "referencedDeclaration": 11101, + "src": "9527:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -32170,7 +32195,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9528:33:2", + "src": "9527:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32178,7 +32203,7 @@ }, "id": 3152, "nodeType": "ExpressionStatement", - "src": "9528:33:2" + "src": "9527:33:2" }, { "expression": { @@ -32191,7 +32216,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "9571:18:2", + "src": "9570:18:2", "subExpression": { "argumentTypes": null, "id": 3153, @@ -32199,7 +32224,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "9571:16:2", + "src": "9570:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32212,7 +32237,7 @@ }, "id": 3155, "nodeType": "ExpressionStatement", - "src": "9571:18:2" + "src": "9570:18:2" }, { "eventCall": { @@ -32225,7 +32250,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "9627:14:2", + "src": "9626:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32239,8 +32264,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "9643:3:2", + "referencedDeclaration": 11098, + "src": "9642:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -32254,7 +32279,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9643:10:2", + "src": "9642:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -32267,7 +32292,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "9655:16:2", + "src": "9654:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32294,7 +32319,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2624, - "src": "9604:22:2", + "src": "9603:22:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -32308,7 +32333,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9604:68:2", + "src": "9603:68:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32316,7 +32341,7 @@ }, "id": 3162, "nodeType": "EmitStatement", - "src": "9599:73:2" + "src": "9598:73:2" }, { "expression": { @@ -32328,8 +32353,8 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "9690:17:2", + "referencedDeclaration": 4517, + "src": "9689:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32342,7 +32367,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3015, - "src": "9709:14:2", + "src": "9708:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32356,7 +32381,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "9689:35:2", + "src": "9688:35:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -32365,7 +32390,7 @@ "functionReturnParameters": 2933, "id": 3166, "nodeType": "Return", - "src": "9682:42:2" + "src": "9681:42:2" } ] }, @@ -32386,7 +32411,7 @@ "name": "_blocksMerkleRoot", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7150:25:2", + "src": "7149:25:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32397,7 +32422,7 @@ "id": 2916, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7150:7:2", + "src": "7149:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32412,7 +32437,7 @@ "name": "_timestamp", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7185:15:2", + "src": "7184:15:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32423,7 +32448,7 @@ "id": 2918, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7185:4:2", + "src": "7184:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32438,7 +32463,7 @@ "name": "_mtpTimestamp", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7210:18:2", + "src": "7209:18:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32449,7 +32474,7 @@ "id": 2920, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7210:4:2", + "src": "7209:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32464,7 +32489,7 @@ "name": "_lastHash", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7238:17:2", + "src": "7237:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32475,7 +32500,7 @@ "id": 2922, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7238:7:2", + "src": "7237:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32490,7 +32515,7 @@ "name": "_lastBits", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7265:16:2", + "src": "7264:16:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32501,7 +32526,7 @@ "id": 2924, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "7265:6:2", + "src": "7264:6:2", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32516,7 +32541,7 @@ "name": "_parentHash", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7291:19:2", + "src": "7290:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32527,7 +32552,7 @@ "id": 2926, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7291:7:2", + "src": "7290:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32537,7 +32562,7 @@ "visibility": "internal" } ], - "src": "7140:176:2" + "src": "7139:176:2" }, "returnParameters": { "id": 2933, @@ -32549,7 +32574,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7335:4:2", + "src": "7334:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32560,7 +32585,7 @@ "id": 2929, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7335:4:2", + "src": "7334:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32575,7 +32600,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3168, - "src": "7341:7:2", + "src": "7340:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32586,7 +32611,7 @@ "id": 2931, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7341:7:2", + "src": "7340:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32596,10 +32621,10 @@ "visibility": "internal" } ], - "src": "7334:15:2" + "src": "7333:15:2" }, - "scope": 4337, - "src": "7114:2617:2", + "scope": 4338, + "src": "7113:2617:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -32608,7 +32633,7 @@ "body": { "id": 3358, "nodeType": "Block", - "src": "9978:1954:2", + "src": "9977:1954:2", "statements": [ { "expression": { @@ -32635,9 +32660,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "10004:18:2", + "src": "10003:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } } @@ -32645,7 +32670,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } ], @@ -32655,7 +32680,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9996:7:2", + "src": "9995:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -32670,7 +32695,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9996:27:2", + "src": "9995:27:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32691,7 +32716,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10035:1:2", + "src": "10034:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32713,7 +32738,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "10027:7:2", + "src": "10026:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -32728,13 +32753,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10027:10:2", + "src": "10026:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9996:41:2", + "src": "9995:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32752,11 +32777,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "9988:7:2", + "referencedDeclaration": 11101, + "src": "9987:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -32770,7 +32795,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9988:50:2", + "src": "9987:50:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32778,7 +32803,7 @@ }, "id": 3186, "nodeType": "ExpressionStatement", - "src": "9988:50:2" + "src": "9987:50:2" }, { "assignments": [ @@ -32791,7 +32816,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 3358, - "src": "10049:29:2", + "src": "10048:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -32804,7 +32829,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "10049:15:2", + "src": "10048:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -32824,7 +32849,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "10081:6:2", + "src": "10080:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -32838,7 +32863,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10088:14:2", + "src": "10087:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32849,14 +32874,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10081:22:2", + "src": "10080:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "10049:54:2" + "src": "10048:54:2" }, { "condition": { @@ -32869,7 +32894,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "10118:19:2", + "src": "10117:19:2", "subExpression": { "argumentTypes": null, "arguments": [ @@ -32880,7 +32905,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "10131:5:2", + "src": "10130:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -32898,8 +32923,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "10119:11:2", + "referencedDeclaration": 4254, + "src": "10118:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -32913,7 +32938,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10119:18:2", + "src": "10118:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32927,11 +32952,11 @@ "falseBody": null, "id": 3207, "nodeType": "IfStatement", - "src": "10114:170:2", + "src": "10113:170:2", "trueBody": { "id": 3206, "nodeType": "Block", - "src": "10139:145:2", + "src": "10138:145:2", "statements": [ { "eventCall": { @@ -32944,7 +32969,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10169:14:2", + "src": "10168:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32956,8 +32981,8 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "10185:24:2", + "referencedDeclaration": 4610, + "src": "10184:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32980,7 +33005,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "10158:10:2", + "src": "10157:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -32994,7 +33019,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10158:52:2", + "src": "10157:52:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -33002,7 +33027,7 @@ }, "id": 3201, "nodeType": "EmitStatement", - "src": "10153:57:2" + "src": "10152:57:2" }, { "expression": { @@ -33014,8 +33039,8 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "10232:24:2", + "referencedDeclaration": 4610, + "src": "10231:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33028,7 +33053,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10258:14:2", + "src": "10257:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33042,7 +33067,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "10231:42:2", + "src": "10230:42:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -33051,7 +33076,7 @@ "functionReturnParameters": 3176, "id": 3205, "nodeType": "Return", - "src": "10224:49:2" + "src": "10223:49:2" } ] } @@ -33077,7 +33102,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "10296:5:2", + "src": "10295:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -33091,7 +33116,7 @@ "memberName": "challengeDefended", "nodeType": "MemberAccess", "referencedDeclaration": 2583, - "src": "10296:23:2", + "src": "10295:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33109,7 +33134,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "10323:4:2", + "src": "10322:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33117,7 +33142,7 @@ }, "value": "true" }, - "src": "10296:31:2", + "src": "10295:31:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33126,11 +33151,11 @@ "falseBody": null, "id": 3222, "nodeType": "IfStatement", - "src": "10293:217:2", + "src": "10292:217:2", "trueBody": { "id": 3221, "nodeType": "Block", - "src": "10328:182:2", + "src": "10327:182:2", "statements": [ { "eventCall": { @@ -33143,7 +33168,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10358:14:2", + "src": "10357:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33155,8 +33180,8 @@ "name": "ERR_SUPERBLOCK_CLAIM_ALREADY_DEFENDED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4634, - "src": "10374:37:2", + "referencedDeclaration": 4643, + "src": "10373:37:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33179,7 +33204,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "10347:10:2", + "src": "10346:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -33193,7 +33218,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10347:65:2", + "src": "10346:65:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -33201,7 +33226,7 @@ }, "id": 3216, "nodeType": "EmitStatement", - "src": "10342:70:2" + "src": "10341:70:2" }, { "expression": { @@ -33213,8 +33238,8 @@ "name": "ERR_SUPERBLOCK_CLAIM_ALREADY_DEFENDED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4634, - "src": "10434:37:2", + "referencedDeclaration": 4643, + "src": "10433:37:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33227,7 +33252,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10473:14:2", + "src": "10472:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33241,7 +33266,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "10433:55:2", + "src": "10432:55:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -33250,7 +33275,7 @@ "functionReturnParameters": 3176, "id": 3220, "nodeType": "Return", - "src": "10426:62:2" + "src": "10425:62:2" } ] } @@ -33276,7 +33301,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "10523:5:2", + "src": "10522:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -33290,7 +33315,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "10523:13:2", + "src": "10522:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33307,7 +33332,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "10540:5:2", + "src": "10539:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -33321,13 +33346,13 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "10540:13:2", + "src": "10539:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10523:30:2", + "src": "10522:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33336,11 +33361,11 @@ "falseBody": null, "id": 3238, "nodeType": "IfStatement", - "src": "10519:189:2", + "src": "10518:189:2", "trueBody": { "id": 3237, "nodeType": "Block", - "src": "10555:153:2", + "src": "10554:153:2", "statements": [ { "eventCall": { @@ -33353,7 +33378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10585:14:2", + "src": "10584:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33365,8 +33390,8 @@ "name": "ERR_SUPERBLOCK_CLAIM_DECIDED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "10601:28:2", + "referencedDeclaration": 4616, + "src": "10600:28:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33389,7 +33414,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "10574:10:2", + "src": "10573:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -33403,7 +33428,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10574:56:2", + "src": "10573:56:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -33411,7 +33436,7 @@ }, "id": 3232, "nodeType": "EmitStatement", - "src": "10569:61:2" + "src": "10568:61:2" }, { "expression": { @@ -33423,8 +33448,8 @@ "name": "ERR_SUPERBLOCK_CLAIM_DECIDED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "10652:28:2", + "referencedDeclaration": 4616, + "src": "10651:28:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33437,7 +33462,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10682:14:2", + "src": "10681:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33451,7 +33476,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "10651:46:2", + "src": "10650:46:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -33460,7 +33485,7 @@ "functionReturnParameters": 3176, "id": 3236, "nodeType": "Return", - "src": "10644:53:2" + "src": "10643:53:2" } ] } @@ -33475,7 +33500,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "10721:5:2", + "src": "10720:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -33489,7 +33514,7 @@ "memberName": "verificationOngoing", "nodeType": "MemberAccess", "referencedDeclaration": 2577, - "src": "10721:25:2", + "src": "10720:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33498,11 +33523,11 @@ "falseBody": null, "id": 3251, "nodeType": "IfStatement", - "src": "10717:190:2", + "src": "10716:190:2", "trueBody": { "id": 3250, "nodeType": "Block", - "src": "10748:159:2", + "src": "10747:159:2", "statements": [ { "eventCall": { @@ -33515,7 +33540,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10778:14:2", + "src": "10777:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33527,8 +33552,8 @@ "name": "ERR_SUPERBLOCK_CHALLENGE_EXISTS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4610, - "src": "10794:31:2", + "referencedDeclaration": 4619, + "src": "10793:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33551,7 +33576,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "10767:10:2", + "src": "10766:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -33565,7 +33590,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10767:59:2", + "src": "10766:59:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -33573,7 +33598,7 @@ }, "id": 3245, "nodeType": "EmitStatement", - "src": "10762:64:2" + "src": "10761:64:2" }, { "expression": { @@ -33585,8 +33610,8 @@ "name": "ERR_SUPERBLOCK_CHALLENGE_EXISTS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4610, - "src": "10848:31:2", + "referencedDeclaration": 4619, + "src": "10847:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33599,7 +33624,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10881:14:2", + "src": "10880:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33613,7 +33638,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "10847:49:2", + "src": "10846:49:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -33622,7 +33647,7 @@ "functionReturnParameters": 3176, "id": 3249, "nodeType": "Return", - "src": "10840:56:2" + "src": "10839:56:2" } ] } @@ -33647,8 +33672,8 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "10920:8:2", + "referencedDeclaration": 4348, + "src": "10919:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -33663,8 +33688,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "10929:3:2", + "referencedDeclaration": 11098, + "src": "10928:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -33678,7 +33703,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10929:10:2", + "src": "10928:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -33689,7 +33714,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10920:20:2", + "src": "10919:20:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33703,14 +33728,14 @@ "name": "minProposalDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "10943:18:2", + "referencedDeclaration": 4685, + "src": "10942:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10920:41:2", + "src": "10919:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33719,11 +33744,11 @@ "falseBody": null, "id": 3268, "nodeType": "IfStatement", - "src": "10916:196:2", + "src": "10915:196:2", "trueBody": { "id": 3267, "nodeType": "Block", - "src": "10963:149:2", + "src": "10962:149:2", "statements": [ { "eventCall": { @@ -33736,7 +33761,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "10993:14:2", + "src": "10992:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33748,8 +33773,8 @@ "name": "ERR_SUPERBLOCK_MIN_DEPOSIT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4577, - "src": "11009:26:2", + "referencedDeclaration": 4586, + "src": "11008:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33772,7 +33797,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "10982:10:2", + "src": "10981:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -33786,7 +33811,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10982:54:2", + "src": "10981:54:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -33794,7 +33819,7 @@ }, "id": 3262, "nodeType": "EmitStatement", - "src": "10977:59:2" + "src": "10976:59:2" }, { "expression": { @@ -33806,8 +33831,8 @@ "name": "ERR_SUPERBLOCK_MIN_DEPOSIT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4577, - "src": "11058:26:2", + "referencedDeclaration": 4586, + "src": "11057:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33820,7 +33845,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11086:14:2", + "src": "11085:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33834,7 +33859,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "11057:44:2", + "src": "11056:44:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -33843,7 +33868,7 @@ "functionReturnParameters": 3176, "id": 3266, "nodeType": "Return", - "src": "11050:51:2" + "src": "11049:51:2" } ] } @@ -33859,7 +33884,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3358, - "src": "11126:8:2", + "src": "11125:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33870,7 +33895,7 @@ "id": 3269, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11126:4:2", + "src": "11125:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33891,7 +33916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11166:14:2", + "src": "11165:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33905,8 +33930,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "11182:3:2", + "referencedDeclaration": 11098, + "src": "11181:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -33920,7 +33945,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11182:10:2", + "src": "11181:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -33945,9 +33970,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "11137:18:2", + "src": "11136:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -33958,8 +33983,8 @@ "lValueRequested": false, "memberName": "challenge", "nodeType": "MemberAccess", - "referencedDeclaration": 7719, - "src": "11137:28:2", + "referencedDeclaration": 8220, + "src": "11136:28:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -33973,14 +33998,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11137:56:2", + "src": "11136:56:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "11126:67:2" + "src": "11125:67:2" }, { "condition": { @@ -34001,7 +34026,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3270, - "src": "11207:3:2", + "src": "11206:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34019,7 +34044,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11214:1:2", + "src": "11213:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -34027,7 +34052,7 @@ }, "value": "0" }, - "src": "11207:8:2", + "src": "11206:8:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -34036,11 +34061,11 @@ "falseBody": null, "id": 3291, "nodeType": "IfStatement", - "src": "11203:104:2", + "src": "11202:104:2", "trueBody": { "id": 3290, "nodeType": "Block", - "src": "11217:90:2", + "src": "11216:90:2", "statements": [ { "eventCall": { @@ -34053,7 +34078,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11247:14:2", + "src": "11246:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -34066,7 +34091,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3270, - "src": "11263:3:2", + "src": "11262:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34089,7 +34114,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "11236:10:2", + "src": "11235:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -34103,7 +34128,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11236:31:2", + "src": "11235:31:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -34111,7 +34136,7 @@ }, "id": 3285, "nodeType": "EmitStatement", - "src": "11231:36:2" + "src": "11230:36:2" }, { "expression": { @@ -34124,7 +34149,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3270, - "src": "11289:3:2", + "src": "11288:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34140,7 +34165,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11294:1:2", + "src": "11293:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -34156,7 +34181,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "11288:8:2", + "src": "11287:8:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", "typeString": "tuple(uint256,int_const 0)" @@ -34165,7 +34190,7 @@ "functionReturnParameters": 3176, "id": 3289, "nodeType": "Return", - "src": "11281:15:2" + "src": "11280:15:2" } ] } @@ -34185,7 +34210,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3270, - "src": "11317:3:2", + "src": "11316:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34203,7 +34228,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11340:14:2", + "src": "11339:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -34217,8 +34242,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "11356:3:2", + "referencedDeclaration": 11098, + "src": "11355:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -34232,7 +34257,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11356:10:2", + "src": "11355:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -34244,8 +34269,8 @@ "name": "minProposalDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "11368:18:2", + "referencedDeclaration": 4685, + "src": "11367:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34273,10 +34298,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10220, - "src": "11323:4:2", + "referencedDeclaration": 11134, + "src": "11322:4:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinClaimManager_$4337", + "typeIdentifier": "t_contract$_SyscoinClaimManager_$4338", "typeString": "contract SyscoinClaimManager" } }, @@ -34288,7 +34313,7 @@ "memberName": "bondDeposit", "nodeType": "MemberAccess", "referencedDeclaration": 2817, - "src": "11323:16:2", + "src": "11322:16:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes32,address,uint256) external returns (uint256)" @@ -34302,13 +34327,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11323:64:2", + "src": "11322:64:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11317:70:2", + "src": "11316:70:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34316,7 +34341,7 @@ }, "id": 3301, "nodeType": "ExpressionStatement", - "src": "11317:70:2" + "src": "11316:70:2" }, { "expression": { @@ -34340,7 +34365,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3270, - "src": "11405:3:2", + "src": "11404:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34354,14 +34379,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "11412:17:2", + "referencedDeclaration": 4517, + "src": "11411:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11405:24:2", + "src": "11404:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -34379,11 +34404,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "11397:7:2", + "referencedDeclaration": 11101, + "src": "11396:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -34397,7 +34422,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11397:33:2", + "src": "11396:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -34405,7 +34430,7 @@ }, "id": 3307, "nodeType": "ExpressionStatement", - "src": "11397:33:2" + "src": "11396:33:2" }, { "expression": { @@ -34424,7 +34449,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11441:5:2", + "src": "11440:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -34438,7 +34463,7 @@ "memberName": "challengeTimeout", "nodeType": "MemberAccess", "referencedDeclaration": 2575, - "src": "11441:22:2", + "src": "11440:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34465,8 +34490,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "11466:5:2", + "referencedDeclaration": 11088, + "src": "11465:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -34480,7 +34505,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11466:15:2", + "src": "11465:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34495,19 +34520,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2598, - "src": "11484:17:2", + "src": "11483:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11466:35:2", + "src": "11465:35:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11441:60:2", + "src": "11440:60:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34515,7 +34540,7 @@ }, "id": 3316, "nodeType": "ExpressionStatement", - "src": "11441:60:2" + "src": "11440:60:2" }, { "expression": { @@ -34534,7 +34559,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11511:5:2", + "src": "11510:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -34548,7 +34573,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "11511:16:2", + "src": "11510:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -34564,8 +34589,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "11530:3:2", + "referencedDeclaration": 11098, + "src": "11529:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -34579,13 +34604,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11530:10:2", + "src": "11529:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "11511:29:2", + "src": "11510:29:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -34593,7 +34618,7 @@ }, "id": 3323, "nodeType": "ExpressionStatement", - "src": "11511:29:2" + "src": "11510:29:2" }, { "eventCall": { @@ -34606,7 +34631,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11581:14:2", + "src": "11580:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -34620,8 +34645,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "11597:3:2", + "referencedDeclaration": 11098, + "src": "11596:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -34635,7 +34660,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11597:10:2", + "src": "11596:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -34658,7 +34683,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2630, - "src": "11555:25:2", + "src": "11554:25:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" @@ -34672,7 +34697,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11555:53:2", + "src": "11554:53:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -34680,7 +34705,7 @@ }, "id": 3329, "nodeType": "EmitStatement", - "src": "11550:58:2" + "src": "11549:58:2" }, { "expression": { @@ -34693,7 +34718,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11666:14:2", + "src": "11665:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -34708,7 +34733,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11682:5:2", + "src": "11681:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -34722,7 +34747,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "11682:15:2", + "src": "11681:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -34737,7 +34762,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11711:5:2", + "src": "11710:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -34751,7 +34776,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "11711:16:2", + "src": "11710:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -34780,9 +34805,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2592, - "src": "11619:27:2", + "src": "11618:27:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$7559", + "typeIdentifier": "t_contract$_SyscoinBattleManagerI_$8059", "typeString": "contract SyscoinBattleManagerI" } }, @@ -34793,8 +34818,8 @@ "lValueRequested": false, "memberName": "beginBattleSession", "nodeType": "MemberAccess", - "referencedDeclaration": 7558, - "src": "11619:46:2", + "referencedDeclaration": 8058, + "src": "11618:46:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", "typeString": "function (bytes32,address,address) external" @@ -34808,7 +34833,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11619:109:2", + "src": "11618:109:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -34816,7 +34841,7 @@ }, "id": 3339, "nodeType": "ExpressionStatement", - "src": "11619:109:2" + "src": "11618:109:2" }, { "eventCall": { @@ -34829,7 +34854,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11768:14:2", + "src": "11767:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -34844,7 +34869,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11784:5:2", + "src": "11783:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -34858,7 +34883,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "11784:15:2", + "src": "11783:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -34873,7 +34898,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11813:5:2", + "src": "11812:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -34887,7 +34912,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "11813:16:2", + "src": "11812:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -34914,7 +34939,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2668, - "src": "11744:23:2", + "src": "11743:23:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", "typeString": "function (bytes32,address,address)" @@ -34928,7 +34953,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11744:86:2", + "src": "11743:86:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -34936,7 +34961,7 @@ }, "id": 3347, "nodeType": "EmitStatement", - "src": "11739:91:2" + "src": "11738:91:2" }, { "expression": { @@ -34955,7 +34980,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3188, - "src": "11841:5:2", + "src": "11840:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -34969,7 +34994,7 @@ "memberName": "verificationOngoing", "nodeType": "MemberAccess", "referencedDeclaration": 2577, - "src": "11841:25:2", + "src": "11840:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -34987,7 +35012,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "11869:4:2", + "src": "11868:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -34995,7 +35020,7 @@ }, "value": "true" }, - "src": "11841:32:2", + "src": "11840:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -35003,7 +35028,7 @@ }, "id": 3353, "nodeType": "ExpressionStatement", - "src": "11841:32:2" + "src": "11840:32:2" }, { "expression": { @@ -35015,8 +35040,8 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "11891:17:2", + "referencedDeclaration": 4517, + "src": "11890:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35029,7 +35054,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3170, - "src": "11910:14:2", + "src": "11909:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -35043,7 +35068,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "11890:35:2", + "src": "11889:35:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" @@ -35052,7 +35077,7 @@ "functionReturnParameters": 3176, "id": 3357, "nodeType": "Return", - "src": "11883:42:2" + "src": "11882:42:2" } ] }, @@ -35073,7 +35098,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 3359, - "src": "9921:22:2", + "src": "9920:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35084,7 +35109,7 @@ "id": 3169, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9921:7:2", + "src": "9920:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -35094,7 +35119,7 @@ "visibility": "internal" } ], - "src": "9920:24:2" + "src": "9919:24:2" }, "returnParameters": { "id": 3176, @@ -35106,7 +35131,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3359, - "src": "9963:4:2", + "src": "9962:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35117,7 +35142,7 @@ "id": 3172, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "9963:4:2", + "src": "9962:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35132,7 +35157,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3359, - "src": "9969:7:2", + "src": "9968:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35143,7 +35168,7 @@ "id": 3174, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9969:7:2", + "src": "9968:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -35153,10 +35178,10 @@ "visibility": "internal" } ], - "src": "9962:15:2" + "src": "9961:15:2" }, - "scope": 4337, - "src": "9892:2040:2", + "scope": 4338, + "src": "9891:2040:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -35165,7 +35190,7 @@ "body": { "id": 3616, "nodeType": "Block", - "src": "12398:2441:2", + "src": "12397:2441:2", "statements": [ { "assignments": [ @@ -35178,7 +35203,7 @@ "name": "numSuperblocks", "nodeType": "VariableDeclaration", "scope": 3616, - "src": "12408:19:2", + "src": "12407:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35189,7 +35214,7 @@ "id": 3368, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "12408:4:2", + "src": "12407:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35210,7 +35235,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12430:1:2", + "src": "12429:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -35219,7 +35244,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "12408:23:2" + "src": "12407:23:2" }, { "assignments": [ @@ -35232,7 +35257,7 @@ "name": "confirmDescendants", "nodeType": "VariableDeclaration", "scope": 3616, - "src": "12441:23:2", + "src": "12440:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35243,7 +35268,7 @@ "id": 3372, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "12441:4:2", + "src": "12440:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -35264,7 +35289,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "12467:4:2", + "src": "12466:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -35273,7 +35298,7 @@ "value": "true" }, "nodeType": "VariableDeclarationStatement", - "src": "12441:30:2" + "src": "12440:30:2" }, { "assignments": [ @@ -35286,7 +35311,7 @@ "name": "id", "nodeType": "VariableDeclaration", "scope": 3616, - "src": "12481:10:2", + "src": "12480:10:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35297,7 +35322,7 @@ "id": 3376, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12481:7:2", + "src": "12480:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -35315,14 +35340,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3363, - "src": "12494:12:2", + "src": "12493:12:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "12481:25:2" + "src": "12480:25:2" }, { "assignments": [ @@ -35335,7 +35360,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 3616, - "src": "12516:29:2", + "src": "12515:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -35348,7 +35373,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "12516:15:2", + "src": "12515:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -35368,7 +35393,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "12548:6:2", + "src": "12547:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -35382,7 +35407,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "12555:2:2", + "src": "12554:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -35393,20 +35418,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12548:10:2", + "src": "12547:10:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "12516:42:2" + "src": "12515:42:2" }, { "body": { "id": 3453, "nodeType": "Block", - "src": "12597:669:2", + "src": "12596:669:2", "statements": [ { "condition": { @@ -35430,7 +35455,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "12615:19:2", + "src": "12614:19:2", "subExpression": { "argumentTypes": null, "arguments": [ @@ -35441,7 +35466,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "12628:5:2", + "src": "12627:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -35459,8 +35484,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "12616:11:2", + "referencedDeclaration": 4254, + "src": "12615:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -35474,7 +35499,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12616:18:2", + "src": "12615:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -35496,7 +35521,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "12638:5:2", + "src": "12637:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -35510,13 +35535,13 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "12638:13:2", + "src": "12637:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "12615:36:2", + "src": "12614:36:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -35525,11 +35550,11 @@ "falseBody": null, "id": 3404, "nodeType": "IfStatement", - "src": "12611:162:2", + "src": "12610:162:2", "trueBody": { "id": 3403, "nodeType": "Block", - "src": "12653:120:2", + "src": "12652:120:2", "statements": [ { "eventCall": { @@ -35542,7 +35567,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "12687:14:2", + "src": "12686:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -35554,8 +35579,8 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "12703:24:2", + "referencedDeclaration": 4610, + "src": "12702:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35578,7 +35603,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "12676:10:2", + "src": "12675:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -35592,7 +35617,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12676:52:2", + "src": "12675:52:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -35600,7 +35625,7 @@ }, "id": 3400, "nodeType": "EmitStatement", - "src": "12671:57:2" + "src": "12670:57:2" }, { "expression": { @@ -35613,7 +35638,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "12753:5:2", + "src": "12752:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -35624,7 +35649,7 @@ "functionReturnParameters": 3367, "id": 3402, "nodeType": "Return", - "src": "12746:12:2" + "src": "12745:12:2" } ] } @@ -35633,7 +35658,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "id": 3412, @@ -35651,7 +35676,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "12829:2:2", + "src": "12828:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -35672,9 +35697,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "12790:18:2", + "src": "12789:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -35685,10 +35710,10 @@ "lValueRequested": false, "memberName": "getSuperblockStatus", "nodeType": "MemberAccess", - "referencedDeclaration": 7768, - "src": "12790:38:2", + "referencedDeclaration": 8269, + "src": "12789:38:2", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$8118_$", "typeString": "function (bytes32) view external returns (enum SyscoinSuperblocksI.Status)" } }, @@ -35700,9 +35725,9 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12790:42:2", + "src": "12789:42:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -35718,10 +35743,10 @@ "name": "SyscoinSuperblocksI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7790, - "src": "12836:19:2", + "referencedDeclaration": 8312, + "src": "12835:19:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$7790_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$8312_$", "typeString": "type(contract SyscoinSuperblocksI)" } }, @@ -35732,10 +35757,10 @@ "lValueRequested": false, "memberName": "Status", "nodeType": "MemberAccess", - "referencedDeclaration": 7617, - "src": "12836:26:2", + "referencedDeclaration": 8118, + "src": "12835:26:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, @@ -35747,13 +35772,13 @@ "memberName": "SemiApproved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12836:39:2", + "src": "12835:39:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "12790:85:2", + "src": "12789:85:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -35762,11 +35787,11 @@ "falseBody": null, "id": 3421, "nodeType": "IfStatement", - "src": "12786:212:2", + "src": "12785:212:2", "trueBody": { "id": 3420, "nodeType": "Block", - "src": "12877:121:2", + "src": "12876:121:2", "statements": [ { "eventCall": { @@ -35779,7 +35804,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "12911:14:2", + "src": "12910:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -35791,8 +35816,8 @@ "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "12927:25:2", + "referencedDeclaration": 4523, + "src": "12926:25:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35815,7 +35840,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "12900:10:2", + "src": "12899:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -35829,7 +35854,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12900:53:2", + "src": "12899:53:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -35837,7 +35862,7 @@ }, "id": 3417, "nodeType": "EmitStatement", - "src": "12895:58:2" + "src": "12894:58:2" }, { "expression": { @@ -35850,7 +35875,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "12978:5:2", + "src": "12977:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -35861,7 +35886,7 @@ "functionReturnParameters": 3367, "id": 3419, "nodeType": "Return", - "src": "12971:12:2" + "src": "12970:12:2" } ] } @@ -35885,7 +35910,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3373, - "src": "13015:18:2", + "src": "13014:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -35913,7 +35938,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "13037:5:2", + "src": "13036:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -35927,7 +35952,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "13037:16:2", + "src": "13036:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -35948,7 +35973,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13065:1:2", + "src": "13064:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -35970,7 +35995,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13057:7:2", + "src": "13056:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -35985,19 +36010,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13057:10:2", + "src": "13056:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "13037:30:2", + "src": "13036:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13015:52:2", + "src": "13014:52:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -36006,11 +36031,11 @@ "falseBody": null, "id": 3435, "nodeType": "IfStatement", - "src": "13011:117:2", + "src": "13010:117:2", "trueBody": { "id": 3434, "nodeType": "Block", - "src": "13069:59:2", + "src": "13068:59:2", "statements": [ { "expression": { @@ -36027,7 +36052,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3373, - "src": "13087:18:2", + "src": "13086:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -36045,7 +36070,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "13108:5:2", + "src": "13107:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -36053,7 +36078,7 @@ }, "value": "false" }, - "src": "13087:26:2", + "src": "13086:26:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -36061,7 +36086,7 @@ }, "id": 3433, "nodeType": "ExpressionStatement", - "src": "13087:26:2" + "src": "13086:26:2" } ] } @@ -36081,7 +36106,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "13141:2:2", + "src": "13140:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -36099,7 +36124,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "13187:2:2", + "src": "13186:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -36120,9 +36145,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "13146:18:2", + "src": "13145:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -36133,8 +36158,8 @@ "lValueRequested": false, "memberName": "getSuperblockParentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7761, - "src": "13146:40:2", + "referencedDeclaration": 8262, + "src": "13145:40:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view external returns (bytes32)" @@ -36148,13 +36173,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13146:44:2", + "src": "13145:44:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "13141:49:2", + "src": "13140:49:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -36162,7 +36187,7 @@ }, "id": 3442, "nodeType": "ExpressionStatement", - "src": "13141:49:2" + "src": "13140:49:2" }, { "expression": { @@ -36179,7 +36204,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "13204:5:2", + "src": "13203:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -36196,7 +36221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "13212:6:2", + "src": "13211:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -36210,7 +36235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "13219:2:2", + "src": "13218:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -36221,13 +36246,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13212:10:2", + "src": "13211:10:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, - "src": "13204:18:2", + "src": "13203:18:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -36235,7 +36260,7 @@ }, "id": 3448, "nodeType": "ExpressionStatement", - "src": "13204:18:2" + "src": "13203:18:2" }, { "expression": { @@ -36252,7 +36277,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3369, - "src": "13236:14:2", + "src": "13235:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36270,7 +36295,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13254:1:2", + "src": "13253:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -36278,7 +36303,7 @@ }, "value": "1" }, - "src": "13236:19:2", + "src": "13235:19:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36286,7 +36311,7 @@ }, "id": 3452, "nodeType": "ExpressionStatement", - "src": "13236:19:2" + "src": "13235:19:2" } ] }, @@ -36308,7 +36333,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "12575:2:2", + "src": "12574:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -36323,13 +36348,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "12581:14:2", + "src": "12580:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "12575:20:2", + "src": "12574:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -36337,7 +36362,7 @@ }, "id": 3454, "nodeType": "WhileStatement", - "src": "12568:698:2" + "src": "12567:698:2" }, { "condition": { @@ -36358,7 +36383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3369, - "src": "13280:14:2", + "src": "13279:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36373,13 +36398,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2594, - "src": "13297:23:2", + "src": "13296:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "13280:40:2", + "src": "13279:40:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -36388,11 +36413,11 @@ "falseBody": null, "id": 3466, "nodeType": "IfStatement", - "src": "13276:166:2", + "src": "13275:166:2", "trueBody": { "id": 3465, "nodeType": "Block", - "src": "13322:120:2", + "src": "13321:120:2", "statements": [ { "eventCall": { @@ -36405,7 +36430,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "13352:14:2", + "src": "13351:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -36417,8 +36442,8 @@ "name": "ERR_SUPERBLOCK_MISSING_CONFIRMATIONS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4619, - "src": "13368:36:2", + "referencedDeclaration": 4628, + "src": "13367:36:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36441,7 +36466,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "13341:10:2", + "src": "13340:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -36455,7 +36480,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13341:64:2", + "src": "13340:64:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -36463,7 +36488,7 @@ }, "id": 3462, "nodeType": "EmitStatement", - "src": "13336:69:2" + "src": "13335:69:2" }, { "expression": { @@ -36476,7 +36501,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "13426:5:2", + "src": "13425:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -36487,7 +36512,7 @@ "functionReturnParameters": 3367, "id": 3464, "nodeType": "Return", - "src": "13419:12:2" + "src": "13418:12:2" } ] } @@ -36496,7 +36521,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "id": 3474, @@ -36514,7 +36539,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "13494:2:2", + "src": "13493:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -36535,9 +36560,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "13455:18:2", + "src": "13454:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -36548,10 +36573,10 @@ "lValueRequested": false, "memberName": "getSuperblockStatus", "nodeType": "MemberAccess", - "referencedDeclaration": 7768, - "src": "13455:38:2", + "referencedDeclaration": 8269, + "src": "13454:38:2", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$8118_$", "typeString": "function (bytes32) view external returns (enum SyscoinSuperblocksI.Status)" } }, @@ -36563,9 +36588,9 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13455:42:2", + "src": "13454:42:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -36581,10 +36606,10 @@ "name": "SyscoinSuperblocksI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7790, - "src": "13501:19:2", + "referencedDeclaration": 8312, + "src": "13500:19:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$7790_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$8312_$", "typeString": "type(contract SyscoinSuperblocksI)" } }, @@ -36595,10 +36620,10 @@ "lValueRequested": false, "memberName": "Status", "nodeType": "MemberAccess", - "referencedDeclaration": 7617, - "src": "13501:26:2", + "referencedDeclaration": 8118, + "src": "13500:26:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, @@ -36610,13 +36635,13 @@ "memberName": "SemiApproved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13501:39:2", + "src": "13500:39:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "13455:85:2", + "src": "13454:85:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -36625,11 +36650,11 @@ "falseBody": null, "id": 3483, "nodeType": "IfStatement", - "src": "13451:200:2", + "src": "13450:200:2", "trueBody": { "id": 3482, "nodeType": "Block", - "src": "13542:109:2", + "src": "13541:109:2", "statements": [ { "eventCall": { @@ -36642,7 +36667,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "13572:14:2", + "src": "13571:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -36654,8 +36679,8 @@ "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "13588:25:2", + "referencedDeclaration": 4523, + "src": "13587:25:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36678,7 +36703,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "13561:10:2", + "src": "13560:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -36692,7 +36717,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13561:53:2", + "src": "13560:53:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -36700,7 +36725,7 @@ }, "id": 3479, "nodeType": "EmitStatement", - "src": "13556:58:2" + "src": "13555:58:2" }, { "expression": { @@ -36713,7 +36738,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "13635:5:2", + "src": "13634:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -36724,7 +36749,7 @@ "functionReturnParameters": 3367, "id": 3481, "nodeType": "Return", - "src": "13628:12:2" + "src": "13627:12:2" } ] } @@ -36740,7 +36765,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3616, - "src": "13661:8:2", + "src": "13660:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -36751,7 +36776,7 @@ "id": 3484, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "13661:4:2", + "src": "13660:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36772,7 +36797,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "13699:14:2", + "src": "13698:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -36786,8 +36811,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "13715:3:2", + "referencedDeclaration": 11098, + "src": "13714:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -36801,7 +36826,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13715:10:2", + "src": "13714:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -36826,9 +36851,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "13672:18:2", + "src": "13671:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -36839,8 +36864,8 @@ "lValueRequested": false, "memberName": "confirm", "nodeType": "MemberAccess", - "referencedDeclaration": 7710, - "src": "13672:26:2", + "referencedDeclaration": 8211, + "src": "13671:26:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -36854,14 +36879,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13672:54:2", + "src": "13671:54:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "13661:65:2" + "src": "13660:65:2" }, { "condition": { @@ -36882,7 +36907,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3485, - "src": "13740:3:2", + "src": "13739:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36896,14 +36921,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "13747:17:2", + "referencedDeclaration": 4517, + "src": "13746:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "13740:24:2", + "src": "13739:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -36912,11 +36937,11 @@ "falseBody": null, "id": 3504, "nodeType": "IfStatement", - "src": "13736:117:2", + "src": "13735:117:2", "trueBody": { "id": 3503, "nodeType": "Block", - "src": "13766:87:2", + "src": "13765:87:2", "statements": [ { "eventCall": { @@ -36929,7 +36954,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "13796:14:2", + "src": "13795:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -36942,7 +36967,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3485, - "src": "13812:3:2", + "src": "13811:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36965,7 +36990,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "13785:10:2", + "src": "13784:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -36979,7 +37004,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13785:31:2", + "src": "13784:31:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -36987,7 +37012,7 @@ }, "id": 3500, "nodeType": "EmitStatement", - "src": "13780:36:2" + "src": "13779:36:2" }, { "expression": { @@ -37000,7 +37025,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "13837:5:2", + "src": "13836:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -37011,7 +37036,7 @@ "functionReturnParameters": 3367, "id": 3502, "nodeType": "Return", - "src": "13830:12:2" + "src": "13829:12:2" } ] } @@ -37027,7 +37052,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "13877:14:2", + "src": "13876:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37040,7 +37065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "13893:5:2", + "src": "13892:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -37062,8 +37087,8 @@ "name": "doPaySubmitter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4192, - "src": "13862:14:2", + "referencedDeclaration": 4193, + "src": "13861:14:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$__$", "typeString": "function (bytes32,struct SyscoinClaimManager.SuperblockClaim storage pointer)" @@ -37077,7 +37102,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13862:37:2", + "src": "13861:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -37085,7 +37110,7 @@ }, "id": 3509, "nodeType": "ExpressionStatement", - "src": "13862:37:2" + "src": "13861:37:2" }, { "condition": { @@ -37095,7 +37120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3373, - "src": "13914:18:2", + "src": "13913:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -37104,11 +37129,11 @@ "falseBody": null, "id": 3603, "nodeType": "IfStatement", - "src": "13910:783:2", + "src": "13909:783:2", "trueBody": { "id": 3602, "nodeType": "Block", - "src": "13934:759:2", + "src": "13933:759:2", "statements": [ { "assignments": [ @@ -37121,7 +37146,7 @@ "name": "descendants", "nodeType": "VariableDeclaration", "scope": 3602, - "src": "13948:28:2", + "src": "13947:28:2", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -37133,7 +37158,7 @@ "id": 3512, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13948:7:2", + "src": "13947:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37142,7 +37167,7 @@ "id": 3513, "length": null, "nodeType": "ArrayTypeName", - "src": "13948:9:2", + "src": "13947:9:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -37163,7 +37188,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3369, - "src": "13993:14:2", + "src": "13992:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37183,7 +37208,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "13979:13:2", + "src": "13978:13:2", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", "typeString": "function (uint256) pure returns (bytes32[] memory)" @@ -37193,7 +37218,7 @@ "id": 3515, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13983:7:2", + "src": "13982:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37202,7 +37227,7 @@ "id": 3516, "length": null, "nodeType": "ArrayTypeName", - "src": "13983:9:2", + "src": "13982:9:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -37217,14 +37242,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13979:29:2", + "src": "13978:29:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", "typeString": "bytes32[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "13948:60:2" + "src": "13947:60:2" }, { "expression": { @@ -37241,7 +37266,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14022:2:2", + "src": "14021:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37256,13 +37281,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3363, - "src": "14027:12:2", + "src": "14026:12:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "14022:17:2", + "src": "14021:17:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37270,7 +37295,7 @@ }, "id": 3524, "nodeType": "ExpressionStatement", - "src": "14022:17:2" + "src": "14021:17:2" }, { "assignments": [ @@ -37283,7 +37308,7 @@ "name": "idx", "nodeType": "VariableDeclaration", "scope": 3602, - "src": "14053:8:2", + "src": "14052:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -37294,7 +37319,7 @@ "id": 3525, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "14053:4:2", + "src": "14052:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37315,7 +37340,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14064:1:2", + "src": "14063:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -37324,13 +37349,13 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14053:12:2" + "src": "14052:12:2" }, { "body": { "id": 3549, "nodeType": "Block", - "src": "14108:147:2", + "src": "14107:147:2", "statements": [ { "expression": { @@ -37349,7 +37374,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3514, - "src": "14126:11:2", + "src": "14125:11:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -37363,7 +37388,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3526, - "src": "14138:3:2", + "src": "14137:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37374,7 +37399,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14126:16:2", + "src": "14125:16:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37389,13 +37414,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14145:2:2", + "src": "14144:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "14126:21:2", + "src": "14125:21:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37403,7 +37428,7 @@ }, "id": 3537, "nodeType": "ExpressionStatement", - "src": "14126:21:2" + "src": "14125:21:2" }, { "expression": { @@ -37420,7 +37445,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14165:2:2", + "src": "14164:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37438,7 +37463,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14211:2:2", + "src": "14210:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37459,9 +37484,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "14170:18:2", + "src": "14169:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -37472,8 +37497,8 @@ "lValueRequested": false, "memberName": "getSuperblockParentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7761, - "src": "14170:40:2", + "referencedDeclaration": 8262, + "src": "14169:40:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view external returns (bytes32)" @@ -37487,13 +37512,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14170:44:2", + "src": "14169:44:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "14165:49:2", + "src": "14164:49:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37501,7 +37526,7 @@ }, "id": 3544, "nodeType": "ExpressionStatement", - "src": "14165:49:2" + "src": "14164:49:2" }, { "expression": { @@ -37518,7 +37543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3526, - "src": "14232:3:2", + "src": "14231:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37536,7 +37561,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14239:1:2", + "src": "14238:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -37544,7 +37569,7 @@ }, "value": "1" }, - "src": "14232:8:2", + "src": "14231:8:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37552,7 +37577,7 @@ }, "id": 3548, "nodeType": "ExpressionStatement", - "src": "14232:8:2" + "src": "14231:8:2" } ] }, @@ -37574,7 +37599,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14086:2:2", + "src": "14085:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37589,13 +37614,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "14092:14:2", + "src": "14091:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "14086:20:2", + "src": "14085:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -37603,13 +37628,13 @@ }, "id": 3550, "nodeType": "WhileStatement", - "src": "14079:176:2" + "src": "14078:176:2" }, { "body": { "id": 3600, "nodeType": "Block", - "src": "14284:399:2", + "src": "14283:399:2", "statements": [ { "expression": { @@ -37626,7 +37651,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3526, - "src": "14302:3:2", + "src": "14301:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37644,7 +37669,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14309:1:2", + "src": "14308:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -37652,7 +37677,7 @@ }, "value": "1" }, - "src": "14302:8:2", + "src": "14301:8:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37660,7 +37685,7 @@ }, "id": 3557, "nodeType": "ExpressionStatement", - "src": "14302:8:2" + "src": "14301:8:2" }, { "expression": { @@ -37677,7 +37702,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14328:2:2", + "src": "14327:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37694,7 +37719,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3514, - "src": "14333:11:2", + "src": "14332:11:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -37708,7 +37733,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3526, - "src": "14345:3:2", + "src": "14344:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37719,13 +37744,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14333:16:2", + "src": "14332:16:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "14328:21:2", + "src": "14327:21:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37733,7 +37758,7 @@ }, "id": 3563, "nodeType": "ExpressionStatement", - "src": "14328:21:2" + "src": "14327:21:2" }, { "expression": { @@ -37750,7 +37775,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "14367:5:2", + "src": "14366:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -37767,7 +37792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "14375:6:2", + "src": "14374:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -37781,7 +37806,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14382:2:2", + "src": "14381:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37792,13 +37817,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14375:10:2", + "src": "14374:10:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, - "src": "14367:18:2", + "src": "14366:18:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -37806,7 +37831,7 @@ }, "id": 3569, "nodeType": "ExpressionStatement", - "src": "14367:18:2" + "src": "14366:18:2" }, { "expression": { @@ -37823,7 +37848,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3485, - "src": "14403:3:2", + "src": "14402:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37841,7 +37866,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14436:2:2", + "src": "14435:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -37855,8 +37880,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "14440:3:2", + "referencedDeclaration": 11098, + "src": "14439:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -37870,7 +37895,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14440:10:2", + "src": "14439:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -37895,9 +37920,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "14409:18:2", + "src": "14408:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -37908,8 +37933,8 @@ "lValueRequested": false, "memberName": "confirm", "nodeType": "MemberAccess", - "referencedDeclaration": 7710, - "src": "14409:26:2", + "referencedDeclaration": 8211, + "src": "14408:26:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -37923,13 +37948,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14409:42:2", + "src": "14408:42:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14403:48:2", + "src": "14402:48:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37937,7 +37962,7 @@ }, "id": 3578, "nodeType": "ExpressionStatement", - "src": "14403:48:2" + "src": "14402:48:2" }, { "expression": { @@ -37961,7 +37986,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3485, - "src": "14477:3:2", + "src": "14476:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37975,14 +38000,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "14484:17:2", + "referencedDeclaration": 4517, + "src": "14483:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14477:24:2", + "src": "14476:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -38000,11 +38025,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "14469:7:2", + "referencedDeclaration": 11101, + "src": "14468:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -38018,7 +38043,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14469:33:2", + "src": "14468:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -38026,7 +38051,7 @@ }, "id": 3584, "nodeType": "ExpressionStatement", - "src": "14469:33:2" + "src": "14468:33:2" }, { "expression": { @@ -38039,7 +38064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14535:2:2", + "src": "14534:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -38052,7 +38077,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "14539:5:2", + "src": "14538:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -38074,8 +38099,8 @@ "name": "doPaySubmitter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4192, - "src": "14520:14:2", + "referencedDeclaration": 4193, + "src": "14519:14:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$__$", "typeString": "function (bytes32,struct SyscoinClaimManager.SuperblockClaim storage pointer)" @@ -38089,7 +38114,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14520:25:2", + "src": "14519:25:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -38097,7 +38122,7 @@ }, "id": 3589, "nodeType": "ExpressionStatement", - "src": "14520:25:2" + "src": "14519:25:2" }, { "expression": { @@ -38110,7 +38135,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "14563:18:2", + "src": "14562:18:2", "subExpression": { "argumentTypes": null, "id": 3590, @@ -38118,7 +38143,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "14563:16:2", + "src": "14562:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38131,7 +38156,7 @@ }, "id": 3592, "nodeType": "ExpressionStatement", - "src": "14563:18:2" + "src": "14562:18:2" }, { "eventCall": { @@ -38144,7 +38169,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3377, - "src": "14630:2:2", + "src": "14629:2:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -38159,7 +38184,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "14634:5:2", + "src": "14633:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -38173,7 +38198,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "14634:15:2", + "src": "14633:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -38186,7 +38211,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "14651:16:2", + "src": "14650:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38213,7 +38238,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2646, - "src": "14604:25:2", + "src": "14603:25:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -38227,7 +38252,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14604:64:2", + "src": "14603:64:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -38235,7 +38260,7 @@ }, "id": 3599, "nodeType": "EmitStatement", - "src": "14599:69:2" + "src": "14598:69:2" } ] }, @@ -38257,7 +38282,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3526, - "src": "14275:3:2", + "src": "14274:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38275,7 +38300,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14281:1:2", + "src": "14280:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -38283,7 +38308,7 @@ }, "value": "0" }, - "src": "14275:7:2", + "src": "14274:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -38291,7 +38316,7 @@ }, "id": 3601, "nodeType": "WhileStatement", - "src": "14268:415:2" + "src": "14267:415:2" } ] } @@ -38307,7 +38332,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "14702:18:2", + "src": "14701:18:2", "subExpression": { "argumentTypes": null, "id": 3604, @@ -38315,7 +38340,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "14702:16:2", + "src": "14701:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38328,7 +38353,7 @@ }, "id": 3606, "nodeType": "ExpressionStatement", - "src": "14702:18:2" + "src": "14701:18:2" }, { "eventCall": { @@ -38341,7 +38366,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3361, - "src": "14761:14:2", + "src": "14760:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -38356,7 +38381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3381, - "src": "14777:5:2", + "src": "14776:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -38370,7 +38395,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "14777:15:2", + "src": "14776:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -38383,7 +38408,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "14794:16:2", + "src": "14793:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38410,7 +38435,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2646, - "src": "14735:25:2", + "src": "14734:25:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -38424,7 +38449,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14735:76:2", + "src": "14734:76:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -38432,7 +38457,7 @@ }, "id": 3613, "nodeType": "EmitStatement", - "src": "14730:81:2" + "src": "14729:81:2" }, { "expression": { @@ -38445,7 +38470,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14828:4:2", + "src": "14827:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -38456,7 +38481,7 @@ "functionReturnParameters": 3367, "id": 3615, "nodeType": "Return", - "src": "14821:11:2" + "src": "14820:11:2" } ] }, @@ -38477,7 +38502,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 3617, - "src": "12328:22:2", + "src": "12327:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -38488,7 +38513,7 @@ "id": 3360, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12328:7:2", + "src": "12327:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -38503,7 +38528,7 @@ "name": "descendantId", "nodeType": "VariableDeclaration", "scope": 3617, - "src": "12352:20:2", + "src": "12351:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -38514,7 +38539,7 @@ "id": 3362, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12352:7:2", + "src": "12351:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -38524,7 +38549,7 @@ "visibility": "internal" } ], - "src": "12327:46:2" + "src": "12326:46:2" }, "returnParameters": { "id": 3367, @@ -38536,7 +38561,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3617, - "src": "12392:4:2", + "src": "12391:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -38547,7 +38572,7 @@ "id": 3365, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "12392:4:2", + "src": "12391:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -38557,10 +38582,10 @@ "visibility": "internal" } ], - "src": "12391:6:2" + "src": "12390:6:2" }, - "scope": 4337, - "src": "12306:2533:2", + "scope": 4338, + "src": "12305:2533:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -38569,7 +38594,7 @@ "body": { "id": 3737, "nodeType": "Block", - "src": "15109:1225:2", + "src": "15108:1225:2", "statements": [ { "assignments": [ @@ -38582,7 +38607,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 3737, - "src": "15119:29:2", + "src": "15118:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -38595,7 +38620,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "15119:15:2", + "src": "15118:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -38615,7 +38640,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "15151:6:2", + "src": "15150:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -38629,7 +38654,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15158:14:2", + "src": "15157:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -38640,14 +38665,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15151:22:2", + "src": "15150:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "15119:54:2" + "src": "15118:54:2" }, { "condition": { @@ -38660,7 +38685,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "15187:19:2", + "src": "15186:19:2", "subExpression": { "argumentTypes": null, "arguments": [ @@ -38671,7 +38696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3625, - "src": "15200:5:2", + "src": "15199:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -38689,8 +38714,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "15188:11:2", + "referencedDeclaration": 4254, + "src": "15187:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -38704,7 +38729,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15188:18:2", + "src": "15187:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -38718,11 +38743,11 @@ "falseBody": null, "id": 3642, "nodeType": "IfStatement", - "src": "15183:133:2", + "src": "15182:133:2", "trueBody": { "id": 3641, "nodeType": "Block", - "src": "15208:108:2", + "src": "15207:108:2", "statements": [ { "eventCall": { @@ -38735,7 +38760,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15238:14:2", + "src": "15237:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -38747,8 +38772,8 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "15254:24:2", + "referencedDeclaration": 4610, + "src": "15253:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38771,7 +38796,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "15227:10:2", + "src": "15226:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -38785,7 +38810,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15227:52:2", + "src": "15226:52:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -38793,7 +38818,7 @@ }, "id": 3638, "nodeType": "EmitStatement", - "src": "15222:57:2" + "src": "15221:57:2" }, { "expression": { @@ -38806,7 +38831,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15300:5:2", + "src": "15299:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -38817,7 +38842,7 @@ "functionReturnParameters": 3623, "id": 3640, "nodeType": "Return", - "src": "15293:12:2" + "src": "15292:12:2" } ] } @@ -38833,7 +38858,7 @@ "name": "height", "nodeType": "VariableDeclaration", "scope": 3737, - "src": "15326:11:2", + "src": "15325:11:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -38844,7 +38869,7 @@ "id": 3643, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "15326:4:2", + "src": "15325:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38865,7 +38890,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15379:14:2", + "src": "15378:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -38886,9 +38911,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "15340:18:2", + "src": "15339:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -38899,8 +38924,8 @@ "lValueRequested": false, "memberName": "getSuperblockHeight", "nodeType": "MemberAccess", - "referencedDeclaration": 7754, - "src": "15340:38:2", + "referencedDeclaration": 8255, + "src": "15339:38:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint32_$", "typeString": "function (bytes32) view external returns (uint32)" @@ -38914,14 +38939,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15340:54:2", + "src": "15339:54:2", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "VariableDeclarationStatement", - "src": "15326:68:2" + "src": "15325:68:2" }, { "condition": { @@ -38942,7 +38967,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3644, - "src": "15409:6:2", + "src": "15408:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38962,9 +38987,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "15418:18:2", + "src": "15417:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -38975,8 +39000,8 @@ "lValueRequested": false, "memberName": "getChainHeight", "nodeType": "MemberAccess", - "referencedDeclaration": 7747, - "src": "15418:33:2", + "referencedDeclaration": 8248, + "src": "15417:33:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" @@ -38990,13 +39015,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15418:35:2", + "src": "15417:35:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15409:44:2", + "src": "15408:44:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -39005,11 +39030,11 @@ "falseBody": null, "id": 3663, "nodeType": "IfStatement", - "src": "15405:164:2", + "src": "15404:164:2", "trueBody": { "id": 3662, "nodeType": "Block", - "src": "15455:114:2", + "src": "15454:114:2", "statements": [ { "eventCall": { @@ -39022,7 +39047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15485:14:2", + "src": "15484:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -39034,8 +39059,8 @@ "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4628, - "src": "15501:30:2", + "referencedDeclaration": 4637, + "src": "15500:30:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39058,7 +39083,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "15474:10:2", + "src": "15473:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -39072,7 +39097,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15474:58:2", + "src": "15473:58:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -39080,7 +39105,7 @@ }, "id": 3659, "nodeType": "EmitStatement", - "src": "15469:63:2" + "src": "15468:63:2" }, { "expression": { @@ -39093,7 +39118,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15553:5:2", + "src": "15552:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -39104,7 +39129,7 @@ "functionReturnParameters": 3623, "id": 3661, "nodeType": "Return", - "src": "15546:12:2" + "src": "15545:12:2" } ] } @@ -39120,11 +39145,11 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 3737, - "src": "15579:33:2", + "src": "15578:33:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { @@ -39132,10 +39157,10 @@ "id": 3666, "name": "SyscoinSuperblocksI.Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "15579:26:2", + "referencedDeclaration": 8118, + "src": "15578:26:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -39154,7 +39179,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15654:14:2", + "src": "15653:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -39175,9 +39200,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "15615:18:2", + "src": "15614:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -39188,10 +39213,10 @@ "lValueRequested": false, "memberName": "getSuperblockStatus", "nodeType": "MemberAccess", - "referencedDeclaration": 7768, - "src": "15615:38:2", + "referencedDeclaration": 8269, + "src": "15614:38:2", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$8118_$", "typeString": "function (bytes32) view external returns (enum SyscoinSuperblocksI.Status)" } }, @@ -39203,20 +39228,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15615:54:2", + "src": "15614:54:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, "nodeType": "VariableDeclarationStatement", - "src": "15579:90:2" + "src": "15578:90:2" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "id": 3677, @@ -39231,9 +39256,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3667, - "src": "15684:6:2", + "src": "15683:6:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -39249,10 +39274,10 @@ "name": "SyscoinSuperblocksI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7790, - "src": "15694:19:2", + "referencedDeclaration": 8312, + "src": "15693:19:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$7790_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$8312_$", "typeString": "type(contract SyscoinSuperblocksI)" } }, @@ -39263,10 +39288,10 @@ "lValueRequested": false, "memberName": "Status", "nodeType": "MemberAccess", - "referencedDeclaration": 7617, - "src": "15694:26:2", + "referencedDeclaration": 8118, + "src": "15693:26:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, @@ -39278,13 +39303,13 @@ "memberName": "SemiApproved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15694:39:2", + "src": "15693:39:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "15684:49:2", + "src": "15683:49:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -39293,11 +39318,11 @@ "falseBody": null, "id": 3686, "nodeType": "IfStatement", - "src": "15680:164:2", + "src": "15679:164:2", "trueBody": { "id": 3685, "nodeType": "Block", - "src": "15735:109:2", + "src": "15734:109:2", "statements": [ { "eventCall": { @@ -39310,7 +39335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15765:14:2", + "src": "15764:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -39322,8 +39347,8 @@ "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "15781:25:2", + "referencedDeclaration": 4523, + "src": "15780:25:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39346,7 +39371,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "15754:10:2", + "src": "15753:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -39360,7 +39385,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15754:53:2", + "src": "15753:53:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -39368,7 +39393,7 @@ }, "id": 3682, "nodeType": "EmitStatement", - "src": "15749:58:2" + "src": "15748:58:2" }, { "expression": { @@ -39381,7 +39406,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15828:5:2", + "src": "15827:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -39392,7 +39417,7 @@ "functionReturnParameters": 3623, "id": 3684, "nodeType": "Return", - "src": "15821:12:2" + "src": "15820:12:2" } ] } @@ -39408,7 +39433,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "15858:14:2", + "src": "15857:14:2", "subExpression": { "argumentTypes": null, "expression": { @@ -39418,7 +39443,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3625, - "src": "15859:5:2", + "src": "15858:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -39432,7 +39457,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "15859:13:2", + "src": "15858:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -39446,11 +39471,11 @@ "falseBody": null, "id": 3698, "nodeType": "IfStatement", - "src": "15854:132:2", + "src": "15853:132:2", "trueBody": { "id": 3697, "nodeType": "Block", - "src": "15874:112:2", + "src": "15873:112:2", "statements": [ { "eventCall": { @@ -39463,7 +39488,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "15904:14:2", + "src": "15903:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -39475,8 +39500,8 @@ "name": "ERR_SUPERBLOCK_CLAIM_DECIDED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "15920:28:2", + "referencedDeclaration": 4616, + "src": "15919:28:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39499,7 +39524,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "15893:10:2", + "src": "15892:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -39513,7 +39538,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15893:56:2", + "src": "15892:56:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -39521,7 +39546,7 @@ }, "id": 3694, "nodeType": "EmitStatement", - "src": "15888:61:2" + "src": "15887:61:2" }, { "expression": { @@ -39534,7 +39559,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15970:5:2", + "src": "15969:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -39545,7 +39570,7 @@ "functionReturnParameters": 3623, "id": 3696, "nodeType": "Return", - "src": "15963:12:2" + "src": "15962:12:2" } ] } @@ -39561,7 +39586,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3737, - "src": "15996:8:2", + "src": "15995:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -39572,7 +39597,7 @@ "id": 3699, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "15996:4:2", + "src": "15995:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39593,7 +39618,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "16037:14:2", + "src": "16036:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -39608,7 +39633,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3625, - "src": "16053:5:2", + "src": "16052:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -39622,7 +39647,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "16053:15:2", + "src": "16052:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -39647,9 +39672,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "16007:18:2", + "src": "16006:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -39660,8 +39685,8 @@ "lValueRequested": false, "memberName": "invalidate", "nodeType": "MemberAccess", - "referencedDeclaration": 7737, - "src": "16007:29:2", + "referencedDeclaration": 8238, + "src": "16006:29:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -39675,14 +39700,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16007:62:2", + "src": "16006:62:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "15996:73:2" + "src": "15995:73:2" }, { "expression": { @@ -39706,7 +39731,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3700, - "src": "16087:3:2", + "src": "16086:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39720,14 +39745,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "16094:17:2", + "referencedDeclaration": 4517, + "src": "16093:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16087:24:2", + "src": "16086:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -39745,11 +39770,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "16079:7:2", + "referencedDeclaration": 11101, + "src": "16078:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -39763,7 +39788,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16079:33:2", + "src": "16078:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -39771,7 +39796,7 @@ }, "id": 3713, "nodeType": "ExpressionStatement", - "src": "16079:33:2" + "src": "16078:33:2" }, { "expression": { @@ -39784,7 +39809,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "16138:14:2", + "src": "16137:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -39797,7 +39822,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3625, - "src": "16154:5:2", + "src": "16153:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -39820,7 +39845,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4129, - "src": "16122:15:2", + "src": "16121:15:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$__$", "typeString": "function (bytes32,struct SyscoinClaimManager.SuperblockClaim storage pointer)" @@ -39834,7 +39859,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16122:38:2", + "src": "16121:38:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -39842,7 +39867,7 @@ }, "id": 3718, "nodeType": "ExpressionStatement", - "src": "16122:38:2" + "src": "16121:38:2" }, { "expression": { @@ -39861,7 +39886,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3625, - "src": "16170:5:2", + "src": "16169:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -39875,7 +39900,7 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "16170:13:2", + "src": "16169:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -39893,7 +39918,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16186:4:2", + "src": "16185:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -39901,7 +39926,7 @@ }, "value": "true" }, - "src": "16170:20:2", + "src": "16169:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -39909,7 +39934,7 @@ }, "id": 3724, "nodeType": "ExpressionStatement", - "src": "16170:20:2" + "src": "16169:20:2" }, { "expression": { @@ -39922,7 +39947,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "16200:18:2", + "src": "16199:18:2", "subExpression": { "argumentTypes": null, "id": 3725, @@ -39930,7 +39955,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "16200:16:2", + "src": "16199:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39943,7 +39968,7 @@ }, "id": 3727, "nodeType": "ExpressionStatement", - "src": "16200:18:2" + "src": "16199:18:2" }, { "eventCall": { @@ -39956,7 +39981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3619, - "src": "16255:14:2", + "src": "16254:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -39971,7 +39996,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3625, - "src": "16271:5:2", + "src": "16270:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -39985,7 +40010,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "16271:16:2", + "src": "16270:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -39998,7 +40023,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "16289:16:2", + "src": "16288:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40025,7 +40050,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2660, - "src": "16233:21:2", + "src": "16232:21:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -40039,7 +40064,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16233:73:2", + "src": "16232:73:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -40047,7 +40072,7 @@ }, "id": 3734, "nodeType": "EmitStatement", - "src": "16228:78:2" + "src": "16227:78:2" }, { "expression": { @@ -40060,7 +40085,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16323:4:2", + "src": "16322:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -40071,7 +40096,7 @@ "functionReturnParameters": 3623, "id": 3736, "nodeType": "Return", - "src": "16316:11:2" + "src": "16315:11:2" } ] }, @@ -40092,7 +40117,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 3738, - "src": "15061:22:2", + "src": "15060:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40103,7 +40128,7 @@ "id": 3618, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "15061:7:2", + "src": "15060:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -40113,7 +40138,7 @@ "visibility": "internal" } ], - "src": "15060:24:2" + "src": "15059:24:2" }, "returnParameters": { "id": 3623, @@ -40125,7 +40150,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3738, - "src": "15103:4:2", + "src": "15102:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40136,7 +40161,7 @@ "id": 3621, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "15103:4:2", + "src": "15102:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -40146,10 +40171,10 @@ "visibility": "internal" } ], - "src": "15102:6:2" + "src": "15101:6:2" }, - "scope": 4337, - "src": "15040:1294:2", + "scope": 4338, + "src": "15039:1294:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -40158,7 +40183,7 @@ "body": { "id": 3940, "nodeType": "Block", - "src": "16797:2427:2", + "src": "16796:2427:2", "statements": [ { "assignments": [ @@ -40171,7 +40196,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 3940, - "src": "16807:29:2", + "src": "16806:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -40184,7 +40209,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "16807:15:2", + "src": "16806:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -40204,7 +40229,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "16839:6:2", + "src": "16838:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -40218,7 +40243,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "16846:14:2", + "src": "16845:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -40229,14 +40254,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16839:22:2", + "src": "16838:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "16807:54:2" + "src": "16806:54:2" }, { "condition": { @@ -40260,7 +40285,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "16876:19:2", + "src": "16875:19:2", "subExpression": { "argumentTypes": null, "arguments": [ @@ -40271,7 +40296,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "16889:5:2", + "src": "16888:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -40289,8 +40314,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "16877:11:2", + "referencedDeclaration": 4254, + "src": "16876:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -40304,7 +40329,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16877:18:2", + "src": "16876:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -40326,7 +40351,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "16899:5:2", + "src": "16898:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -40340,13 +40365,13 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "16899:13:2", + "src": "16898:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16876:36:2", + "src": "16875:36:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -40355,11 +40380,11 @@ "falseBody": null, "id": 3766, "nodeType": "IfStatement", - "src": "16872:150:2", + "src": "16871:150:2", "trueBody": { "id": 3765, "nodeType": "Block", - "src": "16914:108:2", + "src": "16913:108:2", "statements": [ { "eventCall": { @@ -40372,7 +40397,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "16944:14:2", + "src": "16943:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -40384,8 +40409,8 @@ "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "16960:24:2", + "referencedDeclaration": 4610, + "src": "16959:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40408,7 +40433,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "16933:10:2", + "src": "16932:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -40422,7 +40447,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16933:52:2", + "src": "16932:52:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -40430,7 +40455,7 @@ }, "id": 3762, "nodeType": "EmitStatement", - "src": "16928:57:2" + "src": "16927:57:2" }, { "expression": { @@ -40443,7 +40468,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17006:5:2", + "src": "17005:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -40454,7 +40479,7 @@ "functionReturnParameters": 3744, "id": 3764, "nodeType": "Return", - "src": "16999:12:2" + "src": "16998:12:2" } ] } @@ -40469,7 +40494,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17097:5:2", + "src": "17096:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -40483,7 +40508,7 @@ "memberName": "verificationOngoing", "nodeType": "MemberAccess", "referencedDeclaration": 2577, - "src": "17097:25:2", + "src": "17096:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -40492,11 +40517,11 @@ "falseBody": null, "id": 3777, "nodeType": "IfStatement", - "src": "17093:150:2", + "src": "17092:150:2", "trueBody": { "id": 3776, "nodeType": "Block", - "src": "17124:119:2", + "src": "17123:119:2", "statements": [ { "eventCall": { @@ -40509,7 +40534,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "17154:14:2", + "src": "17153:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -40521,8 +40546,8 @@ "name": "ERR_SUPERBLOCK_VERIFICATION_PENDING", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4604, - "src": "17170:35:2", + "referencedDeclaration": 4613, + "src": "17169:35:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40545,7 +40570,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "17143:10:2", + "src": "17142:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -40559,7 +40584,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17143:63:2", + "src": "17142:63:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -40567,7 +40592,7 @@ }, "id": 3773, "nodeType": "EmitStatement", - "src": "17138:68:2" + "src": "17137:68:2" }, { "expression": { @@ -40580,7 +40605,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17227:5:2", + "src": "17226:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -40591,7 +40616,7 @@ "functionReturnParameters": 3744, "id": 3775, "nodeType": "Return", - "src": "17220:12:2" + "src": "17219:12:2" } ] } @@ -40606,7 +40631,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17318:5:2", + "src": "17317:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -40620,7 +40645,7 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "17318:13:2", + "src": "17317:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -40629,11 +40654,11 @@ "falseBody": null, "id": 3819, "nodeType": "IfStatement", - "src": "17314:512:2", + "src": "17313:512:2", "trueBody": { "id": 3818, "nodeType": "Block", - "src": "17333:493:2", + "src": "17332:493:2", "statements": [ { "expression": { @@ -40652,7 +40677,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17459:5:2", + "src": "17458:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -40666,7 +40691,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "17459:13:2", + "src": "17458:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -40684,7 +40709,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17475:4:2", + "src": "17474:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -40692,7 +40717,7 @@ }, "value": "true" }, - "src": "17459:20:2", + "src": "17458:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -40700,7 +40725,7 @@ }, "id": 3785, "nodeType": "ExpressionStatement", - "src": "17459:20:2" + "src": "17458:20:2" }, { "assignments": [ @@ -40713,7 +40738,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3818, - "src": "17493:8:2", + "src": "17492:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40724,7 +40749,7 @@ "id": 3786, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17493:4:2", + "src": "17492:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40745,7 +40770,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "17534:14:2", + "src": "17533:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -40760,7 +40785,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17550:5:2", + "src": "17549:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -40774,7 +40799,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "17550:15:2", + "src": "17549:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -40799,9 +40824,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "17504:18:2", + "src": "17503:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -40812,8 +40837,8 @@ "lValueRequested": false, "memberName": "invalidate", "nodeType": "MemberAccess", - "referencedDeclaration": 7737, - "src": "17504:29:2", + "referencedDeclaration": 8238, + "src": "17503:29:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -40827,14 +40852,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17504:62:2", + "src": "17503:62:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17493:73:2" + "src": "17492:73:2" }, { "expression": { @@ -40858,7 +40883,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3787, - "src": "17588:3:2", + "src": "17587:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40872,14 +40897,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "17595:17:2", + "referencedDeclaration": 4517, + "src": "17594:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17588:24:2", + "src": "17587:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -40897,11 +40922,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "17580:7:2", + "referencedDeclaration": 11101, + "src": "17579:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -40915,7 +40940,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17580:33:2", + "src": "17579:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -40923,7 +40948,7 @@ }, "id": 3800, "nodeType": "ExpressionStatement", - "src": "17580:33:2" + "src": "17579:33:2" }, { "expression": { @@ -40936,7 +40961,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "17643:14:2", + "src": "17642:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -40949,7 +40974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17659:5:2", + "src": "17658:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -40972,7 +40997,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4129, - "src": "17627:15:2", + "src": "17626:15:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$__$", "typeString": "function (bytes32,struct SyscoinClaimManager.SuperblockClaim storage pointer)" @@ -40986,7 +41011,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17627:38:2", + "src": "17626:38:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -40994,7 +41019,7 @@ }, "id": 3805, "nodeType": "ExpressionStatement", - "src": "17627:38:2" + "src": "17626:38:2" }, { "expression": { @@ -41007,7 +41032,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "17679:18:2", + "src": "17678:18:2", "subExpression": { "argumentTypes": null, "id": 3806, @@ -41015,7 +41040,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "17679:16:2", + "src": "17678:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41028,7 +41053,7 @@ }, "id": 3808, "nodeType": "ExpressionStatement", - "src": "17679:18:2" + "src": "17678:18:2" }, { "eventCall": { @@ -41041,7 +41066,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "17738:14:2", + "src": "17737:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -41056,7 +41081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17754:5:2", + "src": "17753:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -41070,7 +41095,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "17754:16:2", + "src": "17753:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -41083,7 +41108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "17772:16:2", + "src": "17771:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41110,7 +41135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2660, - "src": "17716:21:2", + "src": "17715:21:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -41124,7 +41149,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17716:73:2", + "src": "17715:73:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -41132,7 +41157,7 @@ }, "id": 3815, "nodeType": "EmitStatement", - "src": "17711:78:2" + "src": "17710:78:2" }, { "expression": { @@ -41145,7 +41170,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17810:5:2", + "src": "17809:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -41156,7 +41181,7 @@ "functionReturnParameters": 3744, "id": 3817, "nodeType": "Return", - "src": "17803:12:2" + "src": "17802:12:2" } ] } @@ -41181,8 +41206,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "17925:5:2", + "referencedDeclaration": 11088, + "src": "17924:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -41196,7 +41221,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17925:15:2", + "src": "17924:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41213,7 +41238,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "17944:5:2", + "src": "17943:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -41227,13 +41252,13 @@ "memberName": "challengeTimeout", "nodeType": "MemberAccess", "referencedDeclaration": 2575, - "src": "17944:22:2", + "src": "17943:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17925:41:2", + "src": "17924:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -41242,11 +41267,11 @@ "falseBody": null, "id": 3833, "nodeType": "IfStatement", - "src": "17921:156:2", + "src": "17920:156:2", "trueBody": { "id": 3832, "nodeType": "Block", - "src": "17968:109:2", + "src": "17967:109:2", "statements": [ { "eventCall": { @@ -41259,7 +41284,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "17998:14:2", + "src": "17997:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -41271,8 +41296,8 @@ "name": "ERR_SUPERBLOCK_NO_TIMEOUT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4523, - "src": "18014:25:2", + "referencedDeclaration": 4532, + "src": "18013:25:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41295,7 +41320,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2674, - "src": "17987:10:2", + "src": "17986:10:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" @@ -41309,7 +41334,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17987:53:2", + "src": "17986:53:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -41317,7 +41342,7 @@ }, "id": 3829, "nodeType": "EmitStatement", - "src": "17982:58:2" + "src": "17981:58:2" }, { "expression": { @@ -41330,7 +41355,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18061:5:2", + "src": "18060:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -41341,7 +41366,7 @@ "functionReturnParameters": 3744, "id": 3831, "nodeType": "Return", - "src": "18054:12:2" + "src": "18053:12:2" } ] } @@ -41363,7 +41388,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "18087:5:2", + "src": "18086:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -41377,7 +41402,7 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "18087:13:2", + "src": "18086:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -41395,7 +41420,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18103:4:2", + "src": "18102:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -41403,7 +41428,7 @@ }, "value": "true" }, - "src": "18087:20:2", + "src": "18086:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -41411,7 +41436,7 @@ }, "id": 3839, "nodeType": "ExpressionStatement", - "src": "18087:20:2" + "src": "18086:20:2" }, { "assignments": [ @@ -41424,7 +41449,7 @@ "name": "confirmImmediately", "nodeType": "VariableDeclaration", "scope": 3940, - "src": "18118:23:2", + "src": "18117:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -41435,7 +41460,7 @@ "id": 3840, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18118:4:2", + "src": "18117:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -41456,7 +41481,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18144:5:2", + "src": "18143:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -41465,7 +41490,7 @@ "value": "false" }, "nodeType": "VariableDeclarationStatement", - "src": "18118:31:2" + "src": "18117:31:2" }, { "condition": { @@ -41488,7 +41513,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "18229:5:2", + "src": "18228:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -41502,7 +41527,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "18229:16:2", + "src": "18228:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -41523,7 +41548,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18257:1:2", + "src": "18256:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -41545,7 +41570,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18249:7:2", + "src": "18248:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -41560,13 +41585,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18249:10:2", + "src": "18248:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "18229:30:2", + "src": "18228:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -41575,11 +41600,11 @@ "falseBody": null, "id": 3878, "nodeType": "IfStatement", - "src": "18225:356:2", + "src": "18224:356:2", "trueBody": { "id": 3877, "nodeType": "Block", - "src": "18261:320:2", + "src": "18260:320:2", "statements": [ { "assignments": [ @@ -41592,7 +41617,7 @@ "name": "parentId", "nodeType": "VariableDeclaration", "scope": 3877, - "src": "18275:16:2", + "src": "18274:16:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -41603,7 +41628,7 @@ "id": 3850, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18275:7:2", + "src": "18274:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -41624,7 +41649,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "18335:14:2", + "src": "18334:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -41645,9 +41670,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "18294:18:2", + "src": "18293:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -41658,8 +41683,8 @@ "lValueRequested": false, "memberName": "getSuperblockParentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7761, - "src": "18294:40:2", + "referencedDeclaration": 8262, + "src": "18293:40:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view external returns (bytes32)" @@ -41673,14 +41698,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18294:56:2", + "src": "18293:56:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "18275:75:2" + "src": "18274:75:2" }, { "assignments": [ @@ -41693,11 +41718,11 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 3877, - "src": "18364:33:2", + "src": "18363:33:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { @@ -41705,10 +41730,10 @@ "id": 3859, "name": "SyscoinSuperblocksI.Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "18364:26:2", + "referencedDeclaration": 8118, + "src": "18363:26:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -41727,7 +41752,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3851, - "src": "18439:8:2", + "src": "18438:8:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -41748,9 +41773,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "18400:18:2", + "src": "18399:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -41761,10 +41786,10 @@ "lValueRequested": false, "memberName": "getSuperblockStatus", "nodeType": "MemberAccess", - "referencedDeclaration": 7768, - "src": "18400:38:2", + "referencedDeclaration": 8269, + "src": "18399:38:2", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$8118_$", "typeString": "function (bytes32) view external returns (enum SyscoinSuperblocksI.Status)" } }, @@ -41776,20 +41801,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18400:48:2", + "src": "18399:48:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, "nodeType": "VariableDeclarationStatement", - "src": "18364:84:2" + "src": "18363:84:2" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "id": 3870, @@ -41804,9 +41829,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3860, - "src": "18466:6:2", + "src": "18465:6:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -41822,10 +41847,10 @@ "name": "SyscoinSuperblocksI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7790, - "src": "18476:19:2", + "referencedDeclaration": 8312, + "src": "18475:19:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$7790_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$8312_$", "typeString": "type(contract SyscoinSuperblocksI)" } }, @@ -41836,10 +41861,10 @@ "lValueRequested": false, "memberName": "Status", "nodeType": "MemberAccess", - "referencedDeclaration": 7617, - "src": "18476:26:2", + "referencedDeclaration": 8118, + "src": "18475:26:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, @@ -41851,13 +41876,13 @@ "memberName": "Approved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18476:35:2", + "src": "18475:35:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "18466:45:2", + "src": "18465:45:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -41866,11 +41891,11 @@ "falseBody": null, "id": 3876, "nodeType": "IfStatement", - "src": "18462:109:2", + "src": "18461:109:2", "trueBody": { "id": 3875, "nodeType": "Block", - "src": "18513:58:2", + "src": "18512:58:2", "statements": [ { "expression": { @@ -41887,7 +41912,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3841, - "src": "18531:18:2", + "src": "18530:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -41905,7 +41930,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18552:4:2", + "src": "18551:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -41913,7 +41938,7 @@ }, "value": "true" }, - "src": "18531:25:2", + "src": "18530:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -41921,7 +41946,7 @@ }, "id": 3874, "nodeType": "ExpressionStatement", - "src": "18531:25:2" + "src": "18530:25:2" } ] } @@ -41937,7 +41962,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3841, - "src": "18595:18:2", + "src": "18594:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -41946,7 +41971,7 @@ "falseBody": { "id": 3936, "nodeType": "Block", - "src": "18982:215:2", + "src": "18981:215:2", "statements": [ { "assignments": [ @@ -41959,7 +41984,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3936, - "src": "18996:8:2", + "src": "18995:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -41970,7 +41995,7 @@ "id": 3915, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "18996:4:2", + "src": "18995:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41991,7 +42016,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "19038:14:2", + "src": "19037:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -42005,8 +42030,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "19054:3:2", + "referencedDeclaration": 11098, + "src": "19053:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -42020,7 +42045,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19054:10:2", + "src": "19053:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -42045,9 +42070,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "19007:18:2", + "src": "19006:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -42058,8 +42083,8 @@ "lValueRequested": false, "memberName": "semiApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 7728, - "src": "19007:30:2", + "referencedDeclaration": 8229, + "src": "19006:30:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -42073,14 +42098,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19007:58:2", + "src": "19006:58:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18996:69:2" + "src": "18995:69:2" }, { "expression": { @@ -42104,7 +42129,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3916, - "src": "19087:3:2", + "src": "19086:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42118,14 +42143,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "19094:17:2", + "referencedDeclaration": 4517, + "src": "19093:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "19087:24:2", + "src": "19086:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -42143,11 +42168,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "19079:7:2", + "referencedDeclaration": 11101, + "src": "19078:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -42161,7 +42186,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19079:33:2", + "src": "19078:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -42169,7 +42194,7 @@ }, "id": 3929, "nodeType": "ExpressionStatement", - "src": "19079:33:2" + "src": "19078:33:2" }, { "eventCall": { @@ -42182,7 +42207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "19154:14:2", + "src": "19153:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -42197,7 +42222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "19170:5:2", + "src": "19169:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -42211,7 +42236,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "19170:15:2", + "src": "19169:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -42234,7 +42259,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2652, - "src": "19131:22:2", + "src": "19130:22:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" @@ -42248,7 +42273,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19131:55:2", + "src": "19130:55:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -42256,17 +42281,17 @@ }, "id": 3935, "nodeType": "EmitStatement", - "src": "19126:60:2" + "src": "19125:60:2" } ] }, "id": 3937, "nodeType": "IfStatement", - "src": "18591:606:2", + "src": "18590:606:2", "trueBody": { "id": 3914, "nodeType": "Block", - "src": "18615:361:2", + "src": "18614:361:2", "statements": [ { "assignments": [ @@ -42279,7 +42304,7 @@ "name": "err", "nodeType": "VariableDeclaration", "scope": 3914, - "src": "18629:8:2", + "src": "18628:8:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42290,7 +42315,7 @@ "id": 3880, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "18629:4:2", + "src": "18628:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42311,7 +42336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "18667:14:2", + "src": "18666:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -42325,8 +42350,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "18683:3:2", + "referencedDeclaration": 11098, + "src": "18682:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -42340,7 +42365,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18683:10:2", + "src": "18682:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -42365,9 +42390,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "18640:18:2", + "src": "18639:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -42378,8 +42403,8 @@ "lValueRequested": false, "memberName": "confirm", "nodeType": "MemberAccess", - "referencedDeclaration": 7710, - "src": "18640:26:2", + "referencedDeclaration": 8211, + "src": "18639:26:2", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$", "typeString": "function (bytes32,address) external returns (uint256)" @@ -42393,14 +42418,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18640:54:2", + "src": "18639:54:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18629:65:2" + "src": "18628:65:2" }, { "expression": { @@ -42424,7 +42449,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3881, - "src": "18716:3:2", + "src": "18715:3:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42438,14 +42463,14 @@ "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "18723:17:2", + "referencedDeclaration": 4517, + "src": "18722:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18716:24:2", + "src": "18715:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -42463,11 +42488,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "18708:7:2", + "referencedDeclaration": 11101, + "src": "18707:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -42481,7 +42506,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18708:33:2", + "src": "18707:33:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -42489,7 +42514,7 @@ }, "id": 3894, "nodeType": "ExpressionStatement", - "src": "18708:33:2" + "src": "18707:33:2" }, { "assignments": [ @@ -42502,7 +42527,7 @@ "name": "submitter", "nodeType": "VariableDeclaration", "scope": 3914, - "src": "18755:17:2", + "src": "18754:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42513,7 +42538,7 @@ "id": 3895, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18755:7:2", + "src": "18754:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -42534,7 +42559,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3746, - "src": "18775:5:2", + "src": "18774:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -42548,14 +42573,14 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "18775:15:2", + "src": "18774:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "18755:35:2" + "src": "18754:35:2" }, { "expression": { @@ -42568,7 +42593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "18818:14:2", + "src": "18817:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -42581,7 +42606,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3896, - "src": "18834:9:2", + "src": "18833:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -42604,7 +42629,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2915, - "src": "18804:13:2", + "src": "18803:13:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes32,address) returns (uint256,uint256)" @@ -42618,7 +42643,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18804:40:2", + "src": "18803:40:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -42626,7 +42651,7 @@ }, "id": 3904, "nodeType": "ExpressionStatement", - "src": "18804:40:2" + "src": "18803:40:2" }, { "expression": { @@ -42639,7 +42664,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "18858:18:2", + "src": "18857:18:2", "subExpression": { "argumentTypes": null, "id": 3905, @@ -42647,7 +42672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "18858:16:2", + "src": "18857:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42660,7 +42685,7 @@ }, "id": 3907, "nodeType": "ExpressionStatement", - "src": "18858:18:2" + "src": "18857:18:2" }, { "eventCall": { @@ -42673,7 +42698,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3740, - "src": "18921:14:2", + "src": "18920:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -42686,7 +42711,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3896, - "src": "18937:9:2", + "src": "18936:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -42699,7 +42724,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2600, - "src": "18948:16:2", + "src": "18947:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42726,7 +42751,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2646, - "src": "18895:25:2", + "src": "18894:25:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -42740,7 +42765,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18895:70:2", + "src": "18894:70:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -42748,7 +42773,7 @@ }, "id": 3913, "nodeType": "EmitStatement", - "src": "18890:75:2" + "src": "18889:75:2" } ] } @@ -42764,7 +42789,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19213:4:2", + "src": "19212:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -42775,7 +42800,7 @@ "functionReturnParameters": 3744, "id": 3939, "nodeType": "Return", - "src": "19206:11:2" + "src": "19205:11:2" } ] }, @@ -42796,7 +42821,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 3941, - "src": "16749:22:2", + "src": "16748:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42807,7 +42832,7 @@ "id": 3739, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16749:7:2", + "src": "16748:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -42817,7 +42842,7 @@ "visibility": "internal" } ], - "src": "16748:24:2" + "src": "16747:24:2" }, "returnParameters": { "id": 3744, @@ -42829,7 +42854,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 3941, - "src": "16791:4:2", + "src": "16790:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42840,7 +42865,7 @@ "id": 3742, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "16791:4:2", + "src": "16790:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -42850,10 +42875,10 @@ "visibility": "internal" } ], - "src": "16790:6:2" + "src": "16789:6:2" }, - "scope": 4337, - "src": "16721:2503:2", + "scope": 4338, + "src": "16720:2503:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -42862,7 +42887,7 @@ "body": { "id": 4007, "nodeType": "Block", - "src": "19546:478:2", + "src": "19545:478:2", "statements": [ { "assignments": [ @@ -42875,7 +42900,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 4007, - "src": "19556:29:2", + "src": "19555:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -42888,7 +42913,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "19556:15:2", + "src": "19555:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -42908,7 +42933,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "19588:6:2", + "src": "19587:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" @@ -42922,7 +42947,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3943, - "src": "19595:14:2", + "src": "19594:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -42933,14 +42958,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19588:22:2", + "src": "19587:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "19556:54:2" + "src": "19555:54:2" }, { "expression": { @@ -42956,7 +42981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3953, - "src": "19641:5:2", + "src": "19640:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -42974,8 +42999,8 @@ "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "19629:11:2", + "referencedDeclaration": 4254, + "src": "19628:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" @@ -42989,7 +43014,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19629:18:2", + "src": "19628:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43007,11 +43032,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "19621:7:2", + "referencedDeclaration": 11101, + "src": "19620:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -43025,7 +43050,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19621:27:2", + "src": "19620:27:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -43033,7 +43058,7 @@ }, "id": 3963, "nodeType": "ExpressionStatement", - "src": "19621:27:2" + "src": "19620:27:2" }, { "expression": { @@ -43052,7 +43077,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3953, - "src": "19659:5:2", + "src": "19658:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -43066,7 +43091,7 @@ "memberName": "verificationOngoing", "nodeType": "MemberAccess", "referencedDeclaration": 2577, - "src": "19659:25:2", + "src": "19658:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43084,7 +43109,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19687:5:2", + "src": "19686:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -43092,7 +43117,7 @@ }, "value": "false" }, - "src": "19659:33:2", + "src": "19658:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43100,7 +43125,7 @@ }, "id": 3969, "nodeType": "ExpressionStatement", - "src": "19659:33:2" + "src": "19658:33:2" }, { "assignments": [ @@ -43113,7 +43138,7 @@ "name": "submitter", "nodeType": "VariableDeclaration", "scope": 4007, - "src": "19702:17:2", + "src": "19701:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43124,7 +43149,7 @@ "id": 3970, "name": "address", "nodeType": "ElementaryTypeName", - "src": "19702:7:2", + "src": "19701:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43145,7 +43170,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3953, - "src": "19722:5:2", + "src": "19721:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -43159,14 +43184,14 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "19722:15:2", + "src": "19721:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "19702:35:2" + "src": "19701:35:2" }, { "condition": { @@ -43187,7 +43212,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3971, - "src": "19752:9:2", + "src": "19751:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43202,13 +43227,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3947, - "src": "19765:5:2", + "src": "19764:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19752:18:2", + "src": "19751:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43233,7 +43258,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3971, - "src": "19827:9:2", + "src": "19826:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43248,13 +43273,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3945, - "src": "19840:6:2", + "src": "19839:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19827:19:2", + "src": "19826:19:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43263,7 +43288,7 @@ "falseBody": { "id": 3998, "nodeType": "Block", - "src": "19916:33:2", + "src": "19915:33:2", "statements": [ { "expression": { @@ -43275,11 +43300,11 @@ "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 10189, - 10190 + 11103, + 11104 ], - "referencedDeclaration": 10189, - "src": "19930:6:2", + "referencedDeclaration": 11103, + "src": "19929:6:2", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$__$returns$__$", "typeString": "function () pure" @@ -43293,7 +43318,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19930:8:2", + "src": "19929:8:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -43301,17 +43326,17 @@ }, "id": 3997, "nodeType": "ExpressionStatement", - "src": "19930:8:2" + "src": "19929:8:2" } ] }, "id": 3999, "nodeType": "IfStatement", - "src": "19823:126:2", + "src": "19822:126:2", "trueBody": { "id": 3994, "nodeType": "Block", - "src": "19848:55:2", + "src": "19847:55:2", "statements": [ { "expression": { @@ -43330,7 +43355,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3953, - "src": "19862:5:2", + "src": "19861:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -43344,7 +43369,7 @@ "memberName": "challengeDefended", "nodeType": "MemberAccess", "referencedDeclaration": 2583, - "src": "19862:23:2", + "src": "19861:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43362,7 +43387,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19888:4:2", + "src": "19887:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -43370,7 +43395,7 @@ }, "value": "true" }, - "src": "19862:30:2", + "src": "19861:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43378,18 +43403,18 @@ }, "id": 3993, "nodeType": "ExpressionStatement", - "src": "19862:30:2" + "src": "19861:30:2" } ] } }, "id": 4000, "nodeType": "IfStatement", - "src": "19748:201:2", + "src": "19747:201:2", "trueBody": { "id": 3984, "nodeType": "Block", - "src": "19772:45:2", + "src": "19771:45:2", "statements": [ { "expression": { @@ -43408,7 +43433,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3953, - "src": "19786:5:2", + "src": "19785:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -43422,7 +43447,7 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "19786:13:2", + "src": "19785:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43440,7 +43465,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19802:4:2", + "src": "19801:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -43448,7 +43473,7 @@ }, "value": "true" }, - "src": "19786:20:2", + "src": "19785:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43456,7 +43481,7 @@ }, "id": 3983, "nodeType": "ExpressionStatement", - "src": "19786:20:2" + "src": "19785:20:2" } ] } @@ -43472,7 +43497,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3943, - "src": "19987:14:2", + "src": "19986:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -43485,7 +43510,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3945, - "src": "20003:6:2", + "src": "20002:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43498,7 +43523,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3947, - "src": "20011:5:2", + "src": "20010:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43525,7 +43550,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2638, - "src": "19963:23:2", + "src": "19962:23:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", "typeString": "function (bytes32,address,address)" @@ -43539,7 +43564,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19963:54:2", + "src": "19962:54:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -43547,7 +43572,7 @@ }, "id": 4006, "nodeType": "EmitStatement", - "src": "19958:59:2" + "src": "19957:59:2" } ] }, @@ -43566,14 +43591,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2687, - "src": "19528:17:2", + "src": "19527:17:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "19528:17:2" + "src": "19527:17:2" } ], "name": "sessionDecided", @@ -43588,7 +43613,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 4008, - "src": "19464:22:2", + "src": "19463:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43599,7 +43624,7 @@ "id": 3942, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "19464:7:2", + "src": "19463:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -43614,7 +43639,7 @@ "name": "winner", "nodeType": "VariableDeclaration", "scope": 4008, - "src": "19488:14:2", + "src": "19487:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43625,7 +43650,7 @@ "id": 3944, "name": "address", "nodeType": "ElementaryTypeName", - "src": "19488:7:2", + "src": "19487:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43641,7 +43666,7 @@ "name": "loser", "nodeType": "VariableDeclaration", "scope": 4008, - "src": "19504:13:2", + "src": "19503:13:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43652,7 +43677,7 @@ "id": 3946, "name": "address", "nodeType": "ElementaryTypeName", - "src": "19504:7:2", + "src": "19503:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43663,16 +43688,16 @@ "visibility": "internal" } ], - "src": "19463:55:2" + "src": "19462:55:2" }, "returnParameters": { "id": 3951, "nodeType": "ParameterList", "parameters": [], - "src": "19546:0:2" + "src": "19545:0:2" }, - "scope": 4337, - "src": "19440:584:2", + "scope": 4338, + "src": "19439:584:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -43681,7 +43706,7 @@ "body": { "id": 4128, "nodeType": "Block", - "src": "20219:1166:2", + "src": "20218:1166:2", "statements": [ { "assignments": [ @@ -43694,7 +43719,7 @@ "name": "challenger", "nodeType": "VariableDeclaration", "scope": 4128, - "src": "20229:18:2", + "src": "20228:18:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43705,7 +43730,7 @@ "id": 4015, "name": "address", "nodeType": "ElementaryTypeName", - "src": "20229:7:2", + "src": "20228:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43726,7 +43751,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4012, - "src": "20250:5:2", + "src": "20249:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -43740,14 +43765,14 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "20250:16:2", + "src": "20249:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "20229:37:2" + "src": "20228:37:2" }, { "assignments": [ @@ -43760,7 +43785,7 @@ "name": "submitter", "nodeType": "VariableDeclaration", "scope": 4128, - "src": "20276:17:2", + "src": "20275:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43771,7 +43796,7 @@ "id": 4020, "name": "address", "nodeType": "ElementaryTypeName", - "src": "20276:7:2", + "src": "20275:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43792,7 +43817,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4012, - "src": "20296:5:2", + "src": "20295:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -43806,14 +43831,14 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "20296:15:2", + "src": "20295:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "20276:35:2" + "src": "20275:35:2" }, { "condition": { @@ -43845,7 +43870,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4016, - "src": "20326:10:2", + "src": "20325:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43866,7 +43891,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20348:1:2", + "src": "20347:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -43888,7 +43913,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "20340:7:2", + "src": "20339:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -43903,13 +43928,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20340:10:2", + "src": "20339:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "20326:24:2", + "src": "20325:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43935,7 +43960,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4021, - "src": "20354:9:2", + "src": "20353:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43956,7 +43981,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20375:1:2", + "src": "20374:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -43978,7 +44003,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "20367:7:2", + "src": "20366:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -43993,19 +44018,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20367:10:2", + "src": "20366:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "20354:23:2", + "src": "20353:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "20326:51:2", + "src": "20325:51:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -44014,11 +44039,11 @@ "falseBody": null, "id": 4127, "nodeType": "IfStatement", - "src": "20322:1057:2", + "src": "20321:1057:2", "trueBody": { "id": 4126, "nodeType": "Block", - "src": "20379:1000:2", + "src": "20378:1000:2", "statements": [ { "assignments": [ @@ -44031,7 +44056,7 @@ "name": "reward", "nodeType": "VariableDeclaration", "scope": 4126, - "src": "20393:11:2", + "src": "20392:11:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44042,7 +44067,7 @@ "id": 4036, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "20393:4:2", + "src": "20392:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44064,7 +44089,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4012, - "src": "20407:5:2", + "src": "20406:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -44078,7 +44103,7 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "20407:20:2", + "src": "20406:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -44092,7 +44117,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4021, - "src": "20428:9:2", + "src": "20427:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44103,14 +44128,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20407:31:2", + "src": "20406:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "20393:45:2" + "src": "20392:45:2" }, { "expression": { @@ -44127,7 +44152,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4037, - "src": "20452:6:2", + "src": "20451:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44145,7 +44170,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20462:19:2", + "src": "20461:19:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000000000000000_by_1", @@ -44153,7 +44178,7 @@ }, "value": "1000000000000000000" }, - "src": "20452:29:2", + "src": "20451:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44161,7 +44186,7 @@ }, "id": 4046, "nodeType": "ExpressionStatement", - "src": "20452:29:2" + "src": "20451:29:2" }, { "expression": { @@ -44182,7 +44207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4012, - "src": "20506:5:2", + "src": "20505:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -44196,7 +44221,7 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "20506:20:2", + "src": "20505:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -44210,7 +44235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4016, - "src": "20527:10:2", + "src": "20526:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44221,7 +44246,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20506:32:2", + "src": "20505:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44239,7 +44264,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4037, - "src": "20578:6:2", + "src": "20577:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44264,7 +44289,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4012, - "src": "20541:5:2", + "src": "20540:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -44278,7 +44303,7 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "20541:20:2", + "src": "20540:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -44292,7 +44317,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4016, - "src": "20562:10:2", + "src": "20561:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44303,7 +44328,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20541:32:2", + "src": "20540:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44316,8 +44341,8 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "20541:36:2", + "referencedDeclaration": 9395, + "src": "20540:36:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -44331,13 +44356,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20541:44:2", + "src": "20540:44:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "20506:79:2", + "src": "20505:79:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44345,7 +44370,7 @@ }, "id": 4060, "nodeType": "ExpressionStatement", - "src": "20506:79:2" + "src": "20505:79:2" }, { "expression": { @@ -44358,7 +44383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4010, - "src": "20613:14:2", + "src": "20612:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -44371,7 +44396,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4016, - "src": "20629:10:2", + "src": "20628:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44394,7 +44419,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2915, - "src": "20599:13:2", + "src": "20598:13:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes32,address) returns (uint256,uint256)" @@ -44408,7 +44433,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20599:41:2", + "src": "20598:41:2", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -44416,7 +44441,7 @@ }, "id": 4065, "nodeType": "ExpressionStatement", - "src": "20599:41:2" + "src": "20598:41:2" }, { "expression": { @@ -44429,7 +44454,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "20654:38:2", + "src": "20653:38:2", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -44441,7 +44466,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4012, - "src": "20661:5:2", + "src": "20660:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -44455,7 +44480,7 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "20661:20:2", + "src": "20660:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -44469,7 +44494,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4021, - "src": "20682:9:2", + "src": "20681:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44480,7 +44505,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20661:31:2", + "src": "20660:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44493,7 +44518,7 @@ }, "id": 4071, "nodeType": "ExpressionStatement", - "src": "20654:38:2" + "src": "20653:38:2" }, { "assignments": [ @@ -44506,7 +44531,7 @@ "name": "numPaid", "nodeType": "VariableDeclaration", "scope": 4126, - "src": "20792:12:2", + "src": "20791:12:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44517,7 +44542,7 @@ "id": 4072, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "20792:4:2", + "src": "20791:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44538,7 +44563,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20807:1:2", + "src": "20806:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -44547,7 +44572,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "20792:16:2" + "src": "20791:16:2" }, { "assignments": [ @@ -44560,7 +44585,7 @@ "name": "prevSubmitter", "nodeType": "VariableDeclaration", "scope": 4126, - "src": "20822:21:2", + "src": "20821:21:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44571,7 +44596,7 @@ "id": 4076, "name": "address", "nodeType": "ElementaryTypeName", - "src": "20822:7:2", + "src": "20821:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -44585,7 +44610,7 @@ "id": 4078, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "20822:21:2" + "src": "20821:21:2" }, { "assignments": [ @@ -44598,11 +44623,11 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 4126, - "src": "20857:33:2", + "src": "20856:33:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { @@ -44610,10 +44635,10 @@ "id": 4081, "name": "SyscoinSuperblocksI.Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "20857:26:2", + "referencedDeclaration": 8118, + "src": "20856:26:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -44624,13 +44649,13 @@ "id": 4083, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "20857:33:2" + "src": "20856:33:2" }, { "body": { "id": 4124, "nodeType": "Block", - "src": "20924:444:2", + "src": "20923:444:2", "statements": [ { "expression": { @@ -44655,7 +44680,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4010, - "src": "20948:14:2", + "src": "20947:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -44668,7 +44693,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4077, - "src": "20963:13:2", + "src": "20962:13:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44681,9 +44706,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4082, - "src": "20977:6:2", + "src": "20976:6:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -44696,9 +44721,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "20942:43:2", + "src": "20941:43:2", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$__$__$__$__$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$__$", + "typeIdentifier": "t_tuple$__$__$__$__$__$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$__$", "typeString": "tuple(,,,,,bytes32,address,enum SyscoinSuperblocksI.Status,)" } }, @@ -44714,7 +44739,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4010, - "src": "21021:14:2", + "src": "21020:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -44735,9 +44760,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "20988:18:2", + "src": "20987:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, @@ -44748,10 +44773,10 @@ "lValueRequested": false, "memberName": "getSuperblock", "nodeType": "MemberAccess", - "referencedDeclaration": 7680, - "src": "20988:32:2", + "referencedDeclaration": 8181, + "src": "20987:32:2", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", "typeString": "function (bytes32) view external returns (bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" } }, @@ -44763,13 +44788,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20988:48:2", + "src": "20987:48:2", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", "typeString": "tuple(bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" } }, - "src": "20942:94:2", + "src": "20941:94:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -44777,7 +44802,7 @@ }, "id": 4096, "nodeType": "ExpressionStatement", - "src": "20942:94:2" + "src": "20941:94:2" }, { "condition": { @@ -44798,7 +44823,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4010, - "src": "21057:14:2", + "src": "21056:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -44816,7 +44841,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "21075:3:2", + "src": "21074:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -44824,7 +44849,7 @@ }, "value": "0x0" }, - "src": "21057:21:2", + "src": "21056:21:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -44833,18 +44858,18 @@ "falseBody": null, "id": 4101, "nodeType": "IfStatement", - "src": "21054:51:2", + "src": "21053:51:2", "trueBody": { "id": 4100, "nodeType": "Break", - "src": "21100:5:2" + "src": "21099:5:2" } }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "id": 4106, @@ -44859,9 +44884,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4082, - "src": "21127:6:2", + "src": "21126:6:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -44877,10 +44902,10 @@ "name": "SyscoinSuperblocksI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7790, - "src": "21137:19:2", + "referencedDeclaration": 8312, + "src": "21136:19:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$7790_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$8312_$", "typeString": "type(contract SyscoinSuperblocksI)" } }, @@ -44891,10 +44916,10 @@ "lValueRequested": false, "memberName": "Status", "nodeType": "MemberAccess", - "referencedDeclaration": 7617, - "src": "21137:26:2", + "referencedDeclaration": 8118, + "src": "21136:26:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, @@ -44906,13 +44931,13 @@ "memberName": "Approved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21137:35:2", + "src": "21136:35:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "21127:45:2", + "src": "21126:45:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -44921,16 +44946,16 @@ "falseBody": null, "id": 4109, "nodeType": "IfStatement", - "src": "21123:100:2", + "src": "21122:100:2", "trueBody": { "id": 4108, "nodeType": "Block", - "src": "21174:49:2", + "src": "21173:49:2", "statements": [ { "id": 4107, "nodeType": "Continue", - "src": "21196:8:2" + "src": "21195:8:2" } ] } @@ -44951,8 +44976,8 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "21240:8:2", + "referencedDeclaration": 4348, + "src": "21239:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -44966,7 +44991,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4077, - "src": "21249:13:2", + "src": "21248:13:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44977,7 +45002,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "21240:23:2", + "src": "21239:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44998,7 +45023,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "21294:18:2", + "src": "21293:18:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100000000000000000_by_1", @@ -45022,8 +45047,8 @@ "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "21266:8:2", + "referencedDeclaration": 4348, + "src": "21265:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -45037,7 +45062,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4077, - "src": "21275:13:2", + "src": "21274:13:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45048,7 +45073,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21266:23:2", + "src": "21265:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45061,8 +45086,8 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "21266:27:2", + "referencedDeclaration": 9395, + "src": "21265:27:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -45076,13 +45101,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21266:47:2", + "src": "21265:47:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "21240:73:2", + "src": "21239:73:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45090,7 +45115,7 @@ }, "id": 4120, "nodeType": "ExpressionStatement", - "src": "21240:73:2" + "src": "21239:73:2" }, { "expression": { @@ -45103,7 +45128,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "21344:9:2", + "src": "21343:9:2", "subExpression": { "argumentTypes": null, "id": 4121, @@ -45111,7 +45136,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4073, - "src": "21344:7:2", + "src": "21343:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45124,7 +45149,7 @@ }, "id": 4123, "nodeType": "ExpressionStatement", - "src": "21344:9:2" + "src": "21343:9:2" } ] }, @@ -45146,7 +45171,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4073, - "src": "20911:7:2", + "src": "20910:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45164,7 +45189,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20921:1:2", + "src": "20920:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", @@ -45172,7 +45197,7 @@ }, "value": "7" }, - "src": "20911:11:2", + "src": "20910:11:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -45180,7 +45205,7 @@ }, "id": 4125, "nodeType": "WhileStatement", - "src": "20904:464:2" + "src": "20903:464:2" } ] } @@ -45204,7 +45229,7 @@ "name": "superblockHash", "nodeType": "VariableDeclaration", "scope": 4129, - "src": "20156:22:2", + "src": "20155:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45215,7 +45240,7 @@ "id": 4009, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "20156:7:2", + "src": "20155:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -45230,7 +45255,7 @@ "name": "claim", "nodeType": "VariableDeclaration", "scope": 4129, - "src": "20180:29:2", + "src": "20179:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -45243,7 +45268,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "20180:15:2", + "src": "20179:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -45253,25 +45278,25 @@ "visibility": "internal" } ], - "src": "20155:55:2" + "src": "20154:55:2" }, "returnParameters": { "id": 4014, "nodeType": "ParameterList", "parameters": [], - "src": "20219:0:2" + "src": "20218:0:2" }, - "scope": 4337, - "src": "20131:1254:2", + "scope": 4338, + "src": "20130:1254:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 4191, + "id": 4192, "nodeType": "Block", - "src": "21530:435:2", + "src": "21529:456:2", "statements": [ { "assignments": [ @@ -45283,8 +45308,8 @@ "id": 4137, "name": "challenger", "nodeType": "VariableDeclaration", - "scope": 4191, - "src": "21540:18:2", + "scope": 4192, + "src": "21539:18:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45295,7 +45320,7 @@ "id": 4136, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21540:7:2", + "src": "21539:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -45316,7 +45341,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4133, - "src": "21561:5:2", + "src": "21560:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -45330,14 +45355,14 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "21561:16:2", + "src": "21560:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "21540:37:2" + "src": "21539:37:2" }, { "assignments": [ @@ -45349,8 +45374,8 @@ "id": 4142, "name": "submitter", "nodeType": "VariableDeclaration", - "scope": 4191, - "src": "21587:17:2", + "scope": 4192, + "src": "21586:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45361,7 +45386,7 @@ "id": 4141, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21587:7:2", + "src": "21586:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -45382,7 +45407,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4133, - "src": "21607:5:2", + "src": "21606:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" @@ -45396,232 +45421,125 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "21607:15:2", + "src": "21606:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "21587:35:2" + "src": "21586:35:2" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 4156, + "id": 4150, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { + "id": 4146, + "name": "challenger", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4137, + "src": "21635:10:2", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" - }, - "id": 4150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4146, - "name": "challenger", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4137, - "src": "21637:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 4148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21659:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21651:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 4149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21651:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "21637:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } }, "nodeType": "BinaryOperation", - "operator": "&&", + "operator": "!=", "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4151, - "name": "submitter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4142, - "src": "21665:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 4153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21686:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4152, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4148, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21678:7:2", + "nodeType": "Literal", + "src": "21657:1:2", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "typeName": "address" - }, - "id": 4154, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4147, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "typeConversion", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21678:10:2", + "nodeType": "ElementaryTypeNameExpression", + "src": "21649:7:2", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "src": "21665:23:2", + "id": 4149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21649:10:2", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "21637:51:2", + "src": "21635:24:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 4190, + "id": 4179, "nodeType": "IfStatement", - "src": "21633:326:2", + "src": "21631:245:2", "trueBody": { - "id": 4189, + "id": 4178, "nodeType": "Block", - "src": "21690:269:2", + "src": "21661:215:2", "statements": [ { "assignments": [ - 4158 + 4152 ], "declarations": [ { "constant": false, - "id": 4158, + "id": 4152, "name": "reward", "nodeType": "VariableDeclaration", - "scope": 4189, - "src": "21704:11:2", + "scope": 4178, + "src": "21675:11:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45629,10 +45547,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4157, + "id": 4151, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "21704:4:2", + "src": "21675:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45642,25 +45560,25 @@ "visibility": "internal" } ], - "id": 4163, + "id": 4157, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4159, + "id": 4153, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4133, - "src": "21718:5:2", + "src": "21689:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4160, + "id": 4154, "isConstant": false, "isLValue": true, "isPure": false, @@ -45668,21 +45586,21 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "21718:20:2", + "src": "21689:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4162, + "id": 4156, "indexExpression": { "argumentTypes": null, - "id": 4161, + "id": 4155, "name": "challenger", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4137, - "src": "21739:10:2", + "src": "21710:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45693,19 +45611,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21718:32:2", + "src": "21689:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "21704:46:2" + "src": "21675:46:2" }, { "expression": { "argumentTypes": null, - "id": 4176, + "id": 4170, "isConstant": false, "isLValue": false, "isPure": false, @@ -45716,18 +45634,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4164, + "id": 4158, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4133, - "src": "21764:5:2", + "src": "21735:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4167, + "id": 4161, "isConstant": false, "isLValue": true, "isPure": false, @@ -45735,21 +45653,21 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "21764:20:2", + "src": "21735:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4168, + "id": 4162, "indexExpression": { "argumentTypes": null, - "id": 4166, + "id": 4160, "name": "submitter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4142, - "src": "21785:9:2", + "src": "21756:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45760,7 +45678,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "21764:31:2", + "src": "21735:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45773,12 +45691,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4174, + "id": 4168, "name": "reward", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4158, - "src": "21834:6:2", + "referencedDeclaration": 4152, + "src": "21805:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45798,18 +45716,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4169, + "id": 4163, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4133, - "src": "21798:5:2", + "src": "21769:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4170, + "id": 4164, "isConstant": false, "isLValue": true, "isPure": false, @@ -45817,21 +45735,21 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "21798:20:2", + "src": "21769:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4172, + "id": 4166, "indexExpression": { "argumentTypes": null, - "id": 4171, + "id": 4165, "name": "submitter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4142, - "src": "21819:9:2", + "src": "21790:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45842,27 +45760,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21798:31:2", + "src": "21769:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4173, + "id": 4167, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "21798:35:2", + "referencedDeclaration": 9395, + "src": "21769:35:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4175, + "id": 4169, "isConstant": false, "isLValue": false, "isPure": false, @@ -45870,97 +45788,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21798:43:2", + "src": "21769:43:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "21764:77:2", + "src": "21735:77:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4177, + "id": 4171, "nodeType": "ExpressionStatement", - "src": "21764:77:2" + "src": "21735:77:2" }, { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4179, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "src": "21869:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 4180, - "name": "submitter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4142, - "src": "21885:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4178, - "name": "unbondDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2915, - "src": "21855:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes32,address) returns (uint256,uint256)" - } - }, - "id": 4181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21855:40:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "id": 4182, - "nodeType": "ExpressionStatement", - "src": "21855:40:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 4187, + "id": 4176, "isConstant": false, "isLValue": false, "isPure": false, @@ -45968,25 +45815,25 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "21909:39:2", + "src": "21826:39:2", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4183, + "id": 4172, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4133, - "src": "21916:5:2", + "src": "21833:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4184, + "id": 4173, "isConstant": false, "isLValue": true, "isPure": false, @@ -45994,21 +45841,21 @@ "memberName": "bondedDeposits", "nodeType": "MemberAccess", "referencedDeclaration": 2573, - "src": "21916:20:2", + "src": "21833:20:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4186, + "id": 4175, "indexExpression": { "argumentTypes": null, - "id": 4185, + "id": 4174, "name": "challenger", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4137, - "src": "21937:10:2", + "src": "21854:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46019,7 +45866,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "21916:32:2", + "src": "21833:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46030,9 +45877,181 @@ "typeString": "tuple()" } }, - "id": 4188, + "id": 4177, "nodeType": "ExpressionStatement", - "src": "21909:39:2" + "src": "21826:39:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4180, + "name": "submitter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4142, + "src": "21889:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21910:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "21902:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21902:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "21889:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4191, + "nodeType": "IfStatement", + "src": "21885:94:2", + "trueBody": { + "id": 4190, + "nodeType": "Block", + "src": "21914:65:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4186, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4131, + "src": "21942:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4187, + "name": "submitter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4142, + "src": "21958:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4185, + "name": "unbondDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "21928:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32,address) returns (uint256,uint256)" + } + }, + "id": 4188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21928:40:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 4189, + "nodeType": "ExpressionStatement", + "src": "21928:40:2" } ] } @@ -46040,7 +46059,7 @@ ] }, "documentation": null, - "id": 4192, + "id": 4193, "implemented": true, "kind": "function", "modifiers": [], @@ -46055,8 +46074,8 @@ "id": 4131, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4192, - "src": "21467:22:2", + "scope": 4193, + "src": "21466:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46067,7 +46086,7 @@ "id": 4130, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "21467:7:2", + "src": "21466:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -46081,8 +46100,8 @@ "id": 4133, "name": "claim", "nodeType": "VariableDeclaration", - "scope": 4192, - "src": "21491:29:2", + "scope": 4193, + "src": "21490:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -46095,7 +46114,7 @@ "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "21491:15:2", + "src": "21490:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -46105,38 +46124,38 @@ "visibility": "internal" } ], - "src": "21466:55:2" + "src": "21465:55:2" }, "returnParameters": { "id": 4135, "nodeType": "ParameterList", "parameters": [], - "src": "21530:0:2" + "src": "21529:0:2" }, - "scope": 4337, - "src": "21443:522:2", + "scope": 4338, + "src": "21442:543:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 4236, + "id": 4237, "nodeType": "Block", - "src": "22149:333:2", + "src": "22169:333:2", "statements": [ { "assignments": [ - 4200 + 4201 ], "declarations": [ { "constant": false, - "id": 4200, + "id": 4201, "name": "claim", "nodeType": "VariableDeclaration", - "scope": 4236, - "src": "22159:29:2", + "scope": 4237, + "src": "22179:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -46145,11 +46164,11 @@ }, "typeName": { "contractScope": null, - "id": 4199, + "id": 4200, "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "22159:15:2", + "src": "22179:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -46159,31 +46178,31 @@ "visibility": "internal" } ], - "id": 4204, + "id": 4205, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4201, + "id": 4202, "name": "claims", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "22191:6:2", + "src": "22211:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" } }, - "id": 4203, + "id": 4204, "indexExpression": { "argumentTypes": null, - "id": 4202, + "id": 4203, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4194, - "src": "22198:14:2", + "referencedDeclaration": 4195, + "src": "22218:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -46194,14 +46213,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "22191:22:2", + "src": "22211:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "22159:54:2" + "src": "22179:54:2" }, { "expression": { @@ -46213,7 +46232,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4233, + "id": 4234, "isConstant": false, "isLValue": false, "isPure": false, @@ -46224,7 +46243,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4226, + "id": 4227, "isConstant": false, "isLValue": false, "isPure": false, @@ -46235,7 +46254,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4220, + "id": 4221, "isConstant": false, "isLValue": false, "isPure": false, @@ -46246,7 +46265,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4216, + "id": 4217, "isConstant": false, "isLValue": false, "isPure": false, @@ -46254,10 +46273,10 @@ "leftExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 4212, + "id": 4213, "isConstant": false, "isLValue": false, "isPure": false, @@ -46267,12 +46286,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4207, + "id": 4208, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4194, - "src": "22270:14:2", + "referencedDeclaration": 4195, + "src": "22290:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -46288,32 +46307,32 @@ ], "expression": { "argumentTypes": null, - "id": 4205, + "id": 4206, "name": "trustedSuperblocks", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2590, - "src": "22231:18:2", + "src": "22251:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, - "id": 4206, + "id": 4207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getSuperblockStatus", "nodeType": "MemberAccess", - "referencedDeclaration": 7768, - "src": "22231:38:2", + "referencedDeclaration": 8269, + "src": "22251:38:2", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Status_$8118_$", "typeString": "function (bytes32) view external returns (enum SyscoinSuperblocksI.Status)" } }, - "id": 4208, + "id": 4209, "isConstant": false, "isLValue": false, "isPure": false, @@ -46321,9 +46340,9 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22231:54:2", + "src": "22251:54:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -46335,32 +46354,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4209, + "id": 4210, "name": "SyscoinSuperblocksI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7790, - "src": "22289:19:2", + "referencedDeclaration": 8312, + "src": "22309:19:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$7790_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinSuperblocksI_$8312_$", "typeString": "type(contract SyscoinSuperblocksI)" } }, - "id": 4210, + "id": 4211, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "Status", "nodeType": "MemberAccess", - "referencedDeclaration": 7617, - "src": "22289:26:2", + "referencedDeclaration": 8118, + "src": "22309:26:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 4211, + "id": 4212, "isConstant": false, "isLValue": false, "isPure": true, @@ -46368,13 +46387,13 @@ "memberName": "InBattle", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "22289:35:2", + "src": "22309:35:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "22231:93:2", + "src": "22251:93:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -46384,7 +46403,7 @@ "operator": "&&", "rightExpression": { "argumentTypes": null, - "id": 4215, + "id": 4216, "isConstant": false, "isLValue": false, "isPure": false, @@ -46392,23 +46411,23 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "22340:14:2", + "src": "22360:14:2", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4213, + "id": 4214, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4200, - "src": "22341:5:2", + "referencedDeclaration": 4201, + "src": "22361:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4214, + "id": 4215, "isConstant": false, "isLValue": true, "isPure": false, @@ -46416,7 +46435,7 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "22341:13:2", + "src": "22361:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -46427,7 +46446,7 @@ "typeString": "bool" } }, - "src": "22231:123:2", + "src": "22251:123:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -46437,7 +46456,7 @@ "operator": "&&", "rightExpression": { "argumentTypes": null, - "id": 4219, + "id": 4220, "isConstant": false, "isLValue": false, "isPure": false, @@ -46445,23 +46464,23 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "22358:26:2", + "src": "22378:26:2", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4217, + "id": 4218, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4200, - "src": "22359:5:2", + "referencedDeclaration": 4201, + "src": "22379:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4218, + "id": 4219, "isConstant": false, "isLValue": true, "isPure": false, @@ -46469,7 +46488,7 @@ "memberName": "verificationOngoing", "nodeType": "MemberAccess", "referencedDeclaration": 2577, - "src": "22359:25:2", + "src": "22379:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -46480,7 +46499,7 @@ "typeString": "bool" } }, - "src": "22231:153:2", + "src": "22251:153:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -46494,7 +46513,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4225, + "id": 4226, "isConstant": false, "isLValue": false, "isPure": false, @@ -46503,18 +46522,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4221, + "id": 4222, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "22388:5:2", + "referencedDeclaration": 11088, + "src": "22408:5:2", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 4222, + "id": 4223, "isConstant": false, "isLValue": false, "isPure": false, @@ -46522,7 +46541,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "22388:15:2", + "src": "22408:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46534,18 +46553,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4223, + "id": 4224, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4200, - "src": "22406:5:2", + "referencedDeclaration": 4201, + "src": "22426:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4224, + "id": 4225, "isConstant": false, "isLValue": true, "isPure": false, @@ -46553,19 +46572,19 @@ "memberName": "challengeTimeout", "nodeType": "MemberAccess", "referencedDeclaration": 2575, - "src": "22406:22:2", + "src": "22426:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22388:40:2", + "src": "22408:40:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "22231:197:2", + "src": "22251:197:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -46579,7 +46598,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4232, + "id": 4233, "isConstant": false, "isLValue": false, "isPure": false, @@ -46588,18 +46607,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4227, + "id": 4228, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4200, - "src": "22444:5:2", + "referencedDeclaration": 4201, + "src": "22464:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4228, + "id": 4229, "isConstant": false, "isLValue": true, "isPure": false, @@ -46607,7 +46626,7 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "22444:16:2", + "src": "22464:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46621,14 +46640,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4230, + "id": 4231, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "22472:1:2", + "src": "22492:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -46644,20 +46663,20 @@ "typeString": "int_const 0" } ], - "id": 4229, + "id": 4230, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "22464:7:2", + "src": "22484:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 4231, + "id": 4232, "isConstant": false, "isLValue": false, "isPure": true, @@ -46665,63 +46684,63 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22464:10:2", + "src": "22484:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "22444:30:2", + "src": "22464:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "22231:243:2", + "src": "22251:243:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 4234, + "id": 4235, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "22230:245:2", + "src": "22250:245:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 4198, - "id": 4235, + "functionReturnParameters": 4199, + "id": 4236, "nodeType": "Return", - "src": "22223:252:2" + "src": "22243:252:2" } ] }, "documentation": null, - "id": 4237, + "id": 4238, "implemented": true, "kind": "function", "modifiers": [], "name": "getInBattleAndSemiApprovable", "nodeType": "FunctionDefinition", "parameters": { - "id": 4195, + "id": 4196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4194, + "id": 4195, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4237, - "src": "22096:22:2", + "scope": 4238, + "src": "22116:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46729,10 +46748,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4193, + "id": 4194, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "22096:7:2", + "src": "22116:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -46742,19 +46761,19 @@ "visibility": "internal" } ], - "src": "22095:24:2" + "src": "22115:24:2" }, "returnParameters": { - "id": 4198, + "id": 4199, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4197, + "id": 4198, "name": "", "nodeType": "VariableDeclaration", - "scope": 4237, - "src": "22143:4:2", + "scope": 4238, + "src": "22163:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46762,10 +46781,10 @@ "typeString": "bool" }, "typeName": { - "id": 4196, + "id": 4197, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "22143:4:2", + "src": "22163:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -46775,19 +46794,19 @@ "visibility": "internal" } ], - "src": "22142:6:2" + "src": "22162:6:2" }, - "scope": 4337, - "src": "22058:424:2", + "scope": 4338, + "src": "22078:424:2", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4252, + "id": 4253, "nodeType": "Block", - "src": "22608:55:2", + "src": "22628:55:2", "statements": [ { "expression": { @@ -46799,7 +46818,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4249, + "id": 4250, "isConstant": false, "isLValue": false, "isPure": false, @@ -46808,18 +46827,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4244, + "id": 4245, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4239, - "src": "22626:5:2", + "referencedDeclaration": 4240, + "src": "22646:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4245, + "id": 4246, "isConstant": false, "isLValue": true, "isPure": false, @@ -46827,7 +46846,7 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "22626:15:2", + "src": "22646:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46841,14 +46860,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4247, + "id": 4248, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "22653:1:2", + "src": "22673:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -46864,20 +46883,20 @@ "typeString": "int_const 0" } ], - "id": 4246, + "id": 4247, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "22645:7:2", + "src": "22665:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 4248, + "id": 4249, "isConstant": false, "isLValue": false, "isPure": true, @@ -46885,57 +46904,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22645:10:2", + "src": "22665:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "22626:29:2", + "src": "22646:29:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 4250, + "id": 4251, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "22625:31:2", + "src": "22645:31:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 4243, - "id": 4251, + "functionReturnParameters": 4244, + "id": 4252, "nodeType": "Return", - "src": "22618:38:2" + "src": "22638:38:2" } ] }, "documentation": null, - "id": 4253, + "id": 4254, "implemented": true, "kind": "function", "modifiers": [], "name": "claimExists", "nodeType": "FunctionDefinition", "parameters": { - "id": 4240, + "id": 4241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4239, + "id": 4240, "name": "claim", "nodeType": "VariableDeclaration", - "scope": 4253, - "src": "22549:29:2", + "scope": 4254, + "src": "22569:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -46944,11 +46963,11 @@ }, "typeName": { "contractScope": null, - "id": 4238, + "id": 4239, "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "22549:15:2", + "src": "22569:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -46958,19 +46977,19 @@ "visibility": "internal" } ], - "src": "22548:31:2" + "src": "22568:31:2" }, "returnParameters": { - "id": 4243, + "id": 4244, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4242, + "id": 4243, "name": "", "nodeType": "VariableDeclaration", - "scope": 4253, - "src": "22602:4:2", + "scope": 4254, + "src": "22622:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46978,10 +46997,10 @@ "typeString": "bool" }, "typeName": { - "id": 4241, + "id": 4242, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "22602:4:2", + "src": "22622:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -46991,19 +47010,19 @@ "visibility": "internal" } ], - "src": "22601:6:2" + "src": "22621:6:2" }, - "scope": 4337, - "src": "22528:135:2", + "scope": 4338, + "src": "22548:135:2", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 4265, + "id": 4266, "nodeType": "Block", - "src": "22804:56:2", + "src": "22824:56:2", "statements": [ { "expression": { @@ -47012,26 +47031,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4260, + "id": 4261, "name": "claims", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "22821:6:2", + "src": "22841:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" } }, - "id": 4262, + "id": 4263, "indexExpression": { "argumentTypes": null, - "id": 4261, + "id": 4262, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4255, - "src": "22828:14:2", + "referencedDeclaration": 4256, + "src": "22848:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47042,13 +47061,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "22821:22:2", + "src": "22841:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, - "id": 4263, + "id": 4264, "isConstant": false, "isLValue": true, "isPure": false, @@ -47056,37 +47075,37 @@ "memberName": "submitter", "nodeType": "MemberAccess", "referencedDeclaration": 2565, - "src": "22821:32:2", + "src": "22841:32:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 4259, - "id": 4264, + "functionReturnParameters": 4260, + "id": 4265, "nodeType": "Return", - "src": "22814:39:2" + "src": "22834:39:2" } ] }, "documentation": null, - "id": 4266, + "id": 4267, "implemented": true, "kind": "function", "modifiers": [], "name": "getClaimSubmitter", "nodeType": "FunctionDefinition", "parameters": { - "id": 4256, + "id": 4257, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4255, + "id": 4256, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4266, - "src": "22748:22:2", + "scope": 4267, + "src": "22768:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47094,10 +47113,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4254, + "id": 4255, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "22748:7:2", + "src": "22768:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47107,19 +47126,19 @@ "visibility": "internal" } ], - "src": "22747:24:2" + "src": "22767:24:2" }, "returnParameters": { - "id": 4259, + "id": 4260, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4258, + "id": 4259, "name": "", "nodeType": "VariableDeclaration", - "scope": 4266, - "src": "22795:7:2", + "scope": 4267, + "src": "22815:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47127,10 +47146,10 @@ "typeString": "address" }, "typeName": { - "id": 4257, + "id": 4258, "name": "address", "nodeType": "ElementaryTypeName", - "src": "22795:7:2", + "src": "22815:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47141,19 +47160,19 @@ "visibility": "internal" } ], - "src": "22794:9:2" + "src": "22814:9:2" }, - "scope": 4337, - "src": "22721:139:2", + "scope": 4338, + "src": "22741:139:2", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4278, + "id": 4279, "nodeType": "Block", - "src": "23012:56:2", + "src": "23032:56:2", "statements": [ { "expression": { @@ -47162,26 +47181,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4273, + "id": 4274, "name": "claims", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "23029:6:2", + "src": "23049:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" } }, - "id": 4275, + "id": 4276, "indexExpression": { "argumentTypes": null, - "id": 4274, + "id": 4275, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4268, - "src": "23036:14:2", + "referencedDeclaration": 4269, + "src": "23056:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47192,13 +47211,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23029:22:2", + "src": "23049:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, - "id": 4276, + "id": 4277, "isConstant": false, "isLValue": true, "isPure": false, @@ -47206,37 +47225,37 @@ "memberName": "createdAt", "nodeType": "MemberAccess", "referencedDeclaration": 2569, - "src": "23029:32:2", + "src": "23049:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 4272, - "id": 4277, + "functionReturnParameters": 4273, + "id": 4278, "nodeType": "Return", - "src": "23022:39:2" + "src": "23042:39:2" } ] }, "documentation": null, - "id": 4279, + "id": 4280, "implemented": true, "kind": "function", "modifiers": [], "name": "getNewSuperblockEventTimestamp", "nodeType": "FunctionDefinition", "parameters": { - "id": 4269, + "id": 4270, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4268, + "id": 4269, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4279, - "src": "22959:22:2", + "scope": 4280, + "src": "22979:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47244,10 +47263,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4267, + "id": 4268, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "22959:7:2", + "src": "22979:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47257,19 +47276,19 @@ "visibility": "internal" } ], - "src": "22958:24:2" + "src": "22978:24:2" }, "returnParameters": { - "id": 4272, + "id": 4273, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4271, + "id": 4272, "name": "", "nodeType": "VariableDeclaration", - "scope": 4279, - "src": "23006:4:2", + "scope": 4280, + "src": "23026:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47277,10 +47296,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4270, + "id": 4271, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "23006:4:2", + "src": "23026:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47290,19 +47309,19 @@ "visibility": "internal" } ], - "src": "23005:6:2" + "src": "23025:6:2" }, - "scope": 4337, - "src": "22919:149:2", + "scope": 4338, + "src": "22939:149:2", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4292, + "id": 4293, "nodeType": "Block", - "src": "23217:59:2", + "src": "23237:59:2", "statements": [ { "expression": { @@ -47312,26 +47331,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4287, + "id": 4288, "name": "claims", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "23246:6:2", + "src": "23266:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" } }, - "id": 4289, + "id": 4290, "indexExpression": { "argumentTypes": null, - "id": 4288, + "id": 4289, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4281, - "src": "23253:14:2", + "referencedDeclaration": 4282, + "src": "23273:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47342,7 +47361,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23246:22:2", + "src": "23266:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" @@ -47356,18 +47375,18 @@ "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } ], - "id": 4286, + "id": 4287, "name": "claimExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "23234:11:2", + "referencedDeclaration": 4254, + "src": "23254:11:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_SuperblockClaim_$2584_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct SyscoinClaimManager.SuperblockClaim storage pointer) view returns (bool)" } }, - "id": 4290, + "id": 4291, "isConstant": false, "isLValue": false, "isPure": false, @@ -47375,37 +47394,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "23234:35:2", + "src": "23254:35:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 4285, - "id": 4291, + "functionReturnParameters": 4286, + "id": 4292, "nodeType": "Return", - "src": "23227:42:2" + "src": "23247:42:2" } ] }, "documentation": null, - "id": 4293, + "id": 4294, "implemented": true, "kind": "function", "modifiers": [], "name": "getClaimExists", "nodeType": "FunctionDefinition", "parameters": { - "id": 4282, + "id": 4283, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4281, + "id": 4282, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4293, - "src": "23164:22:2", + "scope": 4294, + "src": "23184:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47413,10 +47432,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4280, + "id": 4281, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23164:7:2", + "src": "23184:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47426,19 +47445,19 @@ "visibility": "internal" } ], - "src": "23163:24:2" + "src": "23183:24:2" }, "returnParameters": { - "id": 4285, + "id": 4286, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4284, + "id": 4285, "name": "", "nodeType": "VariableDeclaration", - "scope": 4293, - "src": "23211:4:2", + "scope": 4294, + "src": "23231:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47446,10 +47465,10 @@ "typeString": "bool" }, "typeName": { - "id": 4283, + "id": 4284, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "23211:4:2", + "src": "23231:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -47459,19 +47478,19 @@ "visibility": "internal" } ], - "src": "23210:6:2" + "src": "23230:6:2" }, - "scope": 4337, - "src": "23140:136:2", + "scope": 4338, + "src": "23160:136:2", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4305, + "id": 4306, "nodeType": "Block", - "src": "23394:54:2", + "src": "23414:54:2", "statements": [ { "expression": { @@ -47480,26 +47499,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4300, + "id": 4301, "name": "claims", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "23411:6:2", + "src": "23431:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" } }, - "id": 4302, + "id": 4303, "indexExpression": { "argumentTypes": null, - "id": 4301, + "id": 4302, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "src": "23418:14:2", + "referencedDeclaration": 4296, + "src": "23438:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47510,13 +47529,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23411:22:2", + "src": "23431:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, - "id": 4303, + "id": 4304, "isConstant": false, "isLValue": true, "isPure": false, @@ -47524,37 +47543,37 @@ "memberName": "decided", "nodeType": "MemberAccess", "referencedDeclaration": 2579, - "src": "23411:30:2", + "src": "23431:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 4299, - "id": 4304, + "functionReturnParameters": 4300, + "id": 4305, "nodeType": "Return", - "src": "23404:37:2" + "src": "23424:37:2" } ] }, "documentation": null, - "id": 4306, + "id": 4307, "implemented": true, "kind": "function", "modifiers": [], "name": "getClaimDecided", "nodeType": "FunctionDefinition", "parameters": { - "id": 4296, + "id": 4297, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4295, + "id": 4296, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4306, - "src": "23341:22:2", + "scope": 4307, + "src": "23361:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47562,10 +47581,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4294, + "id": 4295, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23341:7:2", + "src": "23361:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47575,19 +47594,19 @@ "visibility": "internal" } ], - "src": "23340:24:2" + "src": "23360:24:2" }, "returnParameters": { - "id": 4299, + "id": 4300, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4298, + "id": 4299, "name": "", "nodeType": "VariableDeclaration", - "scope": 4306, - "src": "23388:4:2", + "scope": 4307, + "src": "23408:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47595,10 +47614,10 @@ "typeString": "bool" }, "typeName": { - "id": 4297, + "id": 4298, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "23388:4:2", + "src": "23408:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -47608,19 +47627,19 @@ "visibility": "internal" } ], - "src": "23387:6:2" + "src": "23407:6:2" }, - "scope": 4337, - "src": "23316:132:2", + "scope": 4338, + "src": "23336:132:2", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4318, + "id": 4319, "nodeType": "Block", - "src": "23574:54:2", + "src": "23594:54:2", "statements": [ { "expression": { @@ -47629,26 +47648,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4313, + "id": 4314, "name": "claims", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "23591:6:2", + "src": "23611:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" } }, - "id": 4315, + "id": 4316, "indexExpression": { "argumentTypes": null, - "id": 4314, + "id": 4315, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4308, - "src": "23598:14:2", + "referencedDeclaration": 4309, + "src": "23618:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47659,13 +47678,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23591:22:2", + "src": "23611:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, - "id": 4316, + "id": 4317, "isConstant": false, "isLValue": true, "isPure": false, @@ -47673,37 +47692,37 @@ "memberName": "invalid", "nodeType": "MemberAccess", "referencedDeclaration": 2581, - "src": "23591:30:2", + "src": "23611:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 4312, - "id": 4317, + "functionReturnParameters": 4313, + "id": 4318, "nodeType": "Return", - "src": "23584:37:2" + "src": "23604:37:2" } ] }, "documentation": null, - "id": 4319, + "id": 4320, "implemented": true, "kind": "function", "modifiers": [], "name": "getClaimInvalid", "nodeType": "FunctionDefinition", "parameters": { - "id": 4309, + "id": 4310, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4308, + "id": 4309, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4319, - "src": "23521:22:2", + "scope": 4320, + "src": "23541:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47711,10 +47730,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4307, + "id": 4308, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23521:7:2", + "src": "23541:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47724,19 +47743,19 @@ "visibility": "internal" } ], - "src": "23520:24:2" + "src": "23540:24:2" }, "returnParameters": { - "id": 4312, + "id": 4313, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4311, + "id": 4312, "name": "", "nodeType": "VariableDeclaration", - "scope": 4319, - "src": "23568:4:2", + "scope": 4320, + "src": "23588:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47744,10 +47763,10 @@ "typeString": "bool" }, "typeName": { - "id": 4310, + "id": 4311, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "23568:4:2", + "src": "23588:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -47757,32 +47776,32 @@ "visibility": "internal" } ], - "src": "23567:6:2" + "src": "23587:6:2" }, - "scope": 4337, - "src": "23496:132:2", + "scope": 4338, + "src": "23516:132:2", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4335, + "id": 4336, "nodeType": "Block", - "src": "23719:104:2", + "src": "23739:104:2", "statements": [ { "assignments": [ - 4327 + 4328 ], "declarations": [ { "constant": false, - "id": 4327, + "id": 4328, "name": "claim", "nodeType": "VariableDeclaration", - "scope": 4335, - "src": "23729:29:2", + "scope": 4336, + "src": "23749:29:2", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -47791,11 +47810,11 @@ }, "typeName": { "contractScope": null, - "id": 4326, + "id": 4327, "name": "SuperblockClaim", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2584, - "src": "23729:15:2", + "src": "23749:15:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim" @@ -47805,31 +47824,31 @@ "visibility": "internal" } ], - "id": 4331, + "id": 4332, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4328, + "id": 4329, "name": "claims", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2588, - "src": "23761:6:2", + "src": "23781:6:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockClaim_$2584_storage_$", "typeString": "mapping(bytes32 => struct SyscoinClaimManager.SuperblockClaim storage ref)" } }, - "id": 4330, + "id": 4331, "indexExpression": { "argumentTypes": null, - "id": 4329, + "id": 4330, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4321, - "src": "23768:14:2", + "referencedDeclaration": 4322, + "src": "23788:14:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47840,32 +47859,32 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23761:22:2", + "src": "23781:22:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "23729:54:2" + "src": "23749:54:2" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4332, + "id": 4333, "name": "claim", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4327, - "src": "23800:5:2", + "referencedDeclaration": 4328, + "src": "23820:5:2", "typeDescriptions": { "typeIdentifier": "t_struct$_SuperblockClaim_$2584_storage_ptr", "typeString": "struct SyscoinClaimManager.SuperblockClaim storage pointer" } }, - "id": 4333, + "id": 4334, "isConstant": false, "isLValue": true, "isPure": false, @@ -47873,37 +47892,37 @@ "memberName": "challenger", "nodeType": "MemberAccess", "referencedDeclaration": 2567, - "src": "23800:16:2", + "src": "23820:16:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 4325, - "id": 4334, + "functionReturnParameters": 4326, + "id": 4335, "nodeType": "Return", - "src": "23793:23:2" + "src": "23813:23:2" } ] }, "documentation": null, - "id": 4336, + "id": 4337, "implemented": true, "kind": "function", "modifiers": [], "name": "getClaimChallenger", "nodeType": "FunctionDefinition", "parameters": { - "id": 4322, + "id": 4323, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4321, + "id": 4322, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 4336, - "src": "23663:22:2", + "scope": 4337, + "src": "23683:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47911,10 +47930,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4320, + "id": 4321, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23663:7:2", + "src": "23683:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47924,19 +47943,19 @@ "visibility": "internal" } ], - "src": "23662:24:2" + "src": "23682:24:2" }, "returnParameters": { - "id": 4325, + "id": 4326, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4324, + "id": 4325, "name": "", "nodeType": "VariableDeclaration", - "scope": 4336, - "src": "23710:7:2", + "scope": 4337, + "src": "23730:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47944,10 +47963,10 @@ "typeString": "address" }, "typeName": { - "id": 4323, + "id": 4324, "name": "address", "nodeType": "ElementaryTypeName", - "src": "23710:7:2", + "src": "23730:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47958,35 +47977,28 @@ "visibility": "internal" } ], - "src": "23709:9:2" + "src": "23729:9:2" }, - "scope": 4337, - "src": "23635:188:2", + "scope": 4338, + "src": "23655:188:2", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 4338, - "src": "454:23371:2" + "scope": 4339, + "src": "454:23391:2" } ], - "src": "0:23826:2" + "src": "0:23846:2" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, - "networks": { - "4": { - "links": {}, - "events": {}, - "address": "0x983417E9BA6ddD46564087086e6a2dF10A1b3cc4", - "updated_at": 1576039547184 - } - }, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.484Z", + "networks": {}, + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.354Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/SyscoinClaimManagerI.json b/build/contracts/SyscoinClaimManagerI.json index c5f2993..8d3e1d8 100644 --- a/build/contracts/SyscoinClaimManagerI.json +++ b/build/contracts/SyscoinClaimManagerI.json @@ -100,7 +100,7 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"bondDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"checkClaimFinished\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"loser\",\"type\":\"address\"}],\"name\":\"sessionDecided\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinClaimManagerI.sol\":\"SyscoinClaimManagerI\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinClaimManagerI.sol\":{\"keccak256\":\"0x10621a56230a5720fce059a05915eceb0277cd955bbb1ad9f109ce6c247a5638\",\"urls\":[\"bzz-raw://c0fdbc1c8d02f6c62e4e8cabf044e85b805a21e6e7b13c6f304541707a5a3355\",\"dweb:/ipfs/QmSK8E13yiYq1AVHtfJbUvijVkjebvxdoixXvUVSAkz5eX\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol\":{\"keccak256\":\"0x45dee08e14623208dd251ab7df22264396bc6d7453f860b2168946bfe132e753\",\"urls\":[\"bzz-raw://63eeda0c89724a00b59e4833a6da6891dd8e69afb000122b861a6877a28a9c06\",\"dweb:/ipfs/QmZhyw5pkWaMAsKMBRfrCVNe7pjzuwgAZ6xRoK7pqLDcwk\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"bondDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"checkClaimFinished\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"loser\",\"type\":\"address\"}],\"name\":\"sessionDecided\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinClaimManagerI.sol\":\"SyscoinClaimManagerI\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinClaimManagerI.sol\":{\"keccak256\":\"0x10621a56230a5720fce059a05915eceb0277cd955bbb1ad9f109ce6c247a5638\",\"urls\":[\"bzz-raw://c0fdbc1c8d02f6c62e4e8cabf044e85b805a21e6e7b13c6f304541707a5a3355\",\"dweb:/ipfs/QmSK8E13yiYq1AVHtfJbUvijVkjebvxdoixXvUVSAkz5eX\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol\":{\"keccak256\":\"0x22ae5cd6c18f335811f46caab9c4f911daef746306114dc86c964f39b4aff0ff\",\"urls\":[\"bzz-raw://7755b0206b8e358b313589d9e47f9491f0d002ba509bc2b11d1bd2463f0f0c84\",\"dweb:/ipfs/QmbiEPAhnUCd3ydxQj8NVYFM2bDpRRezhxfLoqdnuhbPnD\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", @@ -111,14 +111,14 @@ "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinClaimManagerI.sol", "exportedSymbols": { "SyscoinClaimManagerI": [ - 7597 + 8097 ] }, - "id": 7598, + "id": 8098, "nodeType": "SourceUnit", "nodes": [ { - "id": 7561, + "id": 8061, "literals": [ "solidity", "^", @@ -126,16 +126,16 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:9" + "src": "0:24:10" }, { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol", "file": "./SyscoinSuperblocksI.sol", - "id": 7562, + "id": 8062, "nodeType": "ImportDirective", - "scope": 7598, - "sourceUnit": 7791, - "src": "26:35:9", + "scope": 8098, + "sourceUnit": 8313, + "src": "26:35:10", "symbolAliases": [], "unitAlias": "" }, @@ -145,9 +145,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 7597, + "id": 8097, "linearizedBaseContracts": [ - 7597 + 8097 ], "name": "SyscoinClaimManagerI", "nodeType": "ContractDefinition", @@ -155,23 +155,23 @@ { "body": null, "documentation": null, - "id": 7573, + "id": 8073, "implemented": false, "kind": "function", "modifiers": [], "name": "bondDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 7569, + "id": 8069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7564, + "id": 8064, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7573, - "src": "121:22:9", + "scope": 8073, + "src": "121:22:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -179,10 +179,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7563, + "id": 8063, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "121:7:9", + "src": "121:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -193,11 +193,11 @@ }, { "constant": false, - "id": 7566, + "id": 8066, "name": "account", "nodeType": "VariableDeclaration", - "scope": 7573, - "src": "145:15:9", + "scope": 8073, + "src": "145:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -205,10 +205,10 @@ "typeString": "address" }, "typeName": { - "id": 7565, + "id": 8065, "name": "address", "nodeType": "ElementaryTypeName", - "src": "145:7:9", + "src": "145:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -220,11 +220,11 @@ }, { "constant": false, - "id": 7568, + "id": 8068, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 7573, - "src": "162:11:9", + "scope": 8073, + "src": "162:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -232,10 +232,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7567, + "id": 8067, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "162:4:9", + "src": "162:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -245,19 +245,19 @@ "visibility": "internal" } ], - "src": "120:54:9" + "src": "120:54:10" }, "returnParameters": { - "id": 7572, + "id": 8072, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7571, + "id": 8071, "name": "", "nodeType": "VariableDeclaration", - "scope": 7573, - "src": "193:4:9", + "scope": 8073, + "src": "193:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -265,10 +265,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7570, + "id": 8070, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "193:4:9", + "src": "193:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -278,10 +278,10 @@ "visibility": "internal" } ], - "src": "192:6:9" + "src": "192:6:10" }, - "scope": 7597, - "src": "100:99:9", + "scope": 8097, + "src": "100:99:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -289,23 +289,23 @@ { "body": null, "documentation": null, - "id": 7580, + "id": 8080, "implemented": false, "kind": "function", "modifiers": [], "name": "getDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 7576, + "id": 8076, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7575, + "id": 8075, "name": "account", "nodeType": "VariableDeclaration", - "scope": 7580, - "src": "224:15:9", + "scope": 8080, + "src": "224:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -313,10 +313,10 @@ "typeString": "address" }, "typeName": { - "id": 7574, + "id": 8074, "name": "address", "nodeType": "ElementaryTypeName", - "src": "224:7:9", + "src": "224:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -327,19 +327,19 @@ "visibility": "internal" } ], - "src": "223:17:9" + "src": "223:17:10" }, "returnParameters": { - "id": 7579, + "id": 8079, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7578, + "id": 8078, "name": "", "nodeType": "VariableDeclaration", - "scope": 7580, - "src": "264:4:9", + "scope": 8080, + "src": "264:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -347,10 +347,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7577, + "id": 8077, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "264:4:9", + "src": "264:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -360,10 +360,10 @@ "visibility": "internal" } ], - "src": "263:6:9" + "src": "263:6:10" }, - "scope": 7597, - "src": "204:66:9", + "scope": 8097, + "src": "204:66:10", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -371,23 +371,23 @@ { "body": null, "documentation": null, - "id": 7587, + "id": 8087, "implemented": false, "kind": "function", "modifiers": [], "name": "checkClaimFinished", "nodeType": "FunctionDefinition", "parameters": { - "id": 7583, + "id": 8083, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7582, + "id": 8082, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7587, - "src": "303:22:9", + "scope": 8087, + "src": "303:22:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -395,10 +395,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7581, + "id": 8081, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "303:7:9", + "src": "303:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -408,19 +408,19 @@ "visibility": "internal" } ], - "src": "302:24:9" + "src": "302:24:10" }, "returnParameters": { - "id": 7586, + "id": 8086, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7585, + "id": 8085, "name": "", "nodeType": "VariableDeclaration", - "scope": 7587, - "src": "345:4:9", + "scope": 8087, + "src": "345:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -428,10 +428,10 @@ "typeString": "bool" }, "typeName": { - "id": 7584, + "id": 8084, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "345:4:9", + "src": "345:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -441,10 +441,10 @@ "visibility": "internal" } ], - "src": "344:6:9" + "src": "344:6:10" }, - "scope": 7597, - "src": "275:76:9", + "scope": 8097, + "src": "275:76:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -452,23 +452,23 @@ { "body": null, "documentation": null, - "id": 7596, + "id": 8096, "implemented": false, "kind": "function", "modifiers": [], "name": "sessionDecided", "nodeType": "FunctionDefinition", "parameters": { - "id": 7594, + "id": 8094, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7589, + "id": 8089, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7596, - "src": "380:22:9", + "scope": 8096, + "src": "380:22:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -476,10 +476,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7588, + "id": 8088, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "380:7:9", + "src": "380:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -490,11 +490,11 @@ }, { "constant": false, - "id": 7591, + "id": 8091, "name": "winner", "nodeType": "VariableDeclaration", - "scope": 7596, - "src": "404:14:9", + "scope": 8096, + "src": "404:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -502,10 +502,10 @@ "typeString": "address" }, "typeName": { - "id": 7590, + "id": 8090, "name": "address", "nodeType": "ElementaryTypeName", - "src": "404:7:9", + "src": "404:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -517,11 +517,11 @@ }, { "constant": false, - "id": 7593, + "id": 8093, "name": "loser", "nodeType": "VariableDeclaration", - "scope": 7596, - "src": "420:13:9", + "scope": 8096, + "src": "420:13:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -529,10 +529,10 @@ "typeString": "address" }, "typeName": { - "id": 7592, + "id": 8092, "name": "address", "nodeType": "ElementaryTypeName", - "src": "420:7:9", + "src": "420:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -543,39 +543,39 @@ "visibility": "internal" } ], - "src": "379:55:9" + "src": "379:55:10" }, "returnParameters": { - "id": 7595, + "id": 8095, "nodeType": "ParameterList", "parameters": [], - "src": "443:0:9" + "src": "443:0:10" }, - "scope": 7597, - "src": "356:88:9", + "scope": 8097, + "src": "356:88:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 7598, - "src": "63:383:9" + "scope": 8098, + "src": "63:383:10" } ], - "src": "0:447:9" + "src": "0:447:10" }, "legacyAST": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinClaimManagerI.sol", "exportedSymbols": { "SyscoinClaimManagerI": [ - 7597 + 8097 ] }, - "id": 7598, + "id": 8098, "nodeType": "SourceUnit", "nodes": [ { - "id": 7561, + "id": 8061, "literals": [ "solidity", "^", @@ -583,16 +583,16 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:9" + "src": "0:24:10" }, { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol", "file": "./SyscoinSuperblocksI.sol", - "id": 7562, + "id": 8062, "nodeType": "ImportDirective", - "scope": 7598, - "sourceUnit": 7791, - "src": "26:35:9", + "scope": 8098, + "sourceUnit": 8313, + "src": "26:35:10", "symbolAliases": [], "unitAlias": "" }, @@ -602,9 +602,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 7597, + "id": 8097, "linearizedBaseContracts": [ - 7597 + 8097 ], "name": "SyscoinClaimManagerI", "nodeType": "ContractDefinition", @@ -612,23 +612,23 @@ { "body": null, "documentation": null, - "id": 7573, + "id": 8073, "implemented": false, "kind": "function", "modifiers": [], "name": "bondDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 7569, + "id": 8069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7564, + "id": 8064, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7573, - "src": "121:22:9", + "scope": 8073, + "src": "121:22:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -636,10 +636,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7563, + "id": 8063, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "121:7:9", + "src": "121:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -650,11 +650,11 @@ }, { "constant": false, - "id": 7566, + "id": 8066, "name": "account", "nodeType": "VariableDeclaration", - "scope": 7573, - "src": "145:15:9", + "scope": 8073, + "src": "145:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -662,10 +662,10 @@ "typeString": "address" }, "typeName": { - "id": 7565, + "id": 8065, "name": "address", "nodeType": "ElementaryTypeName", - "src": "145:7:9", + "src": "145:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -677,11 +677,11 @@ }, { "constant": false, - "id": 7568, + "id": 8068, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 7573, - "src": "162:11:9", + "scope": 8073, + "src": "162:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -689,10 +689,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7567, + "id": 8067, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "162:4:9", + "src": "162:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -702,19 +702,19 @@ "visibility": "internal" } ], - "src": "120:54:9" + "src": "120:54:10" }, "returnParameters": { - "id": 7572, + "id": 8072, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7571, + "id": 8071, "name": "", "nodeType": "VariableDeclaration", - "scope": 7573, - "src": "193:4:9", + "scope": 8073, + "src": "193:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -722,10 +722,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7570, + "id": 8070, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "193:4:9", + "src": "193:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -735,10 +735,10 @@ "visibility": "internal" } ], - "src": "192:6:9" + "src": "192:6:10" }, - "scope": 7597, - "src": "100:99:9", + "scope": 8097, + "src": "100:99:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -746,23 +746,23 @@ { "body": null, "documentation": null, - "id": 7580, + "id": 8080, "implemented": false, "kind": "function", "modifiers": [], "name": "getDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 7576, + "id": 8076, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7575, + "id": 8075, "name": "account", "nodeType": "VariableDeclaration", - "scope": 7580, - "src": "224:15:9", + "scope": 8080, + "src": "224:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -770,10 +770,10 @@ "typeString": "address" }, "typeName": { - "id": 7574, + "id": 8074, "name": "address", "nodeType": "ElementaryTypeName", - "src": "224:7:9", + "src": "224:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -784,19 +784,19 @@ "visibility": "internal" } ], - "src": "223:17:9" + "src": "223:17:10" }, "returnParameters": { - "id": 7579, + "id": 8079, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7578, + "id": 8078, "name": "", "nodeType": "VariableDeclaration", - "scope": 7580, - "src": "264:4:9", + "scope": 8080, + "src": "264:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -804,10 +804,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7577, + "id": 8077, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "264:4:9", + "src": "264:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -817,10 +817,10 @@ "visibility": "internal" } ], - "src": "263:6:9" + "src": "263:6:10" }, - "scope": 7597, - "src": "204:66:9", + "scope": 8097, + "src": "204:66:10", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -828,23 +828,23 @@ { "body": null, "documentation": null, - "id": 7587, + "id": 8087, "implemented": false, "kind": "function", "modifiers": [], "name": "checkClaimFinished", "nodeType": "FunctionDefinition", "parameters": { - "id": 7583, + "id": 8083, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7582, + "id": 8082, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7587, - "src": "303:22:9", + "scope": 8087, + "src": "303:22:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -852,10 +852,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7581, + "id": 8081, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "303:7:9", + "src": "303:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -865,19 +865,19 @@ "visibility": "internal" } ], - "src": "302:24:9" + "src": "302:24:10" }, "returnParameters": { - "id": 7586, + "id": 8086, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7585, + "id": 8085, "name": "", "nodeType": "VariableDeclaration", - "scope": 7587, - "src": "345:4:9", + "scope": 8087, + "src": "345:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -885,10 +885,10 @@ "typeString": "bool" }, "typeName": { - "id": 7584, + "id": 8084, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "345:4:9", + "src": "345:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -898,10 +898,10 @@ "visibility": "internal" } ], - "src": "344:6:9" + "src": "344:6:10" }, - "scope": 7597, - "src": "275:76:9", + "scope": 8097, + "src": "275:76:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -909,23 +909,23 @@ { "body": null, "documentation": null, - "id": 7596, + "id": 8096, "implemented": false, "kind": "function", "modifiers": [], "name": "sessionDecided", "nodeType": "FunctionDefinition", "parameters": { - "id": 7594, + "id": 8094, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7589, + "id": 8089, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7596, - "src": "380:22:9", + "scope": 8096, + "src": "380:22:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -933,10 +933,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7588, + "id": 8088, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "380:7:9", + "src": "380:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -947,11 +947,11 @@ }, { "constant": false, - "id": 7591, + "id": 8091, "name": "winner", "nodeType": "VariableDeclaration", - "scope": 7596, - "src": "404:14:9", + "scope": 8096, + "src": "404:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -959,10 +959,10 @@ "typeString": "address" }, "typeName": { - "id": 7590, + "id": 8090, "name": "address", "nodeType": "ElementaryTypeName", - "src": "404:7:9", + "src": "404:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -974,11 +974,11 @@ }, { "constant": false, - "id": 7593, + "id": 8093, "name": "loser", "nodeType": "VariableDeclaration", - "scope": 7596, - "src": "420:13:9", + "scope": 8096, + "src": "420:13:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -986,10 +986,10 @@ "typeString": "address" }, "typeName": { - "id": 7592, + "id": 8092, "name": "address", "nodeType": "ElementaryTypeName", - "src": "420:7:9", + "src": "420:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1000,34 +1000,34 @@ "visibility": "internal" } ], - "src": "379:55:9" + "src": "379:55:10" }, "returnParameters": { - "id": 7595, + "id": 8095, "nodeType": "ParameterList", "parameters": [], - "src": "443:0:9" + "src": "443:0:10" }, - "scope": 7597, - "src": "356:88:9", + "scope": 8097, + "src": "356:88:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 7598, - "src": "63:383:9" + "scope": 8098, + "src": "63:383:10" } ], - "src": "0:447:9" + "src": "0:447:10" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.563Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.447Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/SyscoinDepositsManager.json b/build/contracts/SyscoinDepositsManager.json index 5e39558..ad53223 100644 --- a/build/contracts/SyscoinDepositsManager.json +++ b/build/contracts/SyscoinDepositsManager.json @@ -123,25 +123,25 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositMade\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositWithdrawn\",\"type\":\"event\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"getDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"makeDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinDepositsManager.sol\":\"SyscoinDepositsManager\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinDepositsManager.sol\":{\"keccak256\":\"0xcbcb0dca2569249428be0542b590145149afac4f9064a2876b5c99f511795b1a\",\"urls\":[\"bzz-raw://f45cb168ff5cd6d6b7291a5a4babf6c11d7b7c47ea3d75911e6bcacf35774c2c\",\"dweb:/ipfs/QmVsFw6WPVecLC3Y5GZiYPJuhWv3b2ML8sc8i7kE66YWqP\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506103fe806100206000396000f3fe60806040526004361061003f5760003560e01c806333289a461461004a57806340732c8914610086578063e1254fba1461008e578063fc7e286d146100c1575b6100476100f4565b50005b34801561005657600080fd5b506100746004803603602081101561006d57600080fd5b5035610114565b60408051918252519081900360200190f35b6100746100f4565b34801561009a57600080fd5b50610074600480360360208110156100b157600080fd5b50356001600160a01b03166101df565b3480156100cd57600080fd5b50610074600480360360208110156100e457600080fd5b50356001600160a01b03166101fa565b6000610100333461020c565b503360009081526020819052604090205490565b3360009081526020819052604081205482111561013057600080fd5b33600090815260208190526040902054610150908363ffffffff61028f16565b33600081815260208190526040808220939093559151909184156108fc02918591818181858888f1935050505015801561018e573d6000803e3d6000fd5b50604080513381526020810184905281517f4482101800a5c2e900f4156e57e05e19ffd7b366cde579553d723fd3abb2180e929181900390910190a150503360009081526020819052604090205490565b6001600160a01b031660009081526020819052604090205490565b60006020819052908152604090205481565b6001600160a01b038216600090815260208190526040902054610235908263ffffffff6102d816565b6001600160a01b0383166000818152602081815260409182902093909355805191825291810183905281517fd15c9547ea5c06670c0010ce19bc32d54682a4b3801ece7f3ab0c3f17106b4bb929181900390910190a15050565b60006102d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610332565b9392505050565b6000828201838110156102d1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081848411156103c15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561038657818101518382015260200161036e565b50505050905090810190601f1680156103b35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fea265627a7a72315820c154563b47a4ae6b031c8f109a0f8698549cef9580d2c59b5865bc7852615e6264736f6c634300050d0032", - "deployedBytecode": "0x60806040526004361061003f5760003560e01c806333289a461461004a57806340732c8914610086578063e1254fba1461008e578063fc7e286d146100c1575b6100476100f4565b50005b34801561005657600080fd5b506100746004803603602081101561006d57600080fd5b5035610114565b60408051918252519081900360200190f35b6100746100f4565b34801561009a57600080fd5b50610074600480360360208110156100b157600080fd5b50356001600160a01b03166101df565b3480156100cd57600080fd5b50610074600480360360208110156100e457600080fd5b50356001600160a01b03166101fa565b6000610100333461020c565b503360009081526020819052604090205490565b3360009081526020819052604081205482111561013057600080fd5b33600090815260208190526040902054610150908363ffffffff61028f16565b33600081815260208190526040808220939093559151909184156108fc02918591818181858888f1935050505015801561018e573d6000803e3d6000fd5b50604080513381526020810184905281517f4482101800a5c2e900f4156e57e05e19ffd7b366cde579553d723fd3abb2180e929181900390910190a150503360009081526020819052604090205490565b6001600160a01b031660009081526020819052604090205490565b60006020819052908152604090205481565b6001600160a01b038216600090815260208190526040902054610235908263ffffffff6102d816565b6001600160a01b0383166000818152602081815260409182902093909355805191825291810183905281517fd15c9547ea5c06670c0010ce19bc32d54682a4b3801ece7f3ab0c3f17106b4bb929181900390910190a15050565b60006102d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610332565b9392505050565b6000828201838110156102d1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081848411156103c15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561038657818101518382015260200161036e565b50505050905090810190601f1680156103b35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fea265627a7a72315820c154563b47a4ae6b031c8f109a0f8698549cef9580d2c59b5865bc7852615e6264736f6c634300050d0032", - "sourceMap": "87:1609:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;87:1609:3;;;;;;;", - "deployedSourceMap": "87:1609:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;434:13;:11;:13::i;:::-;;87:1609;1384:310;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1384:310:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1384:310:3;;:::i;:::-;;;;;;;;;;;;;;;;795:145;;;:::i;592:99::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;592:99:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;592:99:3;-1:-1:-1;;;;;592:99:3;;:::i;156:40::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;156:40:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;156:40:3;-1:-1:-1;;;;;156:40:3;;:::i;795:145::-;842:4;858:38;874:10;886:9;858:15;:38::i;:::-;-1:-1:-1;922:10:3;913:8;:20;;;;;;;;;;;795:145;:::o;1384:310::-;1473:10;1440:4;1464:20;;;;;;;;;;;:30;-1:-1:-1;1464:30:3;1456:39;;;;;;1538:10;1529:8;:20;;;;;;;;;;;:32;;1554:6;1529:32;:24;:32;:::i;:::-;1515:10;1506:8;:20;;;;;;;;;;;:55;;;;1571:27;;1515:10;;1571:27;;;;;1591:6;;1571:27;1506:8;1571:27;1591:6;1515:10;1571:27;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;1614:36:3;;;1631:10;1614:36;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1676:10:3;1667:8;:20;;;;;;;;;;;;1384:310::o;592:99::-;-1:-1:-1;;;;;671:13:3;648:4;671:13;;;;;;;;;;;;592:99::o;156:40::-;;;;;;;;;;;;;;:::o;1054:156::-;-1:-1:-1;;;;;1139:13:3;;:8;:13;;;;;;;;;;;:25;;1157:6;1139:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;1123:13:3;;:8;:13;;;;;;;;;;;;:41;;;;1179:24;;;;;;;;;;;;;;;;;;;;;;;;1054:156;;:::o;1274:134:17:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;1274:134;-1:-1:-1;;;1274:134:17:o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:17;;;;;;;;;;;;;;;;;;;;;;;;;;;1732:187;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:17;;;1732:187::o", - "source": "pragma solidity ^0.5.13;\n\nimport 'openzeppelin-solidity/contracts/math/SafeMath.sol';\n\ncontract SyscoinDepositsManager {\n\n using SafeMath for uint;\n\n mapping(address => uint) public deposits;\n\n event DepositMade(address who, uint amount);\n event DepositWithdrawn(address who, uint amount);\n\n // @dev – fallback to calling makeDeposit when ether is sent directly to contract.\n function() external payable {\n makeDeposit();\n }\n\n // @dev – returns an account's deposit\n // @param who – the account's address.\n // @return – the account's deposit.\n function getDeposit(address who) external view returns (uint) {\n return deposits[who];\n }\n\n // @dev – allows a user to deposit eth.\n // @return – sender's updated deposit amount.\n function makeDeposit() public payable returns (uint) {\n increaseDeposit(msg.sender, msg.value);\n return deposits[msg.sender];\n }\n\n // @dev – increases an account's deposit.\n // @return – the given user's updated deposit amount.\n function increaseDeposit(address who, uint amount) private {\n deposits[who] = deposits[who].add(amount);\n emit DepositMade(who, amount);\n }\n\n // @dev – allows a user to withdraw eth from their deposit.\n // @param amount – how much eth to withdraw\n // @return – sender's updated deposit amount.\n function withdrawDeposit(uint amount) external returns (uint) {\n require(deposits[msg.sender] >= amount);\n\n deposits[msg.sender] = deposits[msg.sender].sub(amount);\n msg.sender.transfer(amount);\n\n emit DepositWithdrawn(msg.sender, amount);\n return deposits[msg.sender];\n }\n}\n", + "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositMade\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositWithdrawn\",\"type\":\"event\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"getDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"makeDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinDepositsManager.sol\":\"SyscoinDepositsManager\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinDepositsManager.sol\":{\"keccak256\":\"0xcea880402ff97c3e0d71a48c08fbb0a1c2aab5f977e3e0ba15fd6a834747a49d\",\"urls\":[\"bzz-raw://deedbccfbcaf25c40cca0c8bcfbe097c8ac2b1e40cde2b28eafa09e493aad902\",\"dweb:/ipfs/QmQtkozd3DCQsEWXaCFVQFcCetAKwidTGV2ssSXrqNbXPA\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50610425806100206000396000f3fe60806040526004361061003f5760003560e01c806333289a461461004a57806340732c8914610086578063e1254fba1461008e578063fc7e286d146100c1575b6100476100f4565b50005b34801561005657600080fd5b506100746004803603602081101561006d57600080fd5b5035610114565b60408051918252519081900360200190f35b6100746100f4565b34801561009a57600080fd5b50610074600480360360208110156100b157600080fd5b50356001600160a01b0316610206565b3480156100cd57600080fd5b50610074600480360360208110156100e457600080fd5b50356001600160a01b0316610221565b60006101003334610233565b503360009081526020819052604090205490565b3360009081526020819052604081205482118015906101335750600082115b61013c57600080fd5b3360009081526020819052604090205461015c908363ffffffff6102b616565b33600081815260208190526040808220939093559151909184919081818185875af1925050503d80600081146101ae576040519150601f19603f3d011682016040523d82523d6000602084013e6101b3565b606091505b5050604080513381526020810185905281517f4482101800a5c2e900f4156e57e05e19ffd7b366cde579553d723fd3abb2180e93509081900390910190a150503360009081526020819052604090205490565b6001600160a01b031660009081526020819052604090205490565b60006020819052908152604090205481565b6001600160a01b03821660009081526020819052604090205461025c908263ffffffff6102ff16565b6001600160a01b0383166000818152602081815260409182902093909355805191825291810183905281517fd15c9547ea5c06670c0010ce19bc32d54682a4b3801ece7f3ab0c3f17106b4bb929181900390910190a15050565b60006102f883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610359565b9392505050565b6000828201838110156102f8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081848411156103e85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156103ad578181015183820152602001610395565b50505050905090810190601f1680156103da5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fea265627a7a7231582089b118c547cddf34f3f9b4aa3ced3eb6af1ec1b2ff3323aa22d4a01644e5364864736f6c634300050d0032", + "deployedBytecode": "0x60806040526004361061003f5760003560e01c806333289a461461004a57806340732c8914610086578063e1254fba1461008e578063fc7e286d146100c1575b6100476100f4565b50005b34801561005657600080fd5b506100746004803603602081101561006d57600080fd5b5035610114565b60408051918252519081900360200190f35b6100746100f4565b34801561009a57600080fd5b50610074600480360360208110156100b157600080fd5b50356001600160a01b0316610206565b3480156100cd57600080fd5b50610074600480360360208110156100e457600080fd5b50356001600160a01b0316610221565b60006101003334610233565b503360009081526020819052604090205490565b3360009081526020819052604081205482118015906101335750600082115b61013c57600080fd5b3360009081526020819052604090205461015c908363ffffffff6102b616565b33600081815260208190526040808220939093559151909184919081818185875af1925050503d80600081146101ae576040519150601f19603f3d011682016040523d82523d6000602084013e6101b3565b606091505b5050604080513381526020810185905281517f4482101800a5c2e900f4156e57e05e19ffd7b366cde579553d723fd3abb2180e93509081900390910190a150503360009081526020819052604090205490565b6001600160a01b031660009081526020819052604090205490565b60006020819052908152604090205481565b6001600160a01b03821660009081526020819052604090205461025c908263ffffffff6102ff16565b6001600160a01b0383166000818152602081815260409182902093909355805191825291810183905281517fd15c9547ea5c06670c0010ce19bc32d54682a4b3801ece7f3ab0c3f17106b4bb929181900390910190a15050565b60006102f883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610359565b9392505050565b6000828201838110156102f8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081848411156103e85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156103ad578181015183820152602001610395565b50505050905090810190601f1680156103da5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fea265627a7a7231582089b118c547cddf34f3f9b4aa3ced3eb6af1ec1b2ff3323aa22d4a01644e5364864736f6c634300050d0032", + "sourceMap": "87:1706:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;87:1706:3;;;;;;;", + "deployedSourceMap": "87:1706:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;434:13;:11;:13::i;:::-;;87:1706;1384:407;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1384:407:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1384:407:3;;:::i;:::-;;;;;;;;;;;;;;;;795:145;;;:::i;592:99::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;592:99:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;592:99:3;-1:-1:-1;;;;;592:99:3;;:::i;156:40::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;156:40:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;156:40:3;-1:-1:-1;;;;;156:40:3;;:::i;795:145::-;842:4;858:38;874:10;886:9;858:15;:38::i;:::-;-1:-1:-1;922:10:3;913:8;:20;;;;;;;;;;;795:145;:::o;1384:407::-;1473:10;1440:4;1464:20;;;;;;;;;;;:30;-1:-1:-1;1464:30:3;;;:44;;;1507:1;1498:6;:10;1464:44;1456:53;;;;;;1552:10;1543:8;:20;;;;;;;;;;;:32;;1568:6;1543:32;:24;:32;:::i;:::-;1529:10;1520:8;:20;;;;;;;;;;;:55;;;;1663:33;;1529:10;;1685:6;;1663:33;;1520:8;1663:33;1685:6;1529:10;1663:33;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;-1:-1;;1711:36:3;;;1728:10;1711:36;;;;;;;;;;;;-1:-1:-1;1711:36:3;;;;;;;;;-1:-1:-1;;1773:10:3;1764:8;:20;;;;;;;;;;;;1384:407::o;592:99::-;-1:-1:-1;;;;;671:13:3;648:4;671:13;;;;;;;;;;;;592:99::o;156:40::-;;;;;;;;;;;;;;:::o;1054:156::-;-1:-1:-1;;;;;1139:13:3;;:8;:13;;;;;;;;;;;:25;;1157:6;1139:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;1123:13:3;;:8;:13;;;;;;;;;;;;:41;;;;1179:24;;;;;;;;;;;;;;;;;;;;;;;;1054:156;;:::o;1274:134:18:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;1274:134;-1:-1:-1;;;1274:134:18:o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:18;;;;;;;;;;;;;;;;;;;;;;;;;;;1732:187;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:18;;;1732:187::o", + "source": "pragma solidity ^0.5.13;\n\nimport 'openzeppelin-solidity/contracts/math/SafeMath.sol';\n\ncontract SyscoinDepositsManager {\n\n using SafeMath for uint;\n\n mapping(address => uint) public deposits;\n\n event DepositMade(address who, uint amount);\n event DepositWithdrawn(address who, uint amount);\n\n // @dev – fallback to calling makeDeposit when ether is sent directly to contract.\n function() external payable {\n makeDeposit();\n }\n\n // @dev – returns an account's deposit\n // @param who – the account's address.\n // @return – the account's deposit.\n function getDeposit(address who) external view returns (uint) {\n return deposits[who];\n }\n\n // @dev – allows a user to deposit eth.\n // @return – sender's updated deposit amount.\n function makeDeposit() public payable returns (uint) {\n increaseDeposit(msg.sender, msg.value);\n return deposits[msg.sender];\n }\n\n // @dev – increases an account's deposit.\n // @return – the given user's updated deposit amount.\n function increaseDeposit(address who, uint amount) private {\n deposits[who] = deposits[who].add(amount);\n emit DepositMade(who, amount);\n }\n\n // @dev – allows a user to withdraw eth from their deposit.\n // @param amount – how much eth to withdraw\n // @return – sender's updated deposit amount.\n function withdrawDeposit(uint amount) external returns (uint) {\n require(deposits[msg.sender] >= amount && amount > 0);\n\n deposits[msg.sender] = deposits[msg.sender].sub(amount);\n // stop using .transfer() because of gas issue after ethereum upgrade\n msg.sender.call.value(amount)(\"\");\n emit DepositWithdrawn(msg.sender, amount);\n return deposits[msg.sender];\n }\n}\n", "sourcePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinDepositsManager.sol", "ast": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinDepositsManager.sol", "exportedSymbols": { "SyscoinDepositsManager": [ - 4470 + 4479 ] }, - "id": 4471, + "id": 4480, "nodeType": "SourceUnit", "nodes": [ { - "id": 4339, + "id": 4340, "literals": [ "solidity", "^", @@ -154,10 +154,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", - "id": 4340, + "id": 4341, "nodeType": "ImportDirective", - "scope": 4471, - "sourceUnit": 8937, + "scope": 4480, + "sourceUnit": 9556, "src": "26:59:3", "symbolAliases": [], "unitAlias": "" @@ -168,31 +168,31 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 4470, + "id": 4479, "linearizedBaseContracts": [ - 4470 + 4479 ], "name": "SyscoinDepositsManager", "nodeType": "ContractDefinition", "nodes": [ { - "id": 4343, + "id": 4344, "libraryName": { "contractScope": null, - "id": 4341, + "id": 4342, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8936, + "referencedDeclaration": 9555, "src": "132:8:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8936", + "typeIdentifier": "t_contract$_SafeMath_$9555", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "126:24:3", "typeName": { - "id": 4342, + "id": 4343, "name": "uint", "nodeType": "ElementaryTypeName", "src": "145:4:3", @@ -204,10 +204,10 @@ }, { "constant": false, - "id": 4347, + "id": 4348, "name": "deposits", "nodeType": "VariableDeclaration", - "scope": 4470, + "scope": 4479, "src": "156:40:3", "stateVariable": true, "storageLocation": "default", @@ -216,9 +216,9 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 4346, + "id": 4347, "keyType": { - "id": 4344, + "id": 4345, "name": "address", "nodeType": "ElementaryTypeName", "src": "164:7:3", @@ -234,7 +234,7 @@ "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 4345, + "id": 4346, "name": "uint", "nodeType": "ElementaryTypeName", "src": "175:4:3", @@ -250,20 +250,20 @@ { "anonymous": false, "documentation": null, - "id": 4353, + "id": 4354, "name": "DepositMade", "nodeType": "EventDefinition", "parameters": { - "id": 4352, + "id": 4353, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4349, + "id": 4350, "indexed": false, "name": "who", "nodeType": "VariableDeclaration", - "scope": 4353, + "scope": 4354, "src": "221:11:3", "stateVariable": false, "storageLocation": "default", @@ -272,7 +272,7 @@ "typeString": "address" }, "typeName": { - "id": 4348, + "id": 4349, "name": "address", "nodeType": "ElementaryTypeName", "src": "221:7:3", @@ -287,11 +287,11 @@ }, { "constant": false, - "id": 4351, + "id": 4352, "indexed": false, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 4353, + "scope": 4354, "src": "234:11:3", "stateVariable": false, "storageLocation": "default", @@ -300,7 +300,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4350, + "id": 4351, "name": "uint", "nodeType": "ElementaryTypeName", "src": "234:4:3", @@ -320,20 +320,20 @@ { "anonymous": false, "documentation": null, - "id": 4359, + "id": 4360, "name": "DepositWithdrawn", "nodeType": "EventDefinition", "parameters": { - "id": 4358, + "id": 4359, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4355, + "id": 4356, "indexed": false, "name": "who", "nodeType": "VariableDeclaration", - "scope": 4359, + "scope": 4360, "src": "275:11:3", "stateVariable": false, "storageLocation": "default", @@ -342,7 +342,7 @@ "typeString": "address" }, "typeName": { - "id": 4354, + "id": 4355, "name": "address", "nodeType": "ElementaryTypeName", "src": "275:7:3", @@ -357,11 +357,11 @@ }, { "constant": false, - "id": 4357, + "id": 4358, "indexed": false, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 4359, + "scope": 4360, "src": "288:11:3", "stateVariable": false, "storageLocation": "default", @@ -370,7 +370,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4356, + "id": 4357, "name": "uint", "nodeType": "ElementaryTypeName", "src": "288:4:3", @@ -389,7 +389,7 @@ }, { "body": { - "id": 4365, + "id": 4366, "nodeType": "Block", "src": "424:30:3", "statements": [ @@ -399,18 +399,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4362, + "id": 4363, "name": "makeDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4396, + "referencedDeclaration": 4397, "src": "434:11:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", "typeString": "function () returns (uint256)" } }, - "id": 4363, + "id": 4364, "isConstant": false, "isLValue": false, "isPure": false, @@ -424,32 +424,32 @@ "typeString": "uint256" } }, - "id": 4364, + "id": 4365, "nodeType": "ExpressionStatement", "src": "434:13:3" } ] }, "documentation": null, - "id": 4366, + "id": 4367, "implemented": true, "kind": "fallback", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 4360, + "id": 4361, "nodeType": "ParameterList", "parameters": [], "src": "404:2:3" }, "returnParameters": { - "id": 4361, + "id": 4362, "nodeType": "ParameterList", "parameters": [], "src": "424:0:3" }, - "scope": 4470, + "scope": 4479, "src": "396:58:3", "stateMutability": "payable", "superFunction": null, @@ -457,7 +457,7 @@ }, { "body": { - "id": 4377, + "id": 4378, "nodeType": "Block", "src": "654:37:3", "statements": [ @@ -466,25 +466,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4373, + "id": 4374, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "671:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4375, + "id": 4376, "indexExpression": { "argumentTypes": null, - "id": 4374, + "id": 4375, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4368, + "referencedDeclaration": 4369, "src": "680:3:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -502,30 +502,30 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4372, - "id": 4376, + "functionReturnParameters": 4373, + "id": 4377, "nodeType": "Return", "src": "664:20:3" } ] }, "documentation": null, - "id": 4378, + "id": 4379, "implemented": true, "kind": "function", "modifiers": [], "name": "getDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 4369, + "id": 4370, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4368, + "id": 4369, "name": "who", "nodeType": "VariableDeclaration", - "scope": 4378, + "scope": 4379, "src": "612:11:3", "stateVariable": false, "storageLocation": "default", @@ -534,7 +534,7 @@ "typeString": "address" }, "typeName": { - "id": 4367, + "id": 4368, "name": "address", "nodeType": "ElementaryTypeName", "src": "612:7:3", @@ -551,15 +551,15 @@ "src": "611:13:3" }, "returnParameters": { - "id": 4372, + "id": 4373, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4371, + "id": 4372, "name": "", "nodeType": "VariableDeclaration", - "scope": 4378, + "scope": 4379, "src": "648:4:3", "stateVariable": false, "storageLocation": "default", @@ -568,7 +568,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4370, + "id": 4371, "name": "uint", "nodeType": "ElementaryTypeName", "src": "648:4:3", @@ -583,7 +583,7 @@ ], "src": "647:6:3" }, - "scope": 4470, + "scope": 4479, "src": "592:99:3", "stateMutability": "view", "superFunction": null, @@ -591,7 +591,7 @@ }, { "body": { - "id": 4395, + "id": 4396, "nodeType": "Block", "src": "848:92:3", "statements": [ @@ -603,18 +603,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4384, + "id": 4385, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "874:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4385, + "id": 4386, "isConstant": false, "isLValue": false, "isPure": false, @@ -632,18 +632,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4386, + "id": 4387, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "886:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4387, + "id": 4388, "isConstant": false, "isLValue": false, "isPure": false, @@ -669,18 +669,18 @@ "typeString": "uint256" } ], - "id": 4383, + "id": 4384, "name": "increaseDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4420, + "referencedDeclaration": 4421, "src": "858:15:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4388, + "id": 4389, "isConstant": false, "isLValue": false, "isPure": false, @@ -694,7 +694,7 @@ "typeString": "tuple()" } }, - "id": 4389, + "id": 4390, "nodeType": "ExpressionStatement", "src": "858:38:3" }, @@ -703,34 +703,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4390, + "id": 4391, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "913:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4393, + "id": 4394, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4391, + "id": 4392, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "922:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4392, + "id": 4393, "isConstant": false, "isLValue": false, "isPure": false, @@ -755,36 +755,36 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4382, - "id": 4394, + "functionReturnParameters": 4383, + "id": 4395, "nodeType": "Return", "src": "906:27:3" } ] }, "documentation": null, - "id": 4396, + "id": 4397, "implemented": true, "kind": "function", "modifiers": [], "name": "makeDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 4379, + "id": 4380, "nodeType": "ParameterList", "parameters": [], "src": "815:2:3" }, "returnParameters": { - "id": 4382, + "id": 4383, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4381, + "id": 4382, "name": "", "nodeType": "VariableDeclaration", - "scope": 4396, + "scope": 4397, "src": "842:4:3", "stateVariable": false, "storageLocation": "default", @@ -793,7 +793,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4380, + "id": 4381, "name": "uint", "nodeType": "ElementaryTypeName", "src": "842:4:3", @@ -808,7 +808,7 @@ ], "src": "841:6:3" }, - "scope": 4470, + "scope": 4479, "src": "795:145:3", "stateMutability": "payable", "superFunction": null, @@ -816,14 +816,14 @@ }, { "body": { - "id": 4419, + "id": 4420, "nodeType": "Block", "src": "1113:97:3", "statements": [ { "expression": { "argumentTypes": null, - "id": 4412, + "id": 4413, "isConstant": false, "isLValue": false, "isPure": false, @@ -832,25 +832,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4403, + "id": 4404, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "1123:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4405, + "id": 4406, "indexExpression": { "argumentTypes": null, - "id": 4404, + "id": 4405, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4398, + "referencedDeclaration": 4399, "src": "1132:3:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -875,11 +875,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4410, + "id": 4411, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4400, + "referencedDeclaration": 4401, "src": "1157:6:3", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -898,25 +898,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4406, + "id": 4407, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "1139:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4408, + "id": 4409, "indexExpression": { "argumentTypes": null, - "id": 4407, + "id": 4408, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4398, + "referencedDeclaration": 4399, "src": "1148:3:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -934,21 +934,21 @@ "typeString": "uint256" } }, - "id": 4409, + "id": 4410, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, + "referencedDeclaration": 9395, "src": "1139:17:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4411, + "id": 4412, "isConstant": false, "isLValue": false, "isPure": false, @@ -968,7 +968,7 @@ "typeString": "uint256" } }, - "id": 4413, + "id": 4414, "nodeType": "ExpressionStatement", "src": "1123:41:3" }, @@ -978,11 +978,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4415, + "id": 4416, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4398, + "referencedDeclaration": 4399, "src": "1191:3:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -991,11 +991,11 @@ }, { "argumentTypes": null, - "id": 4416, + "id": 4417, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4400, + "referencedDeclaration": 4401, "src": "1196:6:3", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1014,18 +1014,18 @@ "typeString": "uint256" } ], - "id": 4414, + "id": 4415, "name": "DepositMade", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4353, + "referencedDeclaration": 4354, "src": "1179:11:3", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4417, + "id": 4418, "isConstant": false, "isLValue": false, "isPure": false, @@ -1039,29 +1039,29 @@ "typeString": "tuple()" } }, - "id": 4418, + "id": 4419, "nodeType": "EmitStatement", "src": "1174:29:3" } ] }, "documentation": null, - "id": 4420, + "id": 4421, "implemented": true, "kind": "function", "modifiers": [], "name": "increaseDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 4401, + "id": 4402, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4398, + "id": 4399, "name": "who", "nodeType": "VariableDeclaration", - "scope": 4420, + "scope": 4421, "src": "1079:11:3", "stateVariable": false, "storageLocation": "default", @@ -1070,7 +1070,7 @@ "typeString": "address" }, "typeName": { - "id": 4397, + "id": 4398, "name": "address", "nodeType": "ElementaryTypeName", "src": "1079:7:3", @@ -1085,10 +1085,10 @@ }, { "constant": false, - "id": 4400, + "id": 4401, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 4420, + "scope": 4421, "src": "1092:11:3", "stateVariable": false, "storageLocation": "default", @@ -1097,7 +1097,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4399, + "id": 4400, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1092:4:3", @@ -1113,12 +1113,12 @@ "src": "1078:26:3" }, "returnParameters": { - "id": 4402, + "id": 4403, "nodeType": "ParameterList", "parameters": [], "src": "1113:0:3" }, - "scope": 4470, + "scope": 4479, "src": "1054:156:3", "stateMutability": "nonpayable", "superFunction": null, @@ -1126,9 +1126,9 @@ }, { "body": { - "id": 4468, + "id": 4477, "nodeType": "Block", - "src": "1446:248:3", + "src": "1446:345:3", "statements": [ { "expression": { @@ -1137,86 +1137,155 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "id": 4433, + "id": 4438, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4428, - "name": "deposits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "1464:8:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 4431, - "indexExpression": { + "id": 4434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "expression": { + "baseExpression": { "argumentTypes": null, "id": 4429, - "name": "msg", + "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1473:3:3", + "referencedDeclaration": 4348, + "src": "1464:8:3", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4432, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4430, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "1473:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1473:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "id": 4430, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1473:10:3", + "nodeType": "IndexAccess", + "src": "1464:20:3", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1464:20:3", + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 4433, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4423, + "src": "1488:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1464:30:3", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "nodeType": "BinaryOperation", - "operator": ">=", + "operator": "&&", "rightExpression": { "argumentTypes": null, - "id": 4432, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "1488:6:3", - "typeDescriptions": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" + }, + "id": 4437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4435, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4423, + "src": "1498:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1507:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1498:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "src": "1464:30:3", + "src": "1464:44:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1230,21 +1299,21 @@ "typeString": "bool" } ], - "id": 4427, + "id": 4428, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "1456:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 4434, + "id": 4439, "isConstant": false, "isLValue": false, "isPure": false, @@ -1252,20 +1321,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1456:39:3", + "src": "1456:53:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4435, + "id": 4440, "nodeType": "ExpressionStatement", - "src": "1456:39:3" + "src": "1456:53:3" }, { "expression": { "argumentTypes": null, - "id": 4447, + "id": 4452, "isConstant": false, "isLValue": false, "isPure": false, @@ -1274,34 +1343,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4436, + "id": 4441, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "1506:8:3", + "referencedDeclaration": 4348, + "src": "1520:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4439, + "id": 4444, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4437, + "id": 4442, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1515:3:3", + "referencedDeclaration": 11098, + "src": "1529:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4438, + "id": 4443, "isConstant": false, "isLValue": false, "isPure": false, @@ -1309,7 +1378,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1515:10:3", + "src": "1529:10:3", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1320,7 +1389,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1506:20:3", + "src": "1520:20:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1333,12 +1402,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4445, + "id": 4450, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "1554:6:3", + "referencedDeclaration": 4423, + "src": "1568:6:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1356,34 +1425,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4440, + "id": 4445, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "1529:8:3", + "referencedDeclaration": 4348, + "src": "1543:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4443, + "id": 4448, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4441, + "id": 4446, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1538:3:3", + "referencedDeclaration": 11098, + "src": "1552:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4442, + "id": 4447, "isConstant": false, "isLValue": false, "isPure": false, @@ -1391,7 +1460,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1538:10:3", + "src": "1552:10:3", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1402,27 +1471,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1529:20:3", + "src": "1543:20:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4444, + "id": 4449, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8792, - "src": "1529:24:3", + "referencedDeclaration": 9411, + "src": "1543:24:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4446, + "id": 4451, "isConstant": false, "isLValue": false, "isPure": false, @@ -1430,21 +1499,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1529:32:3", + "src": "1543:32:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1506:55:3", + "src": "1520:55:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4448, + "id": 4453, "nodeType": "ExpressionStatement", - "src": "1506:55:3" + "src": "1520:55:3" }, { "expression": { @@ -1452,69 +1521,126 @@ "arguments": [ { "argumentTypes": null, - "id": 4454, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "1591:6:3", + "hexValue": "", + "id": 4463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1693:2:3", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" } ], - "expression": { - "argumentTypes": null, - "expression": { + "arguments": [ + { "argumentTypes": null, - "id": 4449, - "name": "msg", + "id": 4461, + "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1571:3:3", + "referencedDeclaration": 4423, + "src": "1685:6:3", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4454, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "1663:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1663:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 4459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1663:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 4452, + "id": 4460, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "sender", + "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1571:10:3", + "src": "1663:21:3", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", + "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 4453, + "id": 4462, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1571:19:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1663:29:3", "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 4455, + "id": 4464, "isConstant": false, "isLValue": false, "isPure": false, @@ -1522,15 +1648,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1571:27:3", + "src": "1663:33:3", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" } }, - "id": 4456, + "id": 4465, "nodeType": "ExpressionStatement", - "src": "1571:27:3" + "src": "1663:33:3" }, { "eventCall": { @@ -1540,18 +1666,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4458, + "id": 4467, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1631:3:3", + "referencedDeclaration": 11098, + "src": "1728:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4459, + "id": 4468, "isConstant": false, "isLValue": false, "isPure": false, @@ -1559,7 +1685,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1631:10:3", + "src": "1728:10:3", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1567,12 +1693,12 @@ }, { "argumentTypes": null, - "id": 4460, + "id": 4469, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "1643:6:3", + "referencedDeclaration": 4423, + "src": "1740:6:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1590,18 +1716,18 @@ "typeString": "uint256" } ], - "id": 4457, + "id": 4466, "name": "DepositWithdrawn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4359, - "src": "1614:16:3", + "referencedDeclaration": 4360, + "src": "1711:16:3", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4461, + "id": 4470, "isConstant": false, "isLValue": false, "isPure": false, @@ -1609,49 +1735,49 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1614:36:3", + "src": "1711:36:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4462, + "id": 4471, "nodeType": "EmitStatement", - "src": "1609:41:3" + "src": "1706:41:3" }, { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4463, + "id": 4472, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "1667:8:3", + "referencedDeclaration": 4348, + "src": "1764:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4466, + "id": 4475, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4464, + "id": 4473, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1676:3:3", + "referencedDeclaration": 11098, + "src": "1773:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4465, + "id": 4474, "isConstant": false, "isLValue": false, "isPure": false, @@ -1659,7 +1785,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1676:10:3", + "src": "1773:10:3", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1670,36 +1796,36 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1667:20:3", + "src": "1764:20:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 4426, - "id": 4467, + "functionReturnParameters": 4427, + "id": 4476, "nodeType": "Return", - "src": "1660:27:3" + "src": "1757:27:3" } ] }, "documentation": null, - "id": 4469, + "id": 4478, "implemented": true, "kind": "function", "modifiers": [], "name": "withdrawDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 4423, + "id": 4424, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4422, + "id": 4423, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 4469, + "scope": 4478, "src": "1409:11:3", "stateVariable": false, "storageLocation": "default", @@ -1708,7 +1834,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4421, + "id": 4422, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1409:4:3", @@ -1724,15 +1850,15 @@ "src": "1408:13:3" }, "returnParameters": { - "id": 4426, + "id": 4427, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4425, + "id": 4426, "name": "", "nodeType": "VariableDeclaration", - "scope": 4469, + "scope": 4478, "src": "1440:4:3", "stateVariable": false, "storageLocation": "default", @@ -1741,7 +1867,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4424, + "id": 4425, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1440:4:3", @@ -1756,31 +1882,31 @@ ], "src": "1439:6:3" }, - "scope": 4470, - "src": "1384:310:3", + "scope": 4479, + "src": "1384:407:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 4471, - "src": "87:1609:3" + "scope": 4480, + "src": "87:1706:3" } ], - "src": "0:1697:3" + "src": "0:1794:3" }, "legacyAST": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinDepositsManager.sol", "exportedSymbols": { "SyscoinDepositsManager": [ - 4470 + 4479 ] }, - "id": 4471, + "id": 4480, "nodeType": "SourceUnit", "nodes": [ { - "id": 4339, + "id": 4340, "literals": [ "solidity", "^", @@ -1793,10 +1919,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", - "id": 4340, + "id": 4341, "nodeType": "ImportDirective", - "scope": 4471, - "sourceUnit": 8937, + "scope": 4480, + "sourceUnit": 9556, "src": "26:59:3", "symbolAliases": [], "unitAlias": "" @@ -1807,31 +1933,31 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 4470, + "id": 4479, "linearizedBaseContracts": [ - 4470 + 4479 ], "name": "SyscoinDepositsManager", "nodeType": "ContractDefinition", "nodes": [ { - "id": 4343, + "id": 4344, "libraryName": { "contractScope": null, - "id": 4341, + "id": 4342, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8936, + "referencedDeclaration": 9555, "src": "132:8:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8936", + "typeIdentifier": "t_contract$_SafeMath_$9555", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "126:24:3", "typeName": { - "id": 4342, + "id": 4343, "name": "uint", "nodeType": "ElementaryTypeName", "src": "145:4:3", @@ -1843,10 +1969,10 @@ }, { "constant": false, - "id": 4347, + "id": 4348, "name": "deposits", "nodeType": "VariableDeclaration", - "scope": 4470, + "scope": 4479, "src": "156:40:3", "stateVariable": true, "storageLocation": "default", @@ -1855,9 +1981,9 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 4346, + "id": 4347, "keyType": { - "id": 4344, + "id": 4345, "name": "address", "nodeType": "ElementaryTypeName", "src": "164:7:3", @@ -1873,7 +1999,7 @@ "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 4345, + "id": 4346, "name": "uint", "nodeType": "ElementaryTypeName", "src": "175:4:3", @@ -1889,20 +2015,20 @@ { "anonymous": false, "documentation": null, - "id": 4353, + "id": 4354, "name": "DepositMade", "nodeType": "EventDefinition", "parameters": { - "id": 4352, + "id": 4353, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4349, + "id": 4350, "indexed": false, "name": "who", "nodeType": "VariableDeclaration", - "scope": 4353, + "scope": 4354, "src": "221:11:3", "stateVariable": false, "storageLocation": "default", @@ -1911,7 +2037,7 @@ "typeString": "address" }, "typeName": { - "id": 4348, + "id": 4349, "name": "address", "nodeType": "ElementaryTypeName", "src": "221:7:3", @@ -1926,11 +2052,11 @@ }, { "constant": false, - "id": 4351, + "id": 4352, "indexed": false, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 4353, + "scope": 4354, "src": "234:11:3", "stateVariable": false, "storageLocation": "default", @@ -1939,7 +2065,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4350, + "id": 4351, "name": "uint", "nodeType": "ElementaryTypeName", "src": "234:4:3", @@ -1959,20 +2085,20 @@ { "anonymous": false, "documentation": null, - "id": 4359, + "id": 4360, "name": "DepositWithdrawn", "nodeType": "EventDefinition", "parameters": { - "id": 4358, + "id": 4359, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4355, + "id": 4356, "indexed": false, "name": "who", "nodeType": "VariableDeclaration", - "scope": 4359, + "scope": 4360, "src": "275:11:3", "stateVariable": false, "storageLocation": "default", @@ -1981,7 +2107,7 @@ "typeString": "address" }, "typeName": { - "id": 4354, + "id": 4355, "name": "address", "nodeType": "ElementaryTypeName", "src": "275:7:3", @@ -1996,11 +2122,11 @@ }, { "constant": false, - "id": 4357, + "id": 4358, "indexed": false, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 4359, + "scope": 4360, "src": "288:11:3", "stateVariable": false, "storageLocation": "default", @@ -2009,7 +2135,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4356, + "id": 4357, "name": "uint", "nodeType": "ElementaryTypeName", "src": "288:4:3", @@ -2028,7 +2154,7 @@ }, { "body": { - "id": 4365, + "id": 4366, "nodeType": "Block", "src": "424:30:3", "statements": [ @@ -2038,18 +2164,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4362, + "id": 4363, "name": "makeDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4396, + "referencedDeclaration": 4397, "src": "434:11:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$", "typeString": "function () returns (uint256)" } }, - "id": 4363, + "id": 4364, "isConstant": false, "isLValue": false, "isPure": false, @@ -2063,32 +2189,32 @@ "typeString": "uint256" } }, - "id": 4364, + "id": 4365, "nodeType": "ExpressionStatement", "src": "434:13:3" } ] }, "documentation": null, - "id": 4366, + "id": 4367, "implemented": true, "kind": "fallback", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 4360, + "id": 4361, "nodeType": "ParameterList", "parameters": [], "src": "404:2:3" }, "returnParameters": { - "id": 4361, + "id": 4362, "nodeType": "ParameterList", "parameters": [], "src": "424:0:3" }, - "scope": 4470, + "scope": 4479, "src": "396:58:3", "stateMutability": "payable", "superFunction": null, @@ -2096,7 +2222,7 @@ }, { "body": { - "id": 4377, + "id": 4378, "nodeType": "Block", "src": "654:37:3", "statements": [ @@ -2105,25 +2231,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4373, + "id": 4374, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "671:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4375, + "id": 4376, "indexExpression": { "argumentTypes": null, - "id": 4374, + "id": 4375, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4368, + "referencedDeclaration": 4369, "src": "680:3:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2141,30 +2267,30 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4372, - "id": 4376, + "functionReturnParameters": 4373, + "id": 4377, "nodeType": "Return", "src": "664:20:3" } ] }, "documentation": null, - "id": 4378, + "id": 4379, "implemented": true, "kind": "function", "modifiers": [], "name": "getDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 4369, + "id": 4370, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4368, + "id": 4369, "name": "who", "nodeType": "VariableDeclaration", - "scope": 4378, + "scope": 4379, "src": "612:11:3", "stateVariable": false, "storageLocation": "default", @@ -2173,7 +2299,7 @@ "typeString": "address" }, "typeName": { - "id": 4367, + "id": 4368, "name": "address", "nodeType": "ElementaryTypeName", "src": "612:7:3", @@ -2190,15 +2316,15 @@ "src": "611:13:3" }, "returnParameters": { - "id": 4372, + "id": 4373, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4371, + "id": 4372, "name": "", "nodeType": "VariableDeclaration", - "scope": 4378, + "scope": 4379, "src": "648:4:3", "stateVariable": false, "storageLocation": "default", @@ -2207,7 +2333,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4370, + "id": 4371, "name": "uint", "nodeType": "ElementaryTypeName", "src": "648:4:3", @@ -2222,7 +2348,7 @@ ], "src": "647:6:3" }, - "scope": 4470, + "scope": 4479, "src": "592:99:3", "stateMutability": "view", "superFunction": null, @@ -2230,7 +2356,7 @@ }, { "body": { - "id": 4395, + "id": 4396, "nodeType": "Block", "src": "848:92:3", "statements": [ @@ -2242,18 +2368,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4384, + "id": 4385, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "874:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4385, + "id": 4386, "isConstant": false, "isLValue": false, "isPure": false, @@ -2271,18 +2397,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4386, + "id": 4387, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "886:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4387, + "id": 4388, "isConstant": false, "isLValue": false, "isPure": false, @@ -2308,18 +2434,18 @@ "typeString": "uint256" } ], - "id": 4383, + "id": 4384, "name": "increaseDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4420, + "referencedDeclaration": 4421, "src": "858:15:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4388, + "id": 4389, "isConstant": false, "isLValue": false, "isPure": false, @@ -2333,7 +2459,7 @@ "typeString": "tuple()" } }, - "id": 4389, + "id": 4390, "nodeType": "ExpressionStatement", "src": "858:38:3" }, @@ -2342,34 +2468,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4390, + "id": 4391, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "913:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4393, + "id": 4394, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4391, + "id": 4392, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, + "referencedDeclaration": 11098, "src": "922:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4392, + "id": 4393, "isConstant": false, "isLValue": false, "isPure": false, @@ -2394,36 +2520,36 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4382, - "id": 4394, + "functionReturnParameters": 4383, + "id": 4395, "nodeType": "Return", "src": "906:27:3" } ] }, "documentation": null, - "id": 4396, + "id": 4397, "implemented": true, "kind": "function", "modifiers": [], "name": "makeDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 4379, + "id": 4380, "nodeType": "ParameterList", "parameters": [], "src": "815:2:3" }, "returnParameters": { - "id": 4382, + "id": 4383, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4381, + "id": 4382, "name": "", "nodeType": "VariableDeclaration", - "scope": 4396, + "scope": 4397, "src": "842:4:3", "stateVariable": false, "storageLocation": "default", @@ -2432,7 +2558,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4380, + "id": 4381, "name": "uint", "nodeType": "ElementaryTypeName", "src": "842:4:3", @@ -2447,7 +2573,7 @@ ], "src": "841:6:3" }, - "scope": 4470, + "scope": 4479, "src": "795:145:3", "stateMutability": "payable", "superFunction": null, @@ -2455,14 +2581,14 @@ }, { "body": { - "id": 4419, + "id": 4420, "nodeType": "Block", "src": "1113:97:3", "statements": [ { "expression": { "argumentTypes": null, - "id": 4412, + "id": 4413, "isConstant": false, "isLValue": false, "isPure": false, @@ -2471,25 +2597,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4403, + "id": 4404, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "1123:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4405, + "id": 4406, "indexExpression": { "argumentTypes": null, - "id": 4404, + "id": 4405, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4398, + "referencedDeclaration": 4399, "src": "1132:3:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2514,11 +2640,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4410, + "id": 4411, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4400, + "referencedDeclaration": 4401, "src": "1157:6:3", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2537,25 +2663,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4406, + "id": 4407, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, + "referencedDeclaration": 4348, "src": "1139:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4408, + "id": 4409, "indexExpression": { "argumentTypes": null, - "id": 4407, + "id": 4408, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4398, + "referencedDeclaration": 4399, "src": "1148:3:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2573,21 +2699,21 @@ "typeString": "uint256" } }, - "id": 4409, + "id": 4410, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, + "referencedDeclaration": 9395, "src": "1139:17:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4411, + "id": 4412, "isConstant": false, "isLValue": false, "isPure": false, @@ -2607,7 +2733,7 @@ "typeString": "uint256" } }, - "id": 4413, + "id": 4414, "nodeType": "ExpressionStatement", "src": "1123:41:3" }, @@ -2617,11 +2743,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4415, + "id": 4416, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4398, + "referencedDeclaration": 4399, "src": "1191:3:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2630,11 +2756,11 @@ }, { "argumentTypes": null, - "id": 4416, + "id": 4417, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4400, + "referencedDeclaration": 4401, "src": "1196:6:3", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2653,18 +2779,18 @@ "typeString": "uint256" } ], - "id": 4414, + "id": 4415, "name": "DepositMade", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4353, + "referencedDeclaration": 4354, "src": "1179:11:3", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4417, + "id": 4418, "isConstant": false, "isLValue": false, "isPure": false, @@ -2678,29 +2804,29 @@ "typeString": "tuple()" } }, - "id": 4418, + "id": 4419, "nodeType": "EmitStatement", "src": "1174:29:3" } ] }, "documentation": null, - "id": 4420, + "id": 4421, "implemented": true, "kind": "function", "modifiers": [], "name": "increaseDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 4401, + "id": 4402, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4398, + "id": 4399, "name": "who", "nodeType": "VariableDeclaration", - "scope": 4420, + "scope": 4421, "src": "1079:11:3", "stateVariable": false, "storageLocation": "default", @@ -2709,7 +2835,7 @@ "typeString": "address" }, "typeName": { - "id": 4397, + "id": 4398, "name": "address", "nodeType": "ElementaryTypeName", "src": "1079:7:3", @@ -2724,10 +2850,10 @@ }, { "constant": false, - "id": 4400, + "id": 4401, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 4420, + "scope": 4421, "src": "1092:11:3", "stateVariable": false, "storageLocation": "default", @@ -2736,7 +2862,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4399, + "id": 4400, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1092:4:3", @@ -2752,12 +2878,12 @@ "src": "1078:26:3" }, "returnParameters": { - "id": 4402, + "id": 4403, "nodeType": "ParameterList", "parameters": [], "src": "1113:0:3" }, - "scope": 4470, + "scope": 4479, "src": "1054:156:3", "stateMutability": "nonpayable", "superFunction": null, @@ -2765,9 +2891,9 @@ }, { "body": { - "id": 4468, + "id": 4477, "nodeType": "Block", - "src": "1446:248:3", + "src": "1446:345:3", "statements": [ { "expression": { @@ -2776,86 +2902,155 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "id": 4433, + "id": 4438, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4428, - "name": "deposits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "1464:8:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 4431, - "indexExpression": { + "id": 4434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "expression": { + "baseExpression": { "argumentTypes": null, "id": 4429, - "name": "msg", + "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1473:3:3", + "referencedDeclaration": 4348, + "src": "1464:8:3", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4432, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4430, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "1473:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1473:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "id": 4430, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1473:10:3", + "nodeType": "IndexAccess", + "src": "1464:20:3", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1464:20:3", + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 4433, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4423, + "src": "1488:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1464:30:3", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "nodeType": "BinaryOperation", - "operator": ">=", + "operator": "&&", "rightExpression": { "argumentTypes": null, - "id": 4432, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "1488:6:3", - "typeDescriptions": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" + }, + "id": 4437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4435, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4423, + "src": "1498:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1507:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1498:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "src": "1464:30:3", + "src": "1464:44:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2869,21 +3064,21 @@ "typeString": "bool" } ], - "id": 4427, + "id": 4428, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, + "referencedDeclaration": 11101, "src": "1456:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 4434, + "id": 4439, "isConstant": false, "isLValue": false, "isPure": false, @@ -2891,20 +3086,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1456:39:3", + "src": "1456:53:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4435, + "id": 4440, "nodeType": "ExpressionStatement", - "src": "1456:39:3" + "src": "1456:53:3" }, { "expression": { "argumentTypes": null, - "id": 4447, + "id": 4452, "isConstant": false, "isLValue": false, "isPure": false, @@ -2913,34 +3108,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4436, + "id": 4441, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "1506:8:3", + "referencedDeclaration": 4348, + "src": "1520:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4439, + "id": 4444, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4437, + "id": 4442, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1515:3:3", + "referencedDeclaration": 11098, + "src": "1529:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4438, + "id": 4443, "isConstant": false, "isLValue": false, "isPure": false, @@ -2948,7 +3143,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1515:10:3", + "src": "1529:10:3", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2959,7 +3154,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1506:20:3", + "src": "1520:20:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2972,12 +3167,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4445, + "id": 4450, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "1554:6:3", + "referencedDeclaration": 4423, + "src": "1568:6:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2995,34 +3190,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4440, + "id": 4445, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "1529:8:3", + "referencedDeclaration": 4348, + "src": "1543:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4443, + "id": 4448, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4441, + "id": 4446, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1538:3:3", + "referencedDeclaration": 11098, + "src": "1552:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4442, + "id": 4447, "isConstant": false, "isLValue": false, "isPure": false, @@ -3030,7 +3225,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1538:10:3", + "src": "1552:10:3", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -3041,27 +3236,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1529:20:3", + "src": "1543:20:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4444, + "id": 4449, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8792, - "src": "1529:24:3", + "referencedDeclaration": 9411, + "src": "1543:24:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4446, + "id": 4451, "isConstant": false, "isLValue": false, "isPure": false, @@ -3069,21 +3264,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1529:32:3", + "src": "1543:32:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1506:55:3", + "src": "1520:55:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4448, + "id": 4453, "nodeType": "ExpressionStatement", - "src": "1506:55:3" + "src": "1520:55:3" }, { "expression": { @@ -3091,69 +3286,126 @@ "arguments": [ { "argumentTypes": null, - "id": 4454, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "1591:6:3", + "hexValue": "", + "id": 4463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1693:2:3", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" } ], - "expression": { - "argumentTypes": null, - "expression": { + "arguments": [ + { "argumentTypes": null, - "id": 4449, - "name": "msg", + "id": 4461, + "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1571:3:3", + "referencedDeclaration": 4423, + "src": "1685:6:3", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4454, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "1663:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1663:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 4459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1663:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 4452, + "id": 4460, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "sender", + "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1571:10:3", + "src": "1663:21:3", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", + "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 4453, + "id": 4462, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1571:19:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1663:29:3", "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 4455, + "id": 4464, "isConstant": false, "isLValue": false, "isPure": false, @@ -3161,15 +3413,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1571:27:3", + "src": "1663:33:3", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" } }, - "id": 4456, + "id": 4465, "nodeType": "ExpressionStatement", - "src": "1571:27:3" + "src": "1663:33:3" }, { "eventCall": { @@ -3179,18 +3431,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4458, + "id": 4467, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1631:3:3", + "referencedDeclaration": 11098, + "src": "1728:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4459, + "id": 4468, "isConstant": false, "isLValue": false, "isPure": false, @@ -3198,7 +3450,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1631:10:3", + "src": "1728:10:3", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -3206,12 +3458,12 @@ }, { "argumentTypes": null, - "id": 4460, + "id": 4469, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "1643:6:3", + "referencedDeclaration": 4423, + "src": "1740:6:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3229,18 +3481,18 @@ "typeString": "uint256" } ], - "id": 4457, + "id": 4466, "name": "DepositWithdrawn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4359, - "src": "1614:16:3", + "referencedDeclaration": 4360, + "src": "1711:16:3", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4461, + "id": 4470, "isConstant": false, "isLValue": false, "isPure": false, @@ -3248,49 +3500,49 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1614:36:3", + "src": "1711:36:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4462, + "id": 4471, "nodeType": "EmitStatement", - "src": "1609:41:3" + "src": "1706:41:3" }, { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4463, + "id": 4472, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "1667:8:3", + "referencedDeclaration": 4348, + "src": "1764:8:3", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4466, + "id": 4475, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4464, + "id": 4473, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1676:3:3", + "referencedDeclaration": 11098, + "src": "1773:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4465, + "id": 4474, "isConstant": false, "isLValue": false, "isPure": false, @@ -3298,7 +3550,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1676:10:3", + "src": "1773:10:3", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -3309,36 +3561,36 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1667:20:3", + "src": "1764:20:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 4426, - "id": 4467, + "functionReturnParameters": 4427, + "id": 4476, "nodeType": "Return", - "src": "1660:27:3" + "src": "1757:27:3" } ] }, "documentation": null, - "id": 4469, + "id": 4478, "implemented": true, "kind": "function", "modifiers": [], "name": "withdrawDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 4423, + "id": 4424, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4422, + "id": 4423, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 4469, + "scope": 4478, "src": "1409:11:3", "stateVariable": false, "storageLocation": "default", @@ -3347,7 +3599,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4421, + "id": 4422, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1409:4:3", @@ -3363,15 +3615,15 @@ "src": "1408:13:3" }, "returnParameters": { - "id": 4426, + "id": 4427, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4425, + "id": 4426, "name": "", "nodeType": "VariableDeclaration", - "scope": 4469, + "scope": 4478, "src": "1440:4:3", "stateVariable": false, "storageLocation": "default", @@ -3380,7 +3632,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4424, + "id": 4425, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1440:4:3", @@ -3395,26 +3647,26 @@ ], "src": "1439:6:3" }, - "scope": 4470, - "src": "1384:310:3", + "scope": 4479, + "src": "1384:407:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 4471, - "src": "87:1609:3" + "scope": 4480, + "src": "87:1706:3" } ], - "src": "0:1697:3" + "src": "0:1794:3" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.507Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.379Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/SyscoinERC20.json b/build/contracts/SyscoinERC20.json index 77dea50..aa71d0f 100644 --- a/build/contracts/SyscoinERC20.json +++ b/build/contracts/SyscoinERC20.json @@ -339,22 +339,22 @@ "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"assign\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20.sol\":\"SyscoinERC20\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20.sol\":{\"keccak256\":\"0xaf23b3fe964e66b1b1a6bbe6315453bc507143408ef16eb427f7d0227d8eabdc\",\"urls\":[\"bzz-raw://23e75021a647c614b43b6c48bd057a539d6089630c7ce3b5becc425b1efb3733\",\"dweb:/ipfs/Qmdt1xhFNS2MtTGCuXCxt4pdC65CyxA9j5EmFivH9zx6jf\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x65a4078c03875c25413a068ce9cfdd7e68a90f8786612d1189c89341e6e3b802\",\"urls\":[\"bzz-raw://45c0d95495b944fbb1aa09d900b0ab530903a432125ab8fddfa05064a7988991\",\"dweb:/ipfs/Qma2VeknkKA1THeubGzshWFk44BktXkXP1UKp9Un2uDSsu\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol\":{\"keccak256\":\"0x4a3a810b7ebe742e897e1fd428b3eeed2196d3acea58eaf9c566ed10d545d2ed\",\"urls\":[\"bzz-raw://28d03f328e19e4099d5013de0649afaeaabac1a614e130767ab1cb4aca9775b6\",\"dweb:/ipfs/Qmb9iW7yNuYehB2NfhRMs9TakqbLVQhBhmGMkaDZ5g1Eb4\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", "bytecode": "0x60806040523480156200001157600080fd5b5060405162000de238038062000de2833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b50604052602090810151855190935085925084918491620001c09160039190860190620001f7565b508151620001d6906004906020850190620001f7565b506005805460ff191660ff92909216919091179055506200029c9350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023a57805160ff19168380011785556200026a565b828001600101855582156200026a579182015b828111156200026a5782518255916020019190600101906200024d565b50620002789291506200027c565b5090565b6200029991905b8082111562000278576000815560010162000283565b90565b610b3680620002ac6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461021057806395d89b4114610236578063a457c2d71461023e578063a9059cbb1461026a578063be76048814610296578063dd62ed3e146102c4576100b4565b806306fdde03146100b9578063095ea7b31461013657806318160ddd1461017657806323b872dd14610190578063313ce567146101c657806339509351146101e4575b600080fd5b6100c16102f2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fb5781810151838201526020016100e3565b50505050905090810190601f1680156101285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101626004803603604081101561014c57600080fd5b506001600160a01b038135169060200135610388565b604080519115158252519081900360200190f35b61017e6103a5565b60408051918252519081900360200190f35b610162600480360360608110156101a657600080fd5b506001600160a01b038135811691602081013590911690604001356103ab565b6101ce610438565b6040805160ff9092168252519081900360200190f35b610162600480360360408110156101fa57600080fd5b506001600160a01b038135169060200135610441565b61017e6004803603602081101561022657600080fd5b50356001600160a01b0316610495565b6100c16104b0565b6101626004803603604081101561025457600080fd5b506001600160a01b038135169060200135610511565b6101626004803603604081101561028057600080fd5b506001600160a01b03813516906020013561057f565b6102c2600480360360408110156102ac57600080fd5b506001600160a01b038135169060200135610593565b005b61017e600480360360408110156102da57600080fd5b506001600160a01b03813581169160200135166105a1565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561037e5780601f106103535761010080835404028352916020019161037e565b820191906000526020600020905b81548152906001019060200180831161036157829003601f168201915b5050505050905090565b600061039c6103956105cc565b84846105d0565b50600192915050565b60025490565b60006103b88484846106bc565b61042e846103c46105cc565b61042985604051806060016040528060288152602001610a6c602891396001600160a01b038a166000908152600160205260408120906104026105cc565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61081816565b6105d0565b5060019392505050565b60055460ff1690565b600061039c61044e6105cc565b84610429856001600061045f6105cc565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6108af16565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561037e5780601f106103535761010080835404028352916020019161037e565b600061039c61051e6105cc565b8461042985604051806060016040528060258152602001610add60259139600160006105486105cc565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61081816565b600061039c61058c6105cc565b84846106bc565b61059d8282610910565b5050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166106155760405162461bcd60e51b8152600401808060200182810382526024815260200180610ab96024913960400191505060405180910390fd5b6001600160a01b03821661065a5760405162461bcd60e51b8152600401808060200182810382526022815260200180610a246022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166107015760405162461bcd60e51b8152600401808060200182810382526025815260200180610a946025913960400191505060405180910390fd5b6001600160a01b0382166107465760405162461bcd60e51b8152600401808060200182810382526023815260200180610a016023913960400191505060405180910390fd5b61078981604051806060016040528060268152602001610a46602691396001600160a01b038616600090815260208190526040902054919063ffffffff61081816565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107be908263ffffffff6108af16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156108a75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561086c578181015183820152602001610854565b50505050905090810190601f1680156108995780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610909576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b03821661096b576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b60025461097e908263ffffffff6108af16565b6002556001600160a01b0382166000908152602081905260409020546109aa908263ffffffff6108af16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158208a2165fe37e818674743ce675ef77338f261c6910ad4c253c82840e41515617364736f6c634300050d0032", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461021057806395d89b4114610236578063a457c2d71461023e578063a9059cbb1461026a578063be76048814610296578063dd62ed3e146102c4576100b4565b806306fdde03146100b9578063095ea7b31461013657806318160ddd1461017657806323b872dd14610190578063313ce567146101c657806339509351146101e4575b600080fd5b6100c16102f2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fb5781810151838201526020016100e3565b50505050905090810190601f1680156101285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101626004803603604081101561014c57600080fd5b506001600160a01b038135169060200135610388565b604080519115158252519081900360200190f35b61017e6103a5565b60408051918252519081900360200190f35b610162600480360360608110156101a657600080fd5b506001600160a01b038135811691602081013590911690604001356103ab565b6101ce610438565b6040805160ff9092168252519081900360200190f35b610162600480360360408110156101fa57600080fd5b506001600160a01b038135169060200135610441565b61017e6004803603602081101561022657600080fd5b50356001600160a01b0316610495565b6100c16104b0565b6101626004803603604081101561025457600080fd5b506001600160a01b038135169060200135610511565b6101626004803603604081101561028057600080fd5b506001600160a01b03813516906020013561057f565b6102c2600480360360408110156102ac57600080fd5b506001600160a01b038135169060200135610593565b005b61017e600480360360408110156102da57600080fd5b506001600160a01b03813581169160200135166105a1565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561037e5780601f106103535761010080835404028352916020019161037e565b820191906000526020600020905b81548152906001019060200180831161036157829003601f168201915b5050505050905090565b600061039c6103956105cc565b84846105d0565b50600192915050565b60025490565b60006103b88484846106bc565b61042e846103c46105cc565b61042985604051806060016040528060288152602001610a6c602891396001600160a01b038a166000908152600160205260408120906104026105cc565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61081816565b6105d0565b5060019392505050565b60055460ff1690565b600061039c61044e6105cc565b84610429856001600061045f6105cc565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6108af16565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561037e5780601f106103535761010080835404028352916020019161037e565b600061039c61051e6105cc565b8461042985604051806060016040528060258152602001610add60259139600160006105486105cc565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61081816565b600061039c61058c6105cc565b84846106bc565b61059d8282610910565b5050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166106155760405162461bcd60e51b8152600401808060200182810382526024815260200180610ab96024913960400191505060405180910390fd5b6001600160a01b03821661065a5760405162461bcd60e51b8152600401808060200182810382526022815260200180610a246022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166107015760405162461bcd60e51b8152600401808060200182810382526025815260200180610a946025913960400191505060405180910390fd5b6001600160a01b0382166107465760405162461bcd60e51b8152600401808060200182810382526023815260200180610a016023913960400191505060405180910390fd5b61078981604051806060016040528060268152602001610a46602691396001600160a01b038616600090815260208190526040902054919063ffffffff61081816565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107be908263ffffffff6108af16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156108a75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561086c578181015183820152602001610854565b50505050905090810190601f1680156108995780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610909576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b03821661096b576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b60025461097e908263ffffffff6108af16565b6002556001600160a01b0382166000908152602081905260409020546109aa908263ffffffff6108af16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158208a2165fe37e818674743ce675ef77338f261c6910ad4c253c82840e41515617364736f6c634300050d0032", - "sourceMap": "163:294:12:-;;;215:147;8:9:-1;5:2;;;30:1;27;20:12;5:2;215:147:12;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;215:147:12;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;215:147:12;;420:4:-1;411:14;;;;215:147:12;;;;;411:14:-1;215:147:12;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;215:147:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;215:147:12;;420:4:-1;411:14;;;;215:147:12;;;;;411:14:-1;215:147:12;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;215:147:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;215:147:12;;;;;;;504:12:19;;215:147:12;;-1:-1:-1;329:4:12;;-1:-1:-1;335:6:12;;215:147;;504:12:19;;:5;;:12;;;;;:::i;:::-;-1:-1:-1;526:16:19;;;;:7;;:16;;;;;:::i;:::-;-1:-1:-1;552:9:19;:20;;-1:-1:-1;;552:20:19;;;;;;;;;;;;-1:-1:-1;163:294:12;;-1:-1:-1;;;;163:294:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;163:294:12;;;-1:-1:-1;163:294:12;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "163:294:12:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;163:294:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;644:81:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:149:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2500:149:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;3107:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3107:300:18;;;;;;;;;;;;;;;;;:::i;1472:81:19:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3802:207:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3802:207:18;;;;;;;;:::i;1706:108::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1706:108:18;-1:-1:-1;;;;;1706:108:18;;:::i;838:85:19:-;;;:::i;4496:258:18:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4496:258:18;;;;;;;;:::i;2017:155::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2017:155:18;;;;;;;;:::i;368:87:12:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;368:87:12;;;;;;;;:::i;:::-;;2230:132:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2230:132:18;;;;;;;;;;:::i;644:81:19:-;713:5;706:12;;;;;;;;-1:-1:-1;;706:12:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;681:13;;706:12;;713:5;;706:12;;713:5;706:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81;:::o;2500:149:18:-;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;-1:-1:-1;2638:4:18;2500:149;;;;:::o;1559:89::-;1629:12;;1559:89;:::o;3107:300::-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3289:19:18;;;;;;:11;:19;;;;;;3309:12;:10;:12::i;:::-;-1:-1:-1;;;;;3289:33:18;;;;;;;;;;;;-1:-1:-1;3289:33:18;;;:89;;:37;:89;:::i;:::-;3258:8;:121::i;:::-;-1:-1:-1;3396:4:18;3107:300;;;;;:::o;1472:81:19:-;1537:9;;;;1472:81;:::o;3802:207:18:-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;-1:-1:-1;;;;;3930:25:18;;;;;;;;;;;;;;;;;-1:-1:-1;3930:25:18;;;:34;;;;;;;;;;;:50;:38;:50;:::i;1706:108::-;-1:-1:-1;;;;;1789:18:18;1763:7;1789:18;;;;;;;;;;;;1706:108::o;838:85:19:-;909:7;902:14;;;;;;;;-1:-1:-1;;902:14:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;877:13;;902:14;;909:7;;902:14;;909:7;902:14;;;;;;;;;;;;;;;;;;;;;;;;4496:258:18;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;-1:-1:-1;;;;;4629:25:18;;;;;;;;;;;;;;;;;-1:-1:-1;4629:25:18;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;368:87:12:-;430:18;436:3;441:6;430:5;:18::i;:::-;368:87;;:::o;2230:132:18:-;-1:-1:-1;;;;;2328:18:18;;;2302:7;2328:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2230:132::o;788:96:16:-;867:10;788:96;:::o;7351:332:18:-;-1:-1:-1;;;;;7444:19:18;;7436:68;;;;-1:-1:-1;;;7436:68:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7522:21:18;;7514:68;;;;-1:-1:-1;;;7514:68:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7593:18:18;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7644:32;;;;;;;;;;;;;;;;;7351:332;;;:::o;5228:464::-;-1:-1:-1;;;;;5325:20:18;;5317:70;;;;-1:-1:-1;;;5317:70:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5405:23:18;;5397:71;;;;-1:-1:-1;;;5397:71:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5499:17:18;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;5479:17:18;;;:9;:17;;;;;;;;;;;:91;;;;5603:20;;;;;;;:32;;5628:6;5603:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;5580:20:18;;;:9;:20;;;;;;;;;;;;:55;;;;5650:35;;;;;;;5580:20;;5650:35;;;;;;;;;;;;;5228:464;;;:::o;1732:187:17:-;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:17;;;1732:187::o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;834:176;-1:-1:-1;;;834:176:17:o;5962:302:18:-;-1:-1:-1;;;;;6037:21:18;;6029:65;;;;;-1:-1:-1;;;6029:65:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:12;;:24;;6137:6;6120:24;:16;:24;:::i;:::-;6105:12;:39;-1:-1:-1;;;;;6175:18:18;;:9;:18;;;;;;;;;;;:30;;6198:6;6175:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;6154:18:18;;:9;:18;;;;;;;;;;;:51;;;;6220:37;;;;;;;6154:18;;:9;;6220:37;;;;;;;;;;5962:302;;:::o", + "sourceMap": "163:294:13:-;;;215:147;8:9:-1;5:2;;;30:1;27;20:12;5:2;215:147:13;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;215:147:13;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;215:147:13;;420:4:-1;411:14;;;;215:147:13;;;;;411:14:-1;215:147:13;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;215:147:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;215:147:13;;420:4:-1;411:14;;;;215:147:13;;;;;411:14:-1;215:147:13;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;215:147:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;215:147:13;;;;;;;504:12:20;;215:147:13;;-1:-1:-1;329:4:13;;-1:-1:-1;335:6:13;;215:147;;504:12:20;;:5;;:12;;;;;:::i;:::-;-1:-1:-1;526:16:20;;;;:7;;:16;;;;;:::i;:::-;-1:-1:-1;552:9:20;:20;;-1:-1:-1;;552:20:20;;;;;;;;;;;;-1:-1:-1;163:294:13;;-1:-1:-1;;;;163:294:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;163:294:13;;;-1:-1:-1;163:294:13;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "163:294:13:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;163:294:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;644:81:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:149:19;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2500:149:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;3107:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3107:300:19;;;;;;;;;;;;;;;;;:::i;1472:81:20:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3802:207:19;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3802:207:19;;;;;;;;:::i;1706:108::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1706:108:19;-1:-1:-1;;;;;1706:108:19;;:::i;838:85:20:-;;;:::i;4496:258:19:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4496:258:19;;;;;;;;:::i;2017:155::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2017:155:19;;;;;;;;:::i;368:87:13:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;368:87:13;;;;;;;;:::i;:::-;;2230:132:19;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2230:132:19;;;;;;;;;;:::i;644:81:20:-;713:5;706:12;;;;;;;;-1:-1:-1;;706:12:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;681:13;;706:12;;713:5;;706:12;;713:5;706:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81;:::o;2500:149:19:-;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;-1:-1:-1;2638:4:19;2500:149;;;;:::o;1559:89::-;1629:12;;1559:89;:::o;3107:300::-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3289:19:19;;;;;;:11;:19;;;;;;3309:12;:10;:12::i;:::-;-1:-1:-1;;;;;3289:33:19;;;;;;;;;;;;-1:-1:-1;3289:33:19;;;:89;;:37;:89;:::i;:::-;3258:8;:121::i;:::-;-1:-1:-1;3396:4:19;3107:300;;;;;:::o;1472:81:20:-;1537:9;;;;1472:81;:::o;3802:207:19:-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;-1:-1:-1;;;;;3930:25:19;;;;;;;;;;;;;;;;;-1:-1:-1;3930:25:19;;;:34;;;;;;;;;;;:50;:38;:50;:::i;1706:108::-;-1:-1:-1;;;;;1789:18:19;1763:7;1789:18;;;;;;;;;;;;1706:108::o;838:85:20:-;909:7;902:14;;;;;;;;-1:-1:-1;;902:14:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;877:13;;902:14;;909:7;;902:14;;909:7;902:14;;;;;;;;;;;;;;;;;;;;;;;;4496:258:19;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;-1:-1:-1;;;;;4629:25:19;;;;;;;;;;;;;;;;;-1:-1:-1;4629:25:19;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;368:87:13:-;430:18;436:3;441:6;430:5;:18::i;:::-;368:87;;:::o;2230:132:19:-;-1:-1:-1;;;;;2328:18:19;;;2302:7;2328:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2230:132::o;788:96:17:-;867:10;788:96;:::o;7351:332:19:-;-1:-1:-1;;;;;7444:19:19;;7436:68;;;;-1:-1:-1;;;7436:68:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7522:21:19;;7514:68;;;;-1:-1:-1;;;7514:68:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7593:18:19;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7644:32;;;;;;;;;;;;;;;;;7351:332;;;:::o;5228:464::-;-1:-1:-1;;;;;5325:20:19;;5317:70;;;;-1:-1:-1;;;5317:70:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5405:23:19;;5397:71;;;;-1:-1:-1;;;5397:71:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5499:17:19;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;5479:17:19;;;:9;:17;;;;;;;;;;;:91;;;;5603:20;;;;;;;:32;;5628:6;5603:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;5580:20:19;;;:9;:20;;;;;;;;;;;;:55;;;;5650:35;;;;;;;5580:20;;5650:35;;;;;;;;;;;;;5228:464;;;:::o;1732:187:18:-;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:18;;;1732:187::o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;834:176;-1:-1:-1;;;834:176:18:o;5962:302:19:-;-1:-1:-1;;;;;6037:21:19;;6029:65;;;;;-1:-1:-1;;;6029:65:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:12;;:24;;6137:6;6120:24;:16;:24;:::i;:::-;6105:12;:39;-1:-1:-1;;;;;6175:18:19;;:9;:18;;;;;;;;;;;:30;;6198:6;6175:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;6154:18:19;;:9;:18;;;;;;;;;;;:51;;;;6220:37;;;;;;;6154:18;;:9;;6220:37;;;;;;;;;;5962:302;;:::o", "source": "pragma solidity ^0.5.13;\n\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol\";\n\ncontract SyscoinERC20 is ERC20, ERC20Detailed {\n constructor(\n string memory name,\n string memory symbol,\n uint8 decimals\n ) ERC20Detailed(name, symbol, decimals) public {}\n\n function assign(address _to, uint256 _value) public {\n _mint(_to, _value);\n }\n}\n", "sourcePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20.sol", "ast": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20.sol", "exportedSymbols": { "SyscoinERC20": [ - 7827 + 8349 ] }, - "id": 7828, + "id": 8350, "nodeType": "SourceUnit", "nodes": [ { - "id": 7792, + "id": 8314, "literals": [ "solidity", "^", @@ -362,27 +362,27 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:12" + "src": "0:24:13" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", - "id": 7793, + "id": 8315, "nodeType": "ImportDirective", - "scope": 7828, - "sourceUnit": 9342, - "src": "26:63:12", + "scope": 8350, + "sourceUnit": 9961, + "src": "26:63:13", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol", - "id": 7794, + "id": 8316, "nodeType": "ImportDirective", - "scope": 7828, - "sourceUnit": 9400, - "src": "90:71:12", + "scope": 8350, + "sourceUnit": 10019, + "src": "90:71:13", "symbolAliases": [], "unitAlias": "" }, @@ -392,68 +392,68 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 7795, + "id": 8317, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9341, - "src": "188:5:12", + "referencedDeclaration": 9960, + "src": "188:5:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9341", + "typeIdentifier": "t_contract$_ERC20_$9960", "typeString": "contract ERC20" } }, - "id": 7796, + "id": 8318, "nodeType": "InheritanceSpecifier", - "src": "188:5:12" + "src": "188:5:13" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 7797, + "id": 8319, "name": "ERC20Detailed", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9399, - "src": "195:13:12", + "referencedDeclaration": 10018, + "src": "195:13:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Detailed_$9399", + "typeIdentifier": "t_contract$_ERC20Detailed_$10018", "typeString": "contract ERC20Detailed" } }, - "id": 7798, + "id": 8320, "nodeType": "InheritanceSpecifier", - "src": "195:13:12" + "src": "195:13:13" } ], "contractDependencies": [ - 8749, - 9341, - 9399, - 9468 + 9368, + 9960, + 10018, + 10087 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 7827, + "id": 8349, "linearizedBaseContracts": [ - 7827, - 9399, - 9341, - 9468, - 8749 + 8349, + 10018, + 9960, + 10087, + 9368 ], "name": "SyscoinERC20", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 7812, + "id": 8334, "nodeType": "Block", - "src": "360:2:12", + "src": "360:2:13", "statements": [] }, "documentation": null, - "id": 7813, + "id": 8335, "implemented": true, "kind": "constructor", "modifiers": [ @@ -461,12 +461,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7807, + "id": 8329, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7800, - "src": "329:4:12", + "referencedDeclaration": 8322, + "src": "329:4:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -474,12 +474,12 @@ }, { "argumentTypes": null, - "id": 7808, + "id": 8330, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7802, - "src": "335:6:12", + "referencedDeclaration": 8324, + "src": "335:6:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -487,49 +487,49 @@ }, { "argumentTypes": null, - "id": 7809, + "id": 8331, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "343:8:12", + "referencedDeclaration": 8326, + "src": "343:8:13", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], - "id": 7810, + "id": 8332, "modifierName": { "argumentTypes": null, - "id": 7806, + "id": 8328, "name": "ERC20Detailed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9399, - "src": "315:13:12", + "referencedDeclaration": 10018, + "src": "315:13:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20Detailed_$9399_$", + "typeIdentifier": "t_type$_t_contract$_ERC20Detailed_$10018_$", "typeString": "type(contract ERC20Detailed)" } }, "nodeType": "ModifierInvocation", - "src": "315:37:12" + "src": "315:37:13" } ], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 7805, + "id": 8327, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7800, + "id": 8322, "name": "name", "nodeType": "VariableDeclaration", - "scope": 7813, - "src": "236:18:12", + "scope": 8335, + "src": "236:18:13", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -537,10 +537,10 @@ "typeString": "string" }, "typeName": { - "id": 7799, + "id": 8321, "name": "string", "nodeType": "ElementaryTypeName", - "src": "236:6:12", + "src": "236:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -551,11 +551,11 @@ }, { "constant": false, - "id": 7802, + "id": 8324, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 7813, - "src": "264:20:12", + "scope": 8335, + "src": "264:20:13", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -563,10 +563,10 @@ "typeString": "string" }, "typeName": { - "id": 7801, + "id": 8323, "name": "string", "nodeType": "ElementaryTypeName", - "src": "264:6:12", + "src": "264:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -577,11 +577,11 @@ }, { "constant": false, - "id": 7804, + "id": 8326, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 7813, - "src": "294:14:12", + "scope": 8335, + "src": "294:14:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -589,10 +589,10 @@ "typeString": "uint8" }, "typeName": { - "id": 7803, + "id": 8325, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "294:5:12", + "src": "294:5:13", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -602,25 +602,25 @@ "visibility": "internal" } ], - "src": "226:88:12" + "src": "226:88:13" }, "returnParameters": { - "id": 7811, + "id": 8333, "nodeType": "ParameterList", "parameters": [], - "src": "360:0:12" + "src": "360:0:13" }, - "scope": 7827, - "src": "215:147:12", + "scope": 8349, + "src": "215:147:13", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 7825, + "id": 8347, "nodeType": "Block", - "src": "420:35:12", + "src": "420:35:13", "statements": [ { "expression": { @@ -628,12 +628,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7821, + "id": 8343, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7815, - "src": "436:3:12", + "referencedDeclaration": 8337, + "src": "436:3:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -641,12 +641,12 @@ }, { "argumentTypes": null, - "id": 7822, + "id": 8344, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7817, - "src": "441:6:12", + "referencedDeclaration": 8339, + "src": "441:6:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -664,18 +664,18 @@ "typeString": "uint256" } ], - "id": 7820, + "id": 8342, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9225, - "src": "430:5:12", + "referencedDeclaration": 9844, + "src": "430:5:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 7823, + "id": 8345, "isConstant": false, "isLValue": false, "isPure": false, @@ -683,36 +683,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "430:18:12", + "src": "430:18:13", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7824, + "id": 8346, "nodeType": "ExpressionStatement", - "src": "430:18:12" + "src": "430:18:13" } ] }, "documentation": null, - "id": 7826, + "id": 8348, "implemented": true, "kind": "function", "modifiers": [], "name": "assign", "nodeType": "FunctionDefinition", "parameters": { - "id": 7818, + "id": 8340, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7815, + "id": 8337, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 7826, - "src": "384:11:12", + "scope": 8348, + "src": "384:11:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -720,10 +720,10 @@ "typeString": "address" }, "typeName": { - "id": 7814, + "id": 8336, "name": "address", "nodeType": "ElementaryTypeName", - "src": "384:7:12", + "src": "384:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -735,11 +735,11 @@ }, { "constant": false, - "id": 7817, + "id": 8339, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 7826, - "src": "397:14:12", + "scope": 8348, + "src": "397:14:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -747,10 +747,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7816, + "id": 8338, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "397:7:12", + "src": "397:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -760,39 +760,39 @@ "visibility": "internal" } ], - "src": "383:29:12" + "src": "383:29:13" }, "returnParameters": { - "id": 7819, + "id": 8341, "nodeType": "ParameterList", "parameters": [], - "src": "420:0:12" + "src": "420:0:13" }, - "scope": 7827, - "src": "368:87:12", + "scope": 8349, + "src": "368:87:13", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 7828, - "src": "163:294:12" + "scope": 8350, + "src": "163:294:13" } ], - "src": "0:458:12" + "src": "0:458:13" }, "legacyAST": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20.sol", "exportedSymbols": { "SyscoinERC20": [ - 7827 + 8349 ] }, - "id": 7828, + "id": 8350, "nodeType": "SourceUnit", "nodes": [ { - "id": 7792, + "id": 8314, "literals": [ "solidity", "^", @@ -800,27 +800,27 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:12" + "src": "0:24:13" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", - "id": 7793, + "id": 8315, "nodeType": "ImportDirective", - "scope": 7828, - "sourceUnit": 9342, - "src": "26:63:12", + "scope": 8350, + "sourceUnit": 9961, + "src": "26:63:13", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol", - "id": 7794, + "id": 8316, "nodeType": "ImportDirective", - "scope": 7828, - "sourceUnit": 9400, - "src": "90:71:12", + "scope": 8350, + "sourceUnit": 10019, + "src": "90:71:13", "symbolAliases": [], "unitAlias": "" }, @@ -830,68 +830,68 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 7795, + "id": 8317, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9341, - "src": "188:5:12", + "referencedDeclaration": 9960, + "src": "188:5:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9341", + "typeIdentifier": "t_contract$_ERC20_$9960", "typeString": "contract ERC20" } }, - "id": 7796, + "id": 8318, "nodeType": "InheritanceSpecifier", - "src": "188:5:12" + "src": "188:5:13" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 7797, + "id": 8319, "name": "ERC20Detailed", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9399, - "src": "195:13:12", + "referencedDeclaration": 10018, + "src": "195:13:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Detailed_$9399", + "typeIdentifier": "t_contract$_ERC20Detailed_$10018", "typeString": "contract ERC20Detailed" } }, - "id": 7798, + "id": 8320, "nodeType": "InheritanceSpecifier", - "src": "195:13:12" + "src": "195:13:13" } ], "contractDependencies": [ - 8749, - 9341, - 9399, - 9468 + 9368, + 9960, + 10018, + 10087 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 7827, + "id": 8349, "linearizedBaseContracts": [ - 7827, - 9399, - 9341, - 9468, - 8749 + 8349, + 10018, + 9960, + 10087, + 9368 ], "name": "SyscoinERC20", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 7812, + "id": 8334, "nodeType": "Block", - "src": "360:2:12", + "src": "360:2:13", "statements": [] }, "documentation": null, - "id": 7813, + "id": 8335, "implemented": true, "kind": "constructor", "modifiers": [ @@ -899,12 +899,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7807, + "id": 8329, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7800, - "src": "329:4:12", + "referencedDeclaration": 8322, + "src": "329:4:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -912,12 +912,12 @@ }, { "argumentTypes": null, - "id": 7808, + "id": 8330, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7802, - "src": "335:6:12", + "referencedDeclaration": 8324, + "src": "335:6:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -925,49 +925,49 @@ }, { "argumentTypes": null, - "id": 7809, + "id": 8331, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "343:8:12", + "referencedDeclaration": 8326, + "src": "343:8:13", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], - "id": 7810, + "id": 8332, "modifierName": { "argumentTypes": null, - "id": 7806, + "id": 8328, "name": "ERC20Detailed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9399, - "src": "315:13:12", + "referencedDeclaration": 10018, + "src": "315:13:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20Detailed_$9399_$", + "typeIdentifier": "t_type$_t_contract$_ERC20Detailed_$10018_$", "typeString": "type(contract ERC20Detailed)" } }, "nodeType": "ModifierInvocation", - "src": "315:37:12" + "src": "315:37:13" } ], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 7805, + "id": 8327, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7800, + "id": 8322, "name": "name", "nodeType": "VariableDeclaration", - "scope": 7813, - "src": "236:18:12", + "scope": 8335, + "src": "236:18:13", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -975,10 +975,10 @@ "typeString": "string" }, "typeName": { - "id": 7799, + "id": 8321, "name": "string", "nodeType": "ElementaryTypeName", - "src": "236:6:12", + "src": "236:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -989,11 +989,11 @@ }, { "constant": false, - "id": 7802, + "id": 8324, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 7813, - "src": "264:20:12", + "scope": 8335, + "src": "264:20:13", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1001,10 +1001,10 @@ "typeString": "string" }, "typeName": { - "id": 7801, + "id": 8323, "name": "string", "nodeType": "ElementaryTypeName", - "src": "264:6:12", + "src": "264:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1015,11 +1015,11 @@ }, { "constant": false, - "id": 7804, + "id": 8326, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 7813, - "src": "294:14:12", + "scope": 8335, + "src": "294:14:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1027,10 +1027,10 @@ "typeString": "uint8" }, "typeName": { - "id": 7803, + "id": 8325, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "294:5:12", + "src": "294:5:13", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1040,25 +1040,25 @@ "visibility": "internal" } ], - "src": "226:88:12" + "src": "226:88:13" }, "returnParameters": { - "id": 7811, + "id": 8333, "nodeType": "ParameterList", "parameters": [], - "src": "360:0:12" + "src": "360:0:13" }, - "scope": 7827, - "src": "215:147:12", + "scope": 8349, + "src": "215:147:13", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 7825, + "id": 8347, "nodeType": "Block", - "src": "420:35:12", + "src": "420:35:13", "statements": [ { "expression": { @@ -1066,12 +1066,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7821, + "id": 8343, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7815, - "src": "436:3:12", + "referencedDeclaration": 8337, + "src": "436:3:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1079,12 +1079,12 @@ }, { "argumentTypes": null, - "id": 7822, + "id": 8344, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7817, - "src": "441:6:12", + "referencedDeclaration": 8339, + "src": "441:6:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1102,18 +1102,18 @@ "typeString": "uint256" } ], - "id": 7820, + "id": 8342, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9225, - "src": "430:5:12", + "referencedDeclaration": 9844, + "src": "430:5:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 7823, + "id": 8345, "isConstant": false, "isLValue": false, "isPure": false, @@ -1121,36 +1121,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "430:18:12", + "src": "430:18:13", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7824, + "id": 8346, "nodeType": "ExpressionStatement", - "src": "430:18:12" + "src": "430:18:13" } ] }, "documentation": null, - "id": 7826, + "id": 8348, "implemented": true, "kind": "function", "modifiers": [], "name": "assign", "nodeType": "FunctionDefinition", "parameters": { - "id": 7818, + "id": 8340, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7815, + "id": 8337, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 7826, - "src": "384:11:12", + "scope": 8348, + "src": "384:11:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1158,10 +1158,10 @@ "typeString": "address" }, "typeName": { - "id": 7814, + "id": 8336, "name": "address", "nodeType": "ElementaryTypeName", - "src": "384:7:12", + "src": "384:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1173,11 +1173,11 @@ }, { "constant": false, - "id": 7817, + "id": 8339, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 7826, - "src": "397:14:12", + "scope": 8348, + "src": "397:14:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1185,10 +1185,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7816, + "id": 8338, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "397:7:12", + "src": "397:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1198,94 +1198,34 @@ "visibility": "internal" } ], - "src": "383:29:12" + "src": "383:29:13" }, "returnParameters": { - "id": 7819, + "id": 8341, "nodeType": "ParameterList", "parameters": [], - "src": "420:0:12" + "src": "420:0:13" }, - "scope": 7827, - "src": "368:87:12", + "scope": 8349, + "src": "368:87:13", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 7828, - "src": "163:294:12" + "scope": 8350, + "src": "163:294:13" } ], - "src": "0:458:12" + "src": "0:458:13" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, - "networks": { - "4": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" - } - }, - "links": {}, - "address": "0xe3d9cCBaEDAbd8fD4401AAb7752F6f224A7EF1C8", - "transactionHash": "0x374e07d94fa0e9814fdc006073f136fe9de645f79df6a2530cf5e646c015db03" - } - }, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.567Z", + "networks": {}, + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.451Z", "devdoc": { "methods": { "allowance(address,address)": { diff --git a/build/contracts/SyscoinERC20I.json b/build/contracts/SyscoinERC20I.json index 533bcab..a040f85 100644 --- a/build/contracts/SyscoinERC20I.json +++ b/build/contracts/SyscoinERC20I.json @@ -212,25 +212,25 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. * This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinERC20I.sol\":\"SyscoinERC20I\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinERC20I.sol\":{\"keccak256\":\"0xb66109f1bd667eb953e087e1cdbf5208c119c0bc247e7286ae8ee44786daf26c\",\"urls\":[\"bzz-raw://37be28368df7ad29d842fc089a92aee43e2cf849212d43655b38c4ce118dd82e\",\"dweb:/ipfs/QmYMD8BRZfjL7gWzEpPAWZSgVmsbosU187pvYPe9FHC8Q8\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. * This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinERC20I.sol\":\"SyscoinERC20I\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinERC20I.sol\":{\"keccak256\":\"0xafd5946659c56105bf9103bd3af17870fc3004c8646778d05fc5b3452e8d2cfc\",\"urls\":[\"bzz-raw://b2ca68aea59d4603b95005770d83d8c229b4cdb2db8c7a850b2a60cdbd3b70ec\",\"dweb:/ipfs/QmehmSbX6HgDd1How4vzCYcSoEAXxYovMpWBUGFMnEmmhM\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzz-raw://7d8ec81683520c06baeef3f7e06cd82bd6fd5fa611f26857f475f6c829540aff\",\"dweb:/ipfs/QmTDkFzKnrpiV1UKnSoiZAHPuguWzokrr4pFbSPvyaSo56\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0x70df50e240407aa50915ad14f61b1a901fa335b37de20955b99ed647be756af0\",\"urls\":[\"bzz-raw://9404711f3206610c08ea97fa52c7b6b4d2e9d536e96fc4b7210aa7e24f796c36\",\"dweb:/ipfs/QmZDzpVzjoap13SuPEq5pVCrmdjoKVZnTsQPLKXAbynTTW\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", - "source": "pragma solidity ^0.5.13;\n\nimport \"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\";\n\ncontract SyscoinERC20I is IERC20 {\n function decimals() external view returns (uint8);\n}\n", + "source": "pragma solidity ^0.5.13;\n\nimport \"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\";\ncontract SyscoinERC20I is IERC20 {\n function decimals() external view returns (uint8);\n}\n", "sourcePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinERC20I.sol", "ast": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinERC20I.sol", "exportedSymbols": { "SyscoinERC20I": [ - 7608 + 8109 ] }, - "id": 7609, + "id": 8110, "nodeType": "SourceUnit", "nodes": [ { - "id": 7599, + "id": 8099, "literals": [ "solidity", "^", @@ -238,16 +238,27 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:10" + "src": "0:24:11" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", - "id": 7600, + "id": 8100, "nodeType": "ImportDirective", - "scope": 7609, - "sourceUnit": 9469, - "src": "26:64:10", + "scope": 8110, + "sourceUnit": 10088, + "src": "26:64:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", + "id": 8101, + "nodeType": "ImportDirective", + "scope": 8110, + "sourceUnit": 10308, + "src": "91:67:11", "symbolAliases": [], "unitAlias": "" }, @@ -257,31 +268,31 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 7601, + "id": 8102, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9468, - "src": "118:6:10", + "referencedDeclaration": 10087, + "src": "185:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9468", + "typeIdentifier": "t_contract$_IERC20_$10087", "typeString": "contract IERC20" } }, - "id": 7602, + "id": 8103, "nodeType": "InheritanceSpecifier", - "src": "118:6:10" + "src": "185:6:11" } ], "contractDependencies": [ - 9468 + 10087 ], "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 7608, + "id": 8109, "linearizedBaseContracts": [ - 7608, - 9468 + 8109, + 10087 ], "name": "SyscoinERC20I", "nodeType": "ContractDefinition", @@ -289,29 +300,29 @@ { "body": null, "documentation": null, - "id": 7607, + "id": 8108, "implemented": false, "kind": "function", "modifiers": [], "name": "decimals", "nodeType": "FunctionDefinition", "parameters": { - "id": 7603, + "id": 8104, "nodeType": "ParameterList", "parameters": [], - "src": "148:2:10" + "src": "215:2:11" }, "returnParameters": { - "id": 7606, + "id": 8107, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7605, + "id": 8106, "name": "", "nodeType": "VariableDeclaration", - "scope": 7607, - "src": "174:5:10", + "scope": 8108, + "src": "241:5:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -319,10 +330,10 @@ "typeString": "uint8" }, "typeName": { - "id": 7604, + "id": 8105, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "174:5:10", + "src": "241:5:11", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -332,33 +343,33 @@ "visibility": "internal" } ], - "src": "173:7:10" + "src": "240:7:11" }, - "scope": 7608, - "src": "131:50:10", + "scope": 8109, + "src": "198:50:11", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 7609, - "src": "92:91:10" + "scope": 8110, + "src": "159:91:11" } ], - "src": "0:184:10" + "src": "0:251:11" }, "legacyAST": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinERC20I.sol", "exportedSymbols": { "SyscoinERC20I": [ - 7608 + 8109 ] }, - "id": 7609, + "id": 8110, "nodeType": "SourceUnit", "nodes": [ { - "id": 7599, + "id": 8099, "literals": [ "solidity", "^", @@ -366,16 +377,27 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:10" + "src": "0:24:11" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", - "id": 7600, + "id": 8100, + "nodeType": "ImportDirective", + "scope": 8110, + "sourceUnit": 10088, + "src": "26:64:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", + "id": 8101, "nodeType": "ImportDirective", - "scope": 7609, - "sourceUnit": 9469, - "src": "26:64:10", + "scope": 8110, + "sourceUnit": 10308, + "src": "91:67:11", "symbolAliases": [], "unitAlias": "" }, @@ -385,31 +407,31 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 7601, + "id": 8102, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9468, - "src": "118:6:10", + "referencedDeclaration": 10087, + "src": "185:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9468", + "typeIdentifier": "t_contract$_IERC20_$10087", "typeString": "contract IERC20" } }, - "id": 7602, + "id": 8103, "nodeType": "InheritanceSpecifier", - "src": "118:6:10" + "src": "185:6:11" } ], "contractDependencies": [ - 9468 + 10087 ], "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 7608, + "id": 8109, "linearizedBaseContracts": [ - 7608, - 9468 + 8109, + 10087 ], "name": "SyscoinERC20I", "nodeType": "ContractDefinition", @@ -417,29 +439,29 @@ { "body": null, "documentation": null, - "id": 7607, + "id": 8108, "implemented": false, "kind": "function", "modifiers": [], "name": "decimals", "nodeType": "FunctionDefinition", "parameters": { - "id": 7603, + "id": 8104, "nodeType": "ParameterList", "parameters": [], - "src": "148:2:10" + "src": "215:2:11" }, "returnParameters": { - "id": 7606, + "id": 8107, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7605, + "id": 8106, "name": "", "nodeType": "VariableDeclaration", - "scope": 7607, - "src": "174:5:10", + "scope": 8108, + "src": "241:5:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -447,10 +469,10 @@ "typeString": "uint8" }, "typeName": { - "id": 7604, + "id": 8105, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "174:5:10", + "src": "241:5:11", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -460,28 +482,28 @@ "visibility": "internal" } ], - "src": "173:7:10" + "src": "240:7:11" }, - "scope": 7608, - "src": "131:50:10", + "scope": 8109, + "src": "198:50:11", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 7609, - "src": "92:91:10" + "scope": 8110, + "src": "159:91:11" } ], - "src": "0:184:10" + "src": "0:251:11" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.564Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.448Z", "devdoc": { "methods": { "allowance(address,address)": { diff --git a/build/contracts/SyscoinERC20Manager.json b/build/contracts/SyscoinERC20Manager.json index acdf4e3..f2ac1ae 100644 --- a/build/contracts/SyscoinERC20Manager.json +++ b/build/contracts/SyscoinERC20Manager.json @@ -83,6 +83,25 @@ "name": "TokenFreeze", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint32", + "name": "assetGuid", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "erc20ContractAddress", + "type": "address" + } + ], + "name": "TokenRegistry", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -142,6 +161,32 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "name": "assetRegistry", + "outputs": [ + { + "internalType": "address", + "name": "erc20ContractAddress", + "type": "address" + }, + { + "internalType": "uint32", + "name": "height", + "type": "uint32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [], @@ -243,6 +288,36 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_txHash", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_assetGUID", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_height", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_erc20ContractAddress", + "type": "address" + } + ], + "name": "processAsset", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, { "constant": false, "inputs": [ @@ -381,25 +456,25 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"canceller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"CancelTransferFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"canceller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"CancelTransferRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"canceller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"CancelTransferSucceeded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"freezer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"TokenFreeze\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"receipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TokenUnfreeze\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"receipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TokenUnfreezeFee\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"assetBalances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"cancelTransferRequest\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"cancelTransferSuccess\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"precision\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"syscoinAddress\",\"type\":\"bytes\"}],\"name\":\"freezeBurnERC20\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"getBridgeTransfer\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenFreezerAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"_assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"enum SyscoinERC20Manager.BridgeTransferStatus\",\"name\":\"_status\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"enum SyscoinERC20Manager.Network\",\"name\":\"_network\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_trustedRelayerContract\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"},{\"internalType\":\"address payable\",\"name\":\"challengerAddress\",\"type\":\"address\"}],\"name\":\"processCancelTransferFail\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"txHash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"superblockSubmitterAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"precision\",\"type\":\"uint8\"}],\"name\":\"processTransaction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"trustedRelayerContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"txHash\",\"type\":\"uint256\"}],\"name\":\"wasSyscoinTxProcessed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20Manager.sol\":\"SyscoinERC20Manager\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol\":{\"keccak256\":\"0x8ebfea53afdf70b6c363b6684a68394e8cbce3a856b7e3239f64cf7f3349a27e\",\"urls\":[\"bzz-raw://3aebcc8a46d71a4bd2d3026b896b106dbce138fce2d291b0231683d40b87f2e4\",\"dweb:/ipfs/QmRijeihighF7zQ6j8JHkssUZnsLJq6U8Ki8ZzHvavA5oW\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinERC20I.sol\":{\"keccak256\":\"0xb66109f1bd667eb953e087e1cdbf5208c119c0bc247e7286ae8ee44786daf26c\",\"urls\":[\"bzz-raw://37be28368df7ad29d842fc089a92aee43e2cf849212d43655b38c4ce118dd82e\",\"dweb:/ipfs/QmYMD8BRZfjL7gWzEpPAWZSgVmsbosU187pvYPe9FHC8Q8\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20Manager.sol\":{\"keccak256\":\"0x348941ff7a936d9265eae6c5988dcc48ed79a7931e6f199cfad74e19621b6c94\",\"urls\":[\"bzz-raw://911506496ad19de8d8bf93ca012a870dc15a73cb9c9314079908d6cf505a59c2\",\"dweb:/ipfs/QmYtrqiuRj9oUdHEcMsiyWoExH5vQ67hfkTx8rjtEAW458\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0xf79d9851c085aa8412e87d7a26d3485488fe12538ecb4e317ce41fc1f2c3a16a\",\"urls\":[\"bzz-raw://6af1a35ad6aed2169ce9f44095438b3192cd6066903908f769d5c49a06a0caf8\",\"dweb:/ipfs/QmaH41CwJ7WrMQwSnbfCKuL2pd8bxF7sbGSLPZb6JaHBFF\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506118b4806100206000396000f3fe6080604052600436106100915760003560e01c8063a71d75ca11610059578063a71d75ca146102c2578063af56f158146102ec578063cf496b1014610351578063f7daeb8514610382578063fe2e9718146103be57610091565b8063085e7092146100965780631b7289201461013d5780632f3489c7146101625780635f959b69146101925780636cde8d6f14610283575b600080fd5b3480156100a257600080fd5b506100c6600480360360208110156100b957600080fd5b503563ffffffff16610400565b60405180878152602001868152602001856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018363ffffffff1663ffffffff16815260200182600481111561012457fe5b60ff168152602001965050505050505060405180910390f35b6101606004803603602081101561015357600080fd5b503563ffffffff16610454565b005b34801561016e57600080fd5b506101606004803603602081101561018557600080fd5b503563ffffffff16610628565b34801561019e57600080fd5b5061026f600480360360a08110156101b557600080fd5b81359163ffffffff602082013516916001600160a01b036040830135169160ff6060820135169181019060a0810160808201356401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184600183028401116401000000008311171561022e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610898945050505050565b604080519115158252519081900360200190f35b34801561028f57600080fd5b50610160600480360360408110156102a657600080fd5b50803563ffffffff1690602001356001600160a01b0316610cc5565b3480156102ce57600080fd5b5061026f600480360360208110156102e557600080fd5b5035610e48565b3480156102f857600080fd5b50610160600480360360e081101561030f57600080fd5b5080359060208101359060408101356001600160a01b039081169160608101358216916080820135169060a081013563ffffffff169060c0013560ff16610e5b565b34801561035d57600080fd5b506103666111c0565b604080516001600160a01b039092168252519081900360200190f35b34801561038e57600080fd5b50610160600480360360408110156103a557600080fd5b50803560ff1690602001356001600160a01b03166111cf565b3480156103ca57600080fd5b506103ee600480360360208110156103e157600080fd5b503563ffffffff166112b9565b60408051918252519081900360200190f35b63ffffffff9081166000908152603760205260409020805460018201546002830154600390930154919490936001600160a01b0393841693831692600160a01b810490911691600160c01b90910460ff1690565b63ffffffff8116600090815260376020526040902060016003820154600160c01b900460ff16600481111561048557fe5b146104c15760405162461bcd60e51b81526004018080602001828103825260528152602001806115fe6052913960600191505060405180910390fd5b60038101546001600160a01b0316331461050c5760405162461bcd60e51b815260040180806020018281038252605281526020018061174b6052913960600191505060405180910390fd5b600060395460ff16600281111561051f57fe5b1461052c57618ca0610531565b620dd7c05b81544203116105715760405162461bcd60e51b81526004018080602001828103825260548152602001806116f76054913960600191505060405180910390fd5b6729a2241af62c00003410156105b85760405162461bcd60e51b81526004018080602001828103825260468152602001806116b16046913960600191505060405180910390fd5b63ffffffff821660008181526038602090815260409182902034905542845560038401805460ff60c01b1916600160c11b17905581513381529081019290925280517f1bd938c0559acc36703807b71652dec64b2eed0d54f1716803e65cedc4f55a129281900390910190a15050565b63ffffffff8116600090815260376020526040902060026003820154600160c01b900460ff16600481111561065957fe5b146106955760405162461bcd60e51b815260040180806020018281038252604c815260200180611834604c913960600191505060405180910390fd5b610e1081600001544203116106db5760405162461bcd60e51b81526004018080602001828103825260488152602001806117ec6048913960600191505060405180910390fd5b60028101546001820154600383015463ffffffff600160a01b90910481166000908152603460205260409020546001600160a01b03909316926107209290916112cb16565b600383018054600160a01b900463ffffffff1660009081526034602090815260408083209490945591546001860154845163a9059cbb60e01b81526001600160a01b039283166004820152602481019190915293519085169363a9059cbb936044808301949193928390030190829087803b15801561079e57600080fd5b505af11580156107b2573d6000803e3d6000fd5b505050506040513d60208110156107c857600080fd5b5050600382015463ffffffff84166000908152603860205260408082205490516001600160a01b0390931692839282156108fc02929190818181858888f1935050505015801561081c573d6000803e3d6000fd5b5063ffffffff841660008181526038602090815260408083209290925560038601805460ff60c01b1916600160c21b179081905582516001600160a01b0390911681529081019290925280517f558dcc0f85e822d51fb0c98b95ab299d76c136c9d1a34b9cb2e3ede1689cdcfe9281900390910190a150505050565b600083866000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156108d757600080fd5b505afa1580156108eb573d6000803e3d6000fd5b505050506040513d602081101561090157600080fd5b505160ff16905061091c600a82810a9063ffffffff61131416565b82101561095a5760405162461bcd60e51b815260040180806020018281038252602c8152602001806115d2602c913960400191505060405180910390fd5b60008551116109b0576040805162461bcd60e51b815260206004820152601d60248201527f737973636f696e416464726573732063616e6e6f74206265207a65726f000000604482015290519081900360640190fd5b60008863ffffffff1611610a0b576040805162461bcd60e51b815260206004820152601860248201527f41737365742047554944206d757374206e6f7420626520300000000000000000604482015290519081900360640190fd5b6000879050806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4957600080fd5b505afa158015610a5d573d6000803e3d6000fd5b505050506040513d6020811015610a7357600080fd5b505160ff888116911614610ab85760405162461bcd60e51b81526004018080602001828103825260318152602001806115a16031913960400191505060405180910390fd5b604080516323b872dd60e01b8152336004820152306024820152604481018c905290516001600160a01b038316916323b872dd9160648083019260209291908290030181600087803b158015610b0d57600080fd5b505af1158015610b21573d6000803e3d6000fd5b505050506040513d6020811015610b3757600080fd5b505063ffffffff808a16600090815260346020526040902054610b5c918c9061135616565b63ffffffff808b166000818152603460209081526040918290209490945560368054808516600190810190951663ffffffff19909116179055805160c0810182524281529384018e90526001600160a01b038c1690840152336060840152608083015260a082015260365463ffffffff90811660009081526037602090815260409182902084518155908401516001820155908301516002820180546001600160a01b03199081166001600160a01b0393841617909155606085015160038401805460808801519316919093161763ffffffff60a01b1916600160a01b91909416029290921780835560a084015191929060ff60c01b1916600160c01b836004811115610c6557fe5b02179055505060365460408051338152602081018e905263ffffffff90921682820152517faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d92509081900360600190a15060019998505050505050505050565b6033546001600160a01b03163314610d0e5760405162461bcd60e51b815260040180806020018281038252602181526020018061179d6021913960400191505060405180910390fd5b63ffffffff8216600090815260376020526040902060026003820154600160c01b900460ff166004811115610d3f57fe5b14610d7b5760405162461bcd60e51b81526004018080602001828103825260618152602001806116506061913960800191505060405180910390fd5b63ffffffff83166000908152603860205260408082205490516001600160a01b0385169282156108fc02929190818181858888f19350505050158015610dc5573d6000803e3d6000fd5b5063ffffffff83166000908152603860205260408120556003818101805460ff60c01b1916600160c01b8302179055506003810154604080516001600160a01b03909216825263ffffffff8516602083015280517f960e217c57581c52cdc4e321eb617416d051a348a2ecf62bb8023a3558e80e859281900390910190a1505050565b6000610e53826113b0565b90505b919050565b6033546001600160a01b03163314610ea45760405162461bcd60e51b815260040180806020018281038252602181526020018061179d6021913960400191505060405180910390fd5b60008390506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610ee457600080fd5b505afa158015610ef8573d6000803e3d6000fd5b505050506040513d6020811015610f0e57600080fd5b5051905060ff8084169082161115610f325782810360ff16600a0a88029750610f55565b8260ff168160ff161015610f555780830360ff16600a0a8881610f5157fe5b0497505b610f5f81896113c5565b610f6889611466565b610fb0576040805162461bcd60e51b8152602060048201526014602482015273151608185b1c9958591e481c1c9bd8d95cdcd95960621b604482015290519081900360640190fd5b63ffffffff808516600090815260346020526040902054610fd3918a906112cb16565b63ffffffff808616600090815260346020526040812092909255610ffd908a906127109061131416565b905060006110118a8363ffffffff6112cb16565b9050836001600160a01b031663a9059cbb89846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561107357600080fd5b505af1158015611087573d6000803e3d6000fd5b505050506040513d602081101561109d57600080fd5b5050604080516001600160a01b038a1681526020810184905281517f378dbe173f6ed6e11630b29573f719ec4cefc9b49f430deed915911c5f78a080929181900390910190a1836001600160a01b031663a9059cbb8a836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561114357600080fd5b505af1158015611157573d6000803e3d6000fd5b505050506040513d602081101561116d57600080fd5b5050604080516001600160a01b038b1681526020810183905281517fb925ba840e2f36bcb317f8179bd8b5ed01aba4a22abf5f169162c0894dea87ab929181900390910190a15050505050505050505050565b6033546001600160a01b031681565b600054610100900460ff16806111e857506111e861149e565b806111f6575060005460ff16155b6112315760405162461bcd60e51b815260040180806020018281038252602e8152602001806117be602e913960400191505060405180910390fd5b600054610100900460ff1615801561125c576000805460ff1961ff0019909116610100171660011790555b6039805484919060ff1916600183600281111561127557fe5b0217905550603380546001600160a01b0319166001600160a01b0384161790556036805463ffffffff1916905580156112b4576000805461ff00191690555b505050565b60346020526000908152604090205481565b600061130d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114a4565b9392505050565b600061130d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061153b565b60008282018381101561130d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60009081526035602052604090205460ff1690565b60ff821681611414576040805162461bcd60e51b815260206004820152601660248201527556616c7565206d75737420626520706f73697469766560501b604482015290519081900360640190fd5b611428600a82810a9063ffffffff61131416565b8210156112b45760405162461bcd60e51b815260040180806020018281038252602c8152602001806115d2602c913960400191505060405180910390fd5b6000611471826113b0565b1561147e57506000610e56565b506000908152603560205260409020805460ff1916600190811790915590565b303b1590565b600081848411156115335760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114f85781810151838201526020016114e0565b50505050905090810190601f1680156115255780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000818361158a5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114f85781810151838201526020016114e0565b50600083858161159657fe5b049594505050505056fe446563696d616c732077657265206e6f742070726f766964656420776974682074686520636f72726563742076616c756556616c7565206d75737420626520626967676572206f7220657175616c204d494e5f4c4f434b5f56414c554523537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a20537461747573206f6620627269646765207472616e73666572206d757374206265204f6b23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c52657175657374656420746f204661696c20746865207472616e7366657223537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a2043616e63656c206465706f73697420696e636f727265637423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a205472616e73666572206d757374206265206174206c6561737420312e35207765656b206f6c6423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a204f6e6c79206d73672e73656e64657220697320616c6c6f77656420746f2063616e63656c43616c6c206d7573742062652066726f6d20747275737465642072656c61796572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a203120686f75722074696d656f757420697320726571756972656423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c526571756573746564a265627a7a7231582039d8ba6ff440b8c0478cb56ee1793ec4d068cb68662e7097427199716cea64bc64736f6c634300050d0032", - "deployedBytecode": "0x6080604052600436106100915760003560e01c8063a71d75ca11610059578063a71d75ca146102c2578063af56f158146102ec578063cf496b1014610351578063f7daeb8514610382578063fe2e9718146103be57610091565b8063085e7092146100965780631b7289201461013d5780632f3489c7146101625780635f959b69146101925780636cde8d6f14610283575b600080fd5b3480156100a257600080fd5b506100c6600480360360208110156100b957600080fd5b503563ffffffff16610400565b60405180878152602001868152602001856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018363ffffffff1663ffffffff16815260200182600481111561012457fe5b60ff168152602001965050505050505060405180910390f35b6101606004803603602081101561015357600080fd5b503563ffffffff16610454565b005b34801561016e57600080fd5b506101606004803603602081101561018557600080fd5b503563ffffffff16610628565b34801561019e57600080fd5b5061026f600480360360a08110156101b557600080fd5b81359163ffffffff602082013516916001600160a01b036040830135169160ff6060820135169181019060a0810160808201356401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184600183028401116401000000008311171561022e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610898945050505050565b604080519115158252519081900360200190f35b34801561028f57600080fd5b50610160600480360360408110156102a657600080fd5b50803563ffffffff1690602001356001600160a01b0316610cc5565b3480156102ce57600080fd5b5061026f600480360360208110156102e557600080fd5b5035610e48565b3480156102f857600080fd5b50610160600480360360e081101561030f57600080fd5b5080359060208101359060408101356001600160a01b039081169160608101358216916080820135169060a081013563ffffffff169060c0013560ff16610e5b565b34801561035d57600080fd5b506103666111c0565b604080516001600160a01b039092168252519081900360200190f35b34801561038e57600080fd5b50610160600480360360408110156103a557600080fd5b50803560ff1690602001356001600160a01b03166111cf565b3480156103ca57600080fd5b506103ee600480360360208110156103e157600080fd5b503563ffffffff166112b9565b60408051918252519081900360200190f35b63ffffffff9081166000908152603760205260409020805460018201546002830154600390930154919490936001600160a01b0393841693831692600160a01b810490911691600160c01b90910460ff1690565b63ffffffff8116600090815260376020526040902060016003820154600160c01b900460ff16600481111561048557fe5b146104c15760405162461bcd60e51b81526004018080602001828103825260528152602001806115fe6052913960600191505060405180910390fd5b60038101546001600160a01b0316331461050c5760405162461bcd60e51b815260040180806020018281038252605281526020018061174b6052913960600191505060405180910390fd5b600060395460ff16600281111561051f57fe5b1461052c57618ca0610531565b620dd7c05b81544203116105715760405162461bcd60e51b81526004018080602001828103825260548152602001806116f76054913960600191505060405180910390fd5b6729a2241af62c00003410156105b85760405162461bcd60e51b81526004018080602001828103825260468152602001806116b16046913960600191505060405180910390fd5b63ffffffff821660008181526038602090815260409182902034905542845560038401805460ff60c01b1916600160c11b17905581513381529081019290925280517f1bd938c0559acc36703807b71652dec64b2eed0d54f1716803e65cedc4f55a129281900390910190a15050565b63ffffffff8116600090815260376020526040902060026003820154600160c01b900460ff16600481111561065957fe5b146106955760405162461bcd60e51b815260040180806020018281038252604c815260200180611834604c913960600191505060405180910390fd5b610e1081600001544203116106db5760405162461bcd60e51b81526004018080602001828103825260488152602001806117ec6048913960600191505060405180910390fd5b60028101546001820154600383015463ffffffff600160a01b90910481166000908152603460205260409020546001600160a01b03909316926107209290916112cb16565b600383018054600160a01b900463ffffffff1660009081526034602090815260408083209490945591546001860154845163a9059cbb60e01b81526001600160a01b039283166004820152602481019190915293519085169363a9059cbb936044808301949193928390030190829087803b15801561079e57600080fd5b505af11580156107b2573d6000803e3d6000fd5b505050506040513d60208110156107c857600080fd5b5050600382015463ffffffff84166000908152603860205260408082205490516001600160a01b0390931692839282156108fc02929190818181858888f1935050505015801561081c573d6000803e3d6000fd5b5063ffffffff841660008181526038602090815260408083209290925560038601805460ff60c01b1916600160c21b179081905582516001600160a01b0390911681529081019290925280517f558dcc0f85e822d51fb0c98b95ab299d76c136c9d1a34b9cb2e3ede1689cdcfe9281900390910190a150505050565b600083866000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156108d757600080fd5b505afa1580156108eb573d6000803e3d6000fd5b505050506040513d602081101561090157600080fd5b505160ff16905061091c600a82810a9063ffffffff61131416565b82101561095a5760405162461bcd60e51b815260040180806020018281038252602c8152602001806115d2602c913960400191505060405180910390fd5b60008551116109b0576040805162461bcd60e51b815260206004820152601d60248201527f737973636f696e416464726573732063616e6e6f74206265207a65726f000000604482015290519081900360640190fd5b60008863ffffffff1611610a0b576040805162461bcd60e51b815260206004820152601860248201527f41737365742047554944206d757374206e6f7420626520300000000000000000604482015290519081900360640190fd5b6000879050806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4957600080fd5b505afa158015610a5d573d6000803e3d6000fd5b505050506040513d6020811015610a7357600080fd5b505160ff888116911614610ab85760405162461bcd60e51b81526004018080602001828103825260318152602001806115a16031913960400191505060405180910390fd5b604080516323b872dd60e01b8152336004820152306024820152604481018c905290516001600160a01b038316916323b872dd9160648083019260209291908290030181600087803b158015610b0d57600080fd5b505af1158015610b21573d6000803e3d6000fd5b505050506040513d6020811015610b3757600080fd5b505063ffffffff808a16600090815260346020526040902054610b5c918c9061135616565b63ffffffff808b166000818152603460209081526040918290209490945560368054808516600190810190951663ffffffff19909116179055805160c0810182524281529384018e90526001600160a01b038c1690840152336060840152608083015260a082015260365463ffffffff90811660009081526037602090815260409182902084518155908401516001820155908301516002820180546001600160a01b03199081166001600160a01b0393841617909155606085015160038401805460808801519316919093161763ffffffff60a01b1916600160a01b91909416029290921780835560a084015191929060ff60c01b1916600160c01b836004811115610c6557fe5b02179055505060365460408051338152602081018e905263ffffffff90921682820152517faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d92509081900360600190a15060019998505050505050505050565b6033546001600160a01b03163314610d0e5760405162461bcd60e51b815260040180806020018281038252602181526020018061179d6021913960400191505060405180910390fd5b63ffffffff8216600090815260376020526040902060026003820154600160c01b900460ff166004811115610d3f57fe5b14610d7b5760405162461bcd60e51b81526004018080602001828103825260618152602001806116506061913960800191505060405180910390fd5b63ffffffff83166000908152603860205260408082205490516001600160a01b0385169282156108fc02929190818181858888f19350505050158015610dc5573d6000803e3d6000fd5b5063ffffffff83166000908152603860205260408120556003818101805460ff60c01b1916600160c01b8302179055506003810154604080516001600160a01b03909216825263ffffffff8516602083015280517f960e217c57581c52cdc4e321eb617416d051a348a2ecf62bb8023a3558e80e859281900390910190a1505050565b6000610e53826113b0565b90505b919050565b6033546001600160a01b03163314610ea45760405162461bcd60e51b815260040180806020018281038252602181526020018061179d6021913960400191505060405180910390fd5b60008390506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610ee457600080fd5b505afa158015610ef8573d6000803e3d6000fd5b505050506040513d6020811015610f0e57600080fd5b5051905060ff8084169082161115610f325782810360ff16600a0a88029750610f55565b8260ff168160ff161015610f555780830360ff16600a0a8881610f5157fe5b0497505b610f5f81896113c5565b610f6889611466565b610fb0576040805162461bcd60e51b8152602060048201526014602482015273151608185b1c9958591e481c1c9bd8d95cdcd95960621b604482015290519081900360640190fd5b63ffffffff808516600090815260346020526040902054610fd3918a906112cb16565b63ffffffff808616600090815260346020526040812092909255610ffd908a906127109061131416565b905060006110118a8363ffffffff6112cb16565b9050836001600160a01b031663a9059cbb89846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561107357600080fd5b505af1158015611087573d6000803e3d6000fd5b505050506040513d602081101561109d57600080fd5b5050604080516001600160a01b038a1681526020810184905281517f378dbe173f6ed6e11630b29573f719ec4cefc9b49f430deed915911c5f78a080929181900390910190a1836001600160a01b031663a9059cbb8a836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561114357600080fd5b505af1158015611157573d6000803e3d6000fd5b505050506040513d602081101561116d57600080fd5b5050604080516001600160a01b038b1681526020810183905281517fb925ba840e2f36bcb317f8179bd8b5ed01aba4a22abf5f169162c0894dea87ab929181900390910190a15050505050505050505050565b6033546001600160a01b031681565b600054610100900460ff16806111e857506111e861149e565b806111f6575060005460ff16155b6112315760405162461bcd60e51b815260040180806020018281038252602e8152602001806117be602e913960400191505060405180910390fd5b600054610100900460ff1615801561125c576000805460ff1961ff0019909116610100171660011790555b6039805484919060ff1916600183600281111561127557fe5b0217905550603380546001600160a01b0319166001600160a01b0384161790556036805463ffffffff1916905580156112b4576000805461ff00191690555b505050565b60346020526000908152604090205481565b600061130d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114a4565b9392505050565b600061130d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061153b565b60008282018381101561130d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60009081526035602052604090205460ff1690565b60ff821681611414576040805162461bcd60e51b815260206004820152601660248201527556616c7565206d75737420626520706f73697469766560501b604482015290519081900360640190fd5b611428600a82810a9063ffffffff61131416565b8210156112b45760405162461bcd60e51b815260040180806020018281038252602c8152602001806115d2602c913960400191505060405180910390fd5b6000611471826113b0565b1561147e57506000610e56565b506000908152603560205260409020805460ff1916600190811790915590565b303b1590565b600081848411156115335760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114f85781810151838201526020016114e0565b50505050905090810190601f1680156115255780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000818361158a5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114f85781810151838201526020016114e0565b50600083858161159657fe5b049594505050505056fe446563696d616c732077657265206e6f742070726f766964656420776974682074686520636f72726563742076616c756556616c7565206d75737420626520626967676572206f7220657175616c204d494e5f4c4f434b5f56414c554523537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a20537461747573206f6620627269646765207472616e73666572206d757374206265204f6b23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c52657175657374656420746f204661696c20746865207472616e7366657223537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a2043616e63656c206465706f73697420696e636f727265637423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a205472616e73666572206d757374206265206174206c6561737420312e35207765656b206f6c6423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a204f6e6c79206d73672e73656e64657220697320616c6c6f77656420746f2063616e63656c43616c6c206d7573742062652066726f6d20747275737465642072656c61796572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a203120686f75722074696d656f757420697320726571756972656423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c526571756573746564a265627a7a7231582039d8ba6ff440b8c0478cb56ee1793ec4d068cb68662e7097427199716cea64bc64736f6c634300050d0032", - "sourceMap": "235:11184:13:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;235:11184:13;;;;;;;", - "deployedSourceMap": "235:11184:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10789:628;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10789:628:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10789:628:13;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;10789:628:13;-1:-1:-1;;;;;10789:628:13;;;;;;-1:-1:-1;;;;;10789:628:13;-1:-1:-1;;;;;10789:628:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5117:1677;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5117:1677:13;;;;:::i;:::-;;6800:1563;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6800:1563:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6800:1563:13;;;;:::i;9305:1388::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9305:1388:13;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;9305:1388:13;;;;;;;;;;-1:-1:-1;;;;;9305:1388:13;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;9305:1388:13;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9305:1388:13;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9305:1388:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9305:1388:13;;-1:-1:-1;9305:1388:13;;-1:-1:-1;;;;;9305:1388:13:i;:::-;;;;;;;;;;;;;;;;;;8369:875;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8369:875:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8369:875:13;;;;;;;;-1:-1:-1;;;;;8369:875:13;;:::i;3580:111::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3580:111:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3580:111:13;;:::i;3697:1410::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3697:1410:13;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;3697:1410:13;;;;;;;;;;;;-1:-1:-1;;;;;3697:1410:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;937:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;937:37:13;;;:::i;:::-;;;;-1:-1:-1;;;;;937:37:13;;;;;;;;;;;;;;2551:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2551:208:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2551:208:13;;;;;;;;-1:-1:-1;;;;;2551:208:13;;:::i;982:47::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;982:47:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;982:47:13;;;;:::i;:::-;;;;;;;;;;;;;;;;10789:628;11108:33;;;;10873:15;11108:33;;;:15;:33;;;;;11172:24;;11210:20;;;;11244:35;;;;11293:34;;;;;11172:24;;11210:20;;-1:-1:-1;;;;;11244:35:13;;;;11293:34;;;-1:-1:-1;;;11341:24:13;;;;;;-1:-1:-1;;;11379:21:13;;;;;;10789:628::o;5117:1677::-;5282:33;;;5242:37;5282:33;;;:15;:33;;;;;5388:23;5363:21;;;;-1:-1:-1;;;5363:21:13;;;;:48;;;;;;;;;5355:155;;;;-1:-1:-1;;;5355:155:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5723:34;;;;-1:-1:-1;;;;;5723:34:13;5709:10;:48;5701:143;;;;-1:-1:-1;;;5701:143:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6101:15;6094:3;;;;:22;;;;;;;;;:50;;6139:5;6094:50;;;712:6;6094:50;6065:24;;6047:15;:42;6046:99;6038:196;;;;-1:-1:-1;;;6038:196:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;555:19;6287:9;:31;;6279:126;;;;-1:-1:-1;;;6279:126:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6415:26;;;;;;;:8;:26;;;;;;;;;6444:9;6415:38;;6577:15;6550:42;;6661:21;;;:60;;-1:-1:-1;;;;6661:60:13;-1:-1:-1;;;6661:60:13;;;6736:51;;6758:10;6736:51;;;;;;;;;;;;;;;;;;;;;5117:1677;;:::o;6800:1563::-;6957:33;;;6917:37;6957:33;;;:15;:33;;;;;7185:36;7160:21;;;;-1:-1:-1;;;7160:21:13;;;;:61;;;;;;;;;7152:162;;;;-1:-1:-1;;;7152:162:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:4;7440:14;:24;;;7422:15;:42;7421:70;7413:155;;;;-1:-1:-1;;;7413:155:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7665:35;;;;;7797:20;;;7767:24;;;;;-1:-1:-1;;;7767:24:13;;;;;7629:19;7753:39;;;:13;:39;;;;;;-1:-1:-1;;;;;7665:35:13;;;;7753:65;;:39;;:43;:65;:::i;:::-;7725:24;;;;;-1:-1:-1;;;7725:24:13;;;;7711:39;;;;:13;:39;;;;;;;;:107;;;;7843:34;;;7879:20;;;7828:72;;-1:-1:-1;;;7828:72:13;;-1:-1:-1;;;;;7843:34:13;;;7828:72;;;;;;;;;;;;;:14;;;;;;:72;;;;;7711:39;;7828:72;;;;;;;;:14;:72;;;5:2:-1;;;;30:1;27;20:12;5:2;7828:72:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7828:72:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;7998:34:13;;;;8079:26;;;7938:41;8079:26;;;:8;7828:72;8079:26;;;;;;8044:62;;-1:-1:-1;;;;;7998:34:13;;;;;;8044:62;;;;;8079:26;8044:62;;7938:41;8044:62;8079:26;7998:34;8044:62;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;8123:26:13;;;;;;;:8;:26;;;;;;;;8116:33;;;;8211:21;;;:53;;-1:-1:-1;;;;8211:53:13;-1:-1:-1;;;8211:53:13;;;;;8279:77;;-1:-1:-1;;;;;8303:34:13;;;8279:77;;;;;;;;;;;;;;;;;;;;;6800:1563;;;;:::o;9305:1388::-;9564:4;9518:20;9540:5;2985:16;3018:20;-1:-1:-1;;;;;3004:44:13;;:46;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3004:46:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3004:46:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3004:46:13;2985:65;;;-1:-1:-1;3090:45:13;409:2;3091:23;;;;3090:45;:29;:45;:::i;:::-;3081:5;:54;;3060:145;;;;-1:-1:-1;;;3060:145:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9616:1;9592:14;:21;:25;9584:67;;;;;-1:-1:-1;;;9584:67:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;9681:1;9669:9;:13;;;9661:50;;;;;-1:-1:-1;;;9661:50:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;9731:19;9767:20;9731:57;;9819:5;-1:-1:-1;;;;;9819:14:13;;:16;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9819:16:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9819:16:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9819:16:13;9806:29;;;;;;;9798:91;;;;-1:-1:-1;;;9798:91:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9899:52;;;-1:-1:-1;;;9899:52:13;;9918:10;9899:52;;;;9938:4;9899:52;;;;;;;;;;;;-1:-1:-1;;;;;9899:18:13;;;;;:52;;;;;;;;;;;;;;-1:-1:-1;9899:18:13;:52;;;5:2:-1;;;;30:1;27;20:12;5:2;9899:52:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9899:52:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;9988:24:13;;;;;;;;:13;9899:52;9988:24;;;;;:35;;10017:5;;9988:28;:35;:::i;:::-;9961:24;;;;;;;;:13;:24;;;;;;;;;:62;;;;10251:21;:23;;;;;;;;;;;;-1:-1:-1;;10251:23:13;;;;;;10325:272;;;;;;;10526:15;10325:272;;;;;;;;-1:-1:-1;;;;;10325:272:13;;;;;;10576:10;10325:272;;;;;;;;;;;;10300:21;;;;;;10284:38;;;;:15;:38;;;;;;;;;:313;;;;;;;;10300:21;10284:313;;;;;;;;;;;;-1:-1:-1;;;;;;10284:313:13;;;-1:-1:-1;;;;;10284:313:13;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;10284:313:13;-1:-1:-1;;;10284:313:13;;;;;;;;;;;;;;;;:38;;:313;-1:-1:-1;;;;10284:313:13;-1:-1:-1;;;10284:313:13;;;;;;;;;;;;;-1:-1:-1;;10643:21:13;;10612:53;;;10624:10;10612:53;;;;;;;;10643:21;;;;10612:53;;;;;;;-1:-1:-1;10612:53:13;;;;;;;;-1:-1:-1;10682:4:13;;9305:1388;-1:-1:-1;;;;;;;;;9305:1388:13:o;8369:875::-;2827:22;;-1:-1:-1;;;;;2827:22:13;2813:10;:36;2805:82;;;;-1:-1:-1;;;2805:82:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8604:33;;;8564:37;8604:33;;;:15;:33;;;;;8723:36;8698:21;;;;-1:-1:-1;;;8698:21:13;;;;:61;;;;;;;;;8690:183;;;;-1:-1:-1;;;8690:183:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8947:26;;;;;;;:8;:26;;;;;;;8920:54;;-1:-1:-1;;;;;8920:26:13;;;:54;;;;;8947:26;8920:54;;8947:26;8920:54;8947:26;8920;:54;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;8991:26:13;;;;;;;:8;:26;;;;;8984:33;9111:37;9087:21;;;:61;;-1:-1:-1;;;;9087:61:13;-1:-1:-1;;;9111:37:13;9087:61;;;;-1:-1:-1;9184:34:13;;;;9163:74;;;-1:-1:-1;;;;;9184:34:13;;;9163:74;;;;;;;;;;;;;;;;;;;;;2897:1;8369:875;;:::o;3580:111::-;3645:4;3668:16;3677:6;3668:8;:16::i;:::-;3661:23;;3580:111;;;;:::o;3697:1410::-;2827:22;;-1:-1:-1;;;;;2827:22:13;2813:10;:36;2805:82;;;;-1:-1:-1;;;2805:82:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3977:19;4013:20;3977:57;;4044:21;4068:5;-1:-1:-1;;;;;4068:14:13;;:16;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4068:16:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4068:16:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4068:16:13;;-1:-1:-1;4134:27:13;;;;;;;;4131:225;;;4219:9;4201:15;:27;4196:33;;4190:2;4185:45;4176:54;;;;4131:225;;;4267:9;4249:27;;:15;:27;;;4246:110;;;4328:15;4316:9;:27;4311:33;;4305:2;4300:45;4291:54;;;;;;;;;4246:110;4365:43;4385:15;4402:5;4365:19;:43::i;:::-;4522:14;4529:6;4522;:14::i;:::-;4514:47;;;;;-1:-1:-1;;;4514:47:13;;;;;;;;;;;;-1:-1:-1;;;4514:47:13;;;;;;;;;;;;;;;4600:24;;;;;;;;:13;:24;;;;;;:35;;4629:5;;4600:28;:35;:::i;:::-;4573:24;;;;;;;;:13;:24;;;;;:62;;;;4676:40;;:5;;484;;4676:9;:40;:::i;:::-;4646:70;-1:-1:-1;4726:14:13;4743:33;:5;4646:70;4743:33;:9;:33;:::i;:::-;4726:50;;4810:5;-1:-1:-1;;;;;4810:14:13;;4825:26;4853:22;4810:66;;;;;;;;;;;;;-1:-1:-1;;;;;4810:66:13;-1:-1:-1;;;;;4810:66:13;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4810:66:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4810:66:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;4891:68:13;;;-1:-1:-1;;;;;4891:68:13;;;;4810:66;4891:68;;;;;;;;;;;;;;;;;;4996:5;-1:-1:-1;;;;;4996:14:13;;5011:18;5031:9;4996:45;;;;;;;;;;;;;-1:-1:-1;;;;;4996:45:13;-1:-1:-1;;;;;4996:45:13;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4996:45:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4996:45:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;5056:44:13;;;-1:-1:-1;;;;;5056:44:13;;;;4996:45;5056:44;;;;;;;;;;;;;;;;;;2897:1;;;;3697:1410;;;;;;;:::o;937:37::-;;;-1:-1:-1;;;;;937:37:13;;:::o;2551:208::-;1024:12:15;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:15;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;1016:106:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:15;;;;;1225:18;1213:4;1225:18;;;1170:80;2645:3:13;:14;;2651:8;;2645:3;-1:-1:-1;;2645:14:13;;2651:8;2645:14;;;;;;;;;;;;-1:-1:-1;2669:22:13;:48;;-1:-1:-1;;;;;;2669:48:13;-1:-1:-1;;;;;2669:48:13;;;;;2727:21;:25;;-1:-1:-1;;2727:25:13;;;1264:55:15;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:15;;;1264:55;2551:208:13;;;:::o;982:47::-;;;;;;;;;;;;;:::o;1274:134:17:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;1274:134;-1:-1:-1;;;1274:134:17:o;3073:130::-;3131:7;3157:39;3161:1;3164;3157:39;;;;;;;;;;;;;;;;;:3;:39::i;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:17;;;;;;;;;;;;;;;;;;;;;;;;;;;2209:120:13;2261:4;2284:38;;;:31;:38;;;;;;;;;2209:120::o;3229:345::-;3330:19;;;3367:9;3359:44;;;;;-1:-1:-1;;;3359:44:13;;;;;;;;;;;;-1:-1:-1;;;3359:44:13;;;;;;;;;;;;;;;3443:45;409:2;3444:23;;;;3443:45;:29;:45;:::i;:::-;3434:5;:54;;3413:145;;;;-1:-1:-1;;;3413:145:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2335:206;2380:4;2400:15;2409:5;2400:8;:15::i;:::-;2396:45;;;-1:-1:-1;2436:5:13;2429:12;;2396:45;-1:-1:-1;2468:38:13;;;;:31;:38;;;;;:45;;-1:-1:-1;;2468:45:13;2509:4;2468:45;;;;;;2509:4;2335:206::o;1409:467:15:-;1842:7;1830:20;1864:7;1409:467;:::o;1732:187:17:-;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:17;;;1732:187::o;3718:338::-;3804:7;3904:12;3897:5;3889:28;;;;-1:-1:-1;;;3889:28:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3889:28:17;;3927:9;3943:1;3939;:5;;;;;;;3718:338;-1:-1:-1;;;;;3718:338:17:o", - "source": "pragma solidity ^0.5.13;\n\nimport \"../SyscoinTransactionProcessor.sol\";\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"../interfaces/SyscoinERC20I.sol\";\nimport \"@openzeppelin/upgrades/contracts/Initializable.sol\";\n\ncontract SyscoinERC20Manager is Initializable {\n\n using SafeMath for uint;\n using SafeMath for uint8;\n\n // Lock constants\n uint private constant MIN_LOCK_VALUE = 10; // 0.1 token\n uint private constant SUPERBLOCK_SUBMITTER_LOCK_FEE = 10000; // 10000 = 0.01%\n uint private constant MIN_CANCEL_DEPOSIT = 3000000000000000000; // 3 eth\n uint private constant CANCEL_TRANSFER_TIMEOUT = 3600; // 1 hour in seconds\n uint private constant CANCEL_MINT_TIMEOUT = 907200; // 1.5 weeks in seconds\n // Variables set by constructor\n\n // Contract to trust for tx included in a syscoin block verification.\n // Only syscoin txs relayed from trustedRelayerContract will be accepted.\n address public trustedRelayerContract;\n\n\n mapping(uint32 => uint256) public assetBalances;\n // Syscoin transactions that were already processed by processTransaction()\n mapping(uint => bool) private syscoinTxHashesAlreadyProcessed;\n\n uint32 bridgeTransferIdCount;\n \n enum BridgeTransferStatus { Uninitialized, Ok, CancelRequested, CancelChallenged, CancelOk }\n \n struct BridgeTransfer {\n uint timestamp;\n uint value;\n address erc20ContractAddress;\n address tokenFreezerAddress;\n uint32 assetGUID;\n BridgeTransferStatus status; \n }\n\n mapping(uint32 => BridgeTransfer) private bridgeTransfers;\n mapping(uint32 => uint) private deposits;\n\n // network that the stored blocks belong to\n enum Network { MAINNET, TESTNET, REGTEST }\n Network private net;\n\n event TokenUnfreeze(address receipient, uint value);\n event TokenUnfreezeFee(address receipient, uint value);\n event TokenFreeze(address freezer, uint value, uint32 bridgetransferid);\n event CancelTransferRequest(address canceller, uint32 bridgetransferid);\n event CancelTransferSucceeded(address canceller, uint32 bridgetransferid);\n event CancelTransferFailed(address canceller, uint32 bridgetransferid);\n function contains(uint value) private view returns (bool) {\n return syscoinTxHashesAlreadyProcessed[value];\n }\n\n function insert(uint value) private returns (bool) {\n if (contains(value))\n return false; // already there\n syscoinTxHashesAlreadyProcessed[value] = true;\n return true;\n }\n \n function init(Network _network, address _trustedRelayerContract) public initializer {\n net = _network;\n trustedRelayerContract = _trustedRelayerContract;\n bridgeTransferIdCount = 0;\n }\n\n modifier onlyTrustedRelayer() {\n require(msg.sender == trustedRelayerContract, \"Call must be from trusted relayer\");\n _;\n }\n\n modifier minimumValue(address erc20ContractAddress, uint value) {\n uint256 decimals = SyscoinERC20I(erc20ContractAddress).decimals();\n require(\n value >= (uint256(10) ** decimals).div(MIN_LOCK_VALUE),\n \"Value must be bigger or equal MIN_LOCK_VALUE\"\n );\n _;\n }\n\n function requireMinimumValue(uint8 decimalsIn, uint value) private pure {\n uint256 decimals = uint256(decimalsIn);\n require(value > 0, \"Value must be positive\");\n require(\n value >= (uint256(10) ** decimals).div(MIN_LOCK_VALUE),\n \"Value must be bigger or equal MIN_LOCK_VALUE\"\n );\n \n }\n\n function wasSyscoinTxProcessed(uint txHash) public view returns (bool) {\n return contains(txHash);\n }\n\n function processTransaction(\n uint txHash,\n uint value,\n address destinationAddress,\n address superblockSubmitterAddress,\n address erc20ContractAddress,\n uint32 assetGUID,\n uint8 precision\n ) public onlyTrustedRelayer {\n SyscoinERC20I erc20 = SyscoinERC20I(erc20ContractAddress);\n uint8 nLocalPrecision = erc20.decimals();\n // see issue #372 on syscoin\n if(nLocalPrecision > precision){\n value *= uint(10)**(uint(nLocalPrecision - precision));\n }else if(nLocalPrecision < precision){\n value /= uint(10)**(uint(precision - nLocalPrecision));\n }\n requireMinimumValue(nLocalPrecision, value);\n // Add tx to the syscoinTxHashesAlreadyProcessed and Check tx was not already processed\n require(insert(txHash), \"TX already processed\");\n\n\n assetBalances[assetGUID] = assetBalances[assetGUID].sub(value);\n\n uint superblockSubmitterFee = value.div(SUPERBLOCK_SUBMITTER_LOCK_FEE);\n uint userValue = value.sub(superblockSubmitterFee);\n\n // pay the fee\n erc20.transfer(superblockSubmitterAddress, superblockSubmitterFee);\n emit TokenUnfreezeFee(superblockSubmitterAddress, superblockSubmitterFee);\n\n // get your token\n erc20.transfer(destinationAddress, userValue);\n emit TokenUnfreeze(destinationAddress, userValue);\n }\n \n function cancelTransferRequest(uint32 bridgeTransferId) public payable {\n // lookup state by bridgeTransferId\n BridgeTransfer storage bridgeTransfer = bridgeTransfers[bridgeTransferId];\n // ensure state is Ok\n require(bridgeTransfer.status == BridgeTransferStatus.Ok,\n \"#SyscoinERC20Manager cancelTransferRequest(): Status of bridge transfer must be Ok\");\n // ensure msg.sender is same as tokenFreezerAddress\n // we don't have to do this but we do it anyway so someone can't accidentily cancel a transfer they did not make\n require(msg.sender == bridgeTransfer.tokenFreezerAddress, \"#SyscoinERC20Manager cancelTransferRequest(): Only msg.sender is allowed to cancel\");\n // if freezeBurnERC20 was called less than 1.5 weeks ago then return error\n // 0.5 week buffer since only 1 week of blocks are allowed to pass before cannot mint on sys\n require((block.timestamp - bridgeTransfer.timestamp) > (net == Network.MAINNET? CANCEL_MINT_TIMEOUT: 36000), \"#SyscoinERC20Manager cancelTransferRequest(): Transfer must be at least 1.5 week old\");\n // ensure min deposit paid\n require(msg.value >= MIN_CANCEL_DEPOSIT,\n \"#SyscoinERC20Manager cancelTransferRequest(): Cancel deposit incorrect\");\n deposits[bridgeTransferId] = msg.value;\n // set height for cancel time begin to enforce a delay to wait for challengers\n bridgeTransfer.timestamp = block.timestamp;\n // set state of bridge transfer to CancelRequested\n bridgeTransfer.status = BridgeTransferStatus.CancelRequested;\n emit CancelTransferRequest(msg.sender, bridgeTransferId);\n }\n\n function cancelTransferSuccess(uint32 bridgeTransferId) public {\n // lookup state by bridgeTransferId\n BridgeTransfer storage bridgeTransfer = bridgeTransfers[bridgeTransferId];\n // ensure state is CancelRequested to avoid people trying to claim multiple times \n // and that it has to be on an active cancel request\n require(bridgeTransfer.status == BridgeTransferStatus.CancelRequested,\n \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested\");\n // check if timeout period passed (atleast 1 hour of blocks have to have passed)\n require((block.timestamp - bridgeTransfer.timestamp) > CANCEL_TRANSFER_TIMEOUT, \"#SyscoinERC20Manager cancelTransferSuccess(): 1 hour timeout is required\");\n // refund erc20 to the tokenFreezerAddress\n SyscoinERC20I erc20 = SyscoinERC20I(bridgeTransfer.erc20ContractAddress);\n assetBalances[bridgeTransfer.assetGUID] = assetBalances[bridgeTransfer.assetGUID].sub(bridgeTransfer.value);\n erc20.transfer(bridgeTransfer.tokenFreezerAddress, bridgeTransfer.value);\n // pay back deposit\n address payable tokenFreezeAddressPayable = address(uint160(bridgeTransfer.tokenFreezerAddress));\n tokenFreezeAddressPayable.transfer(deposits[bridgeTransferId]);\n delete deposits[bridgeTransferId];\n // set state of bridge transfer to CancelOk\n bridgeTransfer.status = BridgeTransferStatus.CancelOk;\n emit CancelTransferSucceeded(bridgeTransfer.tokenFreezerAddress, bridgeTransferId);\n }\n\n function processCancelTransferFail(uint32 bridgeTransferId, address payable challengerAddress)\n public\n onlyTrustedRelayer\n {\n // lookup state by bridgeTransferId\n BridgeTransfer storage bridgeTransfer = bridgeTransfers[bridgeTransferId];\n // ensure state is CancelRequested\n require(bridgeTransfer.status == BridgeTransferStatus.CancelRequested,\n \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested to Fail the transfer\");\n // pay deposit to challenger\n challengerAddress.transfer(deposits[bridgeTransferId]);\n delete deposits[bridgeTransferId];\n // set state of bridge transfer to CancelChallenged\n bridgeTransfer.status = BridgeTransferStatus.CancelChallenged;\n emit CancelTransferFailed(bridgeTransfer.tokenFreezerAddress, bridgeTransferId);\n }\n\n // keyhash or scripthash for syscoinWitnessProgram\n function freezeBurnERC20(\n uint value,\n uint32 assetGUID,\n address erc20ContractAddress,\n uint8 precision,\n bytes memory syscoinAddress\n )\n public\n minimumValue(erc20ContractAddress, value)\n returns (bool)\n {\n require(syscoinAddress.length > 0, \"syscoinAddress cannot be zero\");\n require(assetGUID > 0, \"Asset GUID must not be 0\");\n \n\n SyscoinERC20I erc20 = SyscoinERC20I(erc20ContractAddress);\n require(precision == erc20.decimals(), \"Decimals were not provided with the correct value\");\n erc20.transferFrom(msg.sender, address(this), value);\n assetBalances[assetGUID] = assetBalances[assetGUID].add(value);\n\n // store some state needed for potential bridge transfer cancellation\n // create bridgeTransferId mapping structure with status + height + value + erc20ContractAddress + assetGUID + tokenFreezerAddress\n bridgeTransferIdCount++;\n bridgeTransfers[bridgeTransferIdCount] = BridgeTransfer({\n status: BridgeTransferStatus.Ok,\n value: value,\n erc20ContractAddress: erc20ContractAddress,\n assetGUID: assetGUID,\n timestamp: block.timestamp,\n tokenFreezerAddress: msg.sender\n });\n emit TokenFreeze(msg.sender, value, bridgeTransferIdCount);\n return true;\n }\n\n // @dev - Returns the bridge transfer data for the supplied bridge transfer ID\n //\n function getBridgeTransfer(uint32 bridgeTransferId) external view returns (\n uint _timestamp,\n uint _value,\n address _erc20ContractAddress,\n address _tokenFreezerAddress,\n uint32 _assetGUID,\n BridgeTransferStatus _status\n ) {\n BridgeTransfer storage bridgeTransfer = bridgeTransfers[bridgeTransferId];\n return (\n bridgeTransfer.timestamp,\n bridgeTransfer.value,\n bridgeTransfer.erc20ContractAddress,\n bridgeTransfer.tokenFreezerAddress,\n bridgeTransfer.assetGUID,\n bridgeTransfer.status\n );\n }\n}\n", + "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"canceller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"CancelTransferFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"canceller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"CancelTransferRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"canceller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"CancelTransferSucceeded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"freezer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"TokenFreeze\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"assetGuid\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"}],\"name\":\"TokenRegistry\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"receipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TokenUnfreeze\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"receipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TokenUnfreezeFee\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"assetBalances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"assetRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"height\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"cancelTransferRequest\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"cancelTransferSuccess\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"precision\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"syscoinAddress\",\"type\":\"bytes\"}],\"name\":\"freezeBurnERC20\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"getBridgeTransfer\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenFreezerAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"_assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"enum SyscoinERC20Manager.BridgeTransferStatus\",\"name\":\"_status\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"enum SyscoinERC20Manager.Network\",\"name\":\"_network\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_trustedRelayerContract\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_txHash\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_height\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_erc20ContractAddress\",\"type\":\"address\"}],\"name\":\"processAsset\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"},{\"internalType\":\"address payable\",\"name\":\"challengerAddress\",\"type\":\"address\"}],\"name\":\"processCancelTransferFail\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"txHash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"superblockSubmitterAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"precision\",\"type\":\"uint8\"}],\"name\":\"processTransaction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"trustedRelayerContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"txHash\",\"type\":\"uint256\"}],\"name\":\"wasSyscoinTxProcessed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20Manager.sol\":\"SyscoinERC20Manager\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinERC20I.sol\":{\"keccak256\":\"0xafd5946659c56105bf9103bd3af17870fc3004c8646778d05fc5b3452e8d2cfc\",\"urls\":[\"bzz-raw://b2ca68aea59d4603b95005770d83d8c229b4cdb2db8c7a850b2a60cdbd3b70ec\",\"dweb:/ipfs/QmehmSbX6HgDd1How4vzCYcSoEAXxYovMpWBUGFMnEmmhM\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20Manager.sol\":{\"keccak256\":\"0xe66ad7b82d9e8209744e8b7fde63ae33145ba1575e37e56413bd8a2ea05261cc\",\"urls\":[\"bzz-raw://aa485eb7d9d227b23fbe522ae407ae8cf0322989d52cf9836625a17972cffe90\",\"dweb:/ipfs/QmXWsq9cPZ4dmnsVrPRnhcYFoRsBdQe8aKFsmTi7uPoMxW\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0xf79d9851c085aa8412e87d7a26d3485488fe12538ecb4e317ce41fc1f2c3a16a\",\"urls\":[\"bzz-raw://6af1a35ad6aed2169ce9f44095438b3192cd6066903908f769d5c49a06a0caf8\",\"dweb:/ipfs/QmaH41CwJ7WrMQwSnbfCKuL2pd8bxF7sbGSLPZb6JaHBFF\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzz-raw://7d8ec81683520c06baeef3f7e06cd82bd6fd5fa611f26857f475f6c829540aff\",\"dweb:/ipfs/QmTDkFzKnrpiV1UKnSoiZAHPuguWzokrr4pFbSPvyaSo56\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0x70df50e240407aa50915ad14f61b1a901fa335b37de20955b99ed647be756af0\",\"urls\":[\"bzz-raw://9404711f3206610c08ea97fa52c7b6b4d2e9d536e96fc4b7210aa7e24f796c36\",\"dweb:/ipfs/QmZDzpVzjoap13SuPEq5pVCrmdjoKVZnTsQPLKXAbynTTW\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50611d66806100206000396000f3fe6080604052600436106100a75760003560e01c80638b502b7a116100645780638b502b7a14610328578063a71d75ca14610380578063af56f158146103aa578063cf496b101461040f578063f7daeb8514610440578063fe2e97181461047c576100a7565b8063085e7092146100ac57806317c047e1146101535780631b728920146101a55780632f3489c7146101c85780635f959b69146101f85780636cde8d6f146102e9575b600080fd5b3480156100b857600080fd5b506100dc600480360360208110156100cf57600080fd5b503563ffffffff166104be565b60405180878152602001868152602001856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018363ffffffff1663ffffffff16815260200182600481111561013a57fe5b60ff168152602001965050505050505060405180910390f35b34801561015f57600080fd5b506101a36004803603608081101561017657600080fd5b50803590602081013563ffffffff90811691604081013590911690606001356001600160a01b0316610512565b005b6101a3600480360360208110156101bb57600080fd5b503563ffffffff166106b8565b3480156101d457600080fd5b506101a3600480360360208110156101eb57600080fd5b503563ffffffff1661088c565b34801561020457600080fd5b506102d5600480360360a081101561021b57600080fd5b81359163ffffffff602082013516916001600160a01b036040830135169160ff6060820135169181019060a08101608082013564010000000081111561026057600080fd5b82018360208201111561027257600080fd5b8035906020019184600183028401116401000000008311171561029457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610aa5945050505050565b604080519115158252519081900360200190f35b3480156102f557600080fd5b506101a36004803603604081101561030c57600080fd5b50803563ffffffff1690602001356001600160a01b0316610ee3565b34801561033457600080fd5b506103586004803603602081101561034b57600080fd5b503563ffffffff1661106e565b604080516001600160a01b03909316835263ffffffff90911660208301528051918290030190f35b34801561038c57600080fd5b506102d5600480360360208110156103a357600080fd5b5035611098565b3480156103b657600080fd5b506101a3600480360360e08110156103cd57600080fd5b5080359060208101359060408101356001600160a01b039081169160608101358216916080820135169060a081013563ffffffff169060c0013560ff166110ab565b34801561041b57600080fd5b5061042461132c565b604080516001600160a01b039092168252519081900360200190f35b34801561044c57600080fd5b506101a36004803603604081101561046357600080fd5b50803560ff1690602001356001600160a01b031661133b565b34801561048857600080fd5b506104ac6004803603602081101561049f57600080fd5b503563ffffffff16611425565b60408051918252519081900360200190f35b63ffffffff9081166000908152603760205260409020805460018201546002830154600390930154919490936001600160a01b0393841693831692600160a01b810490911691600160c01b90910460ff1690565b6033546001600160a01b0316331461055b5760405162461bcd60e51b8152600401808060200182810382526021815260200180611baf6021913960400191505060405180910390fd5b63ffffffff8381166000908152603a6020526040902054818416600160a01b909104909116106105bc5760405162461bcd60e51b8152600401808060200182810382526031815260200180611cb56031913960400191505060405180910390fd5b6105c584611437565b61060d576040805162461bcd60e51b8152602060048201526014602482015273151608185b1c9958591e481c1c9bd8d95cdcd95960621b604482015290519081900360640190fd5b6040805180820182526001600160a01b0383811680835263ffffffff86811660208086019182528983166000818152603a83528890209651875493516001600160a01b031990941696169590951763ffffffff60a01b1916600160a01b92909316919091029190911790935583519182529181019190915281517f5276cc41288d98dae7d6e7ca6412b8335adfb3bd319f2e1dfc3933901d173033929181900390910190a150505050565b63ffffffff8116600090815260376020526040902060016003820154600160c01b900460ff1660048111156106e957fe5b146107255760405162461bcd60e51b8152600401808060200182810382526052815260200180611a106052913960600191505060405180910390fd5b60038101546001600160a01b031633146107705760405162461bcd60e51b8152600401808060200182810382526052815260200180611b5d6052913960600191505060405180910390fd5b600060395460ff16600281111561078357fe5b1461079057618ca0610795565b620dd7c05b81544203116107d55760405162461bcd60e51b8152600401808060200182810382526054815260200180611b096054913960600191505060405180910390fd5b6729a2241af62c000034101561081c5760405162461bcd60e51b8152600401808060200182810382526046815260200180611ac36046913960600191505060405180910390fd5b63ffffffff821660008181526038602090815260409182902034905542845560038401805460ff60c01b1916600160c11b17905581513381529081019290925280517f1bd938c0559acc36703807b71652dec64b2eed0d54f1716803e65cedc4f55a129281900390910190a15050565b63ffffffff8116600090815260376020526040902060026003820154600160c01b900460ff1660048111156108bd57fe5b146108f95760405162461bcd60e51b815260040180806020018281038252604c815260200180611ce6604c913960600191505060405180910390fd5b610e10816000015442031161093f5760405162461bcd60e51b8152600401808060200182810382526048815260200180611c436048913960600191505060405180910390fd5b60038101805460ff60c01b1916600160c21b17908190556002820154600183015463ffffffff600160a01b90930483166000908152603460205260409020546001600160a01b039092169261099692919061146f16565b60038301805463ffffffff600160a01b90910481166000908152603460205260409020929092555460018401546109dc926001600160a01b03858116931691906114b816565b600382015463ffffffff841660009081526038602052604080822080549083905590516001600160a01b039093169290918391839181818185875af1925050503d8060008114610a48576040519150601f19603f3d011682016040523d82523d6000602084013e610a4d565b606091505b5050506003840154604080516001600160a01b03909216825263ffffffff8716602083015280517f558dcc0f85e822d51fb0c98b95ab299d76c136c9d1a34b9cb2e3ede1689cdcfe9281900390910190a15050505050565b600083866000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae457600080fd5b505afa158015610af8573d6000803e3d6000fd5b505050506040513d6020811015610b0e57600080fd5b505160ff169050610b29600a82810a9063ffffffff61150a16565b821015610b675760405162461bcd60e51b815260040180806020018281038252602c8152602001806119e4602c913960400191505060405180910390fd5b6000855111610bbd576040805162461bcd60e51b815260206004820152601d60248201527f737973636f696e416464726573732063616e6e6f74206265207a65726f000000604482015290519081900360640190fd5b60008863ffffffff1611610c18576040805162461bcd60e51b815260206004820152601860248201527f41737365742047554944206d757374206e6f7420626520300000000000000000604482015290519081900360640190fd5b600260395460ff166002811115610c2b57fe5b14610c8f5763ffffffff88166000908152603a60205260409020546001600160a01b03888116911614610c8f5760405162461bcd60e51b8152600401808060200182810382526045815260200180611bfe6045913960600191505060405180910390fd5b6000879050806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610ccd57600080fd5b505afa158015610ce1573d6000803e3d6000fd5b505050506040513d6020811015610cf757600080fd5b505160ff888116911614610d3c5760405162461bcd60e51b81526004018080602001828103825260318152602001806119b36031913960400191505060405180910390fd5b610d576001600160a01b03821633308d63ffffffff61154c16565b63ffffffff808a16600090815260346020526040902054610d7a918c906115ac16565b63ffffffff808b166000818152603460209081526040918290209490945560368054808516600190810190951663ffffffff19909116179055805160c0810182524281529384018e90526001600160a01b038c1690840152336060840152608083015260a082015260365463ffffffff90811660009081526037602090815260409182902084518155908401516001820155908301516002820180546001600160a01b03199081166001600160a01b0393841617909155606085015160038401805460808801519316919093161763ffffffff60a01b1916600160a01b91909416029290921780835560a084015191929060ff60c01b1916600160c01b836004811115610e8357fe5b02179055505060365460408051338152602081018e905263ffffffff90921682820152517faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d92509081900360600190a15060019998505050505050505050565b6033546001600160a01b03163314610f2c5760405162461bcd60e51b8152600401808060200182810382526021815260200180611baf6021913960400191505060405180910390fd5b63ffffffff8216600090815260376020526040902060026003820154600160c01b900460ff166004811115610f5d57fe5b14610f995760405162461bcd60e51b8152600401808060200182810382526061815260200180611a626061913960800191505060405180910390fd5b60038101805460ff60c01b1916600360c01b17905563ffffffff8316600090815260386020526040808220805490839055905190916001600160a01b03851691839181818185875af1925050503d8060008114611012576040519150601f19603f3d011682016040523d82523d6000602084013e611017565b606091505b5050506003820154604080516001600160a01b03909216825263ffffffff8616602083015280517f960e217c57581c52cdc4e321eb617416d051a348a2ecf62bb8023a3558e80e859281900390910190a150505050565b603a602052600090815260409020546001600160a01b03811690600160a01b900463ffffffff1682565b60006110a382611606565b90505b919050565b6033546001600160a01b031633146110f45760405162461bcd60e51b8152600401808060200182810382526021815260200180611baf6021913960400191505060405180910390fd5b60008390506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561113457600080fd5b505afa158015611148573d6000803e3d6000fd5b505050506040513d602081101561115e57600080fd5b5051905060ff80841690821611156111825782810360ff16600a0a880297506111a5565b8260ff168160ff1610156111a55780830360ff16600a0a88816111a157fe5b0497505b6111af818961161b565b6111b889611437565b611200576040805162461bcd60e51b8152602060048201526014602482015273151608185b1c9958591e481c1c9bd8d95cdcd95960621b604482015290519081900360640190fd5b63ffffffff808516600090815260346020526040902054611223918a9061146f16565b63ffffffff80861660009081526034602052604081209290925561124d908a906127109061150a16565b905060006112618a8363ffffffff61146f16565b905061127d6001600160a01b038516898463ffffffff6114b816565b604080516001600160a01b038a1681526020810184905281517f378dbe173f6ed6e11630b29573f719ec4cefc9b49f430deed915911c5f78a080929181900390910190a16112db6001600160a01b0385168a8363ffffffff6114b816565b604080516001600160a01b038b1681526020810183905281517fb925ba840e2f36bcb317f8179bd8b5ed01aba4a22abf5f169162c0894dea87ab929181900390910190a15050505050505050505050565b6033546001600160a01b031681565b600054610100900460ff168061135457506113546116bc565b80611362575060005460ff16155b61139d5760405162461bcd60e51b815260040180806020018281038252602e815260200180611bd0602e913960400191505060405180910390fd5b600054610100900460ff161580156113c8576000805460ff1961ff0019909116610100171660011790555b6039805484919060ff191660018360028111156113e157fe5b0217905550603380546001600160a01b0319166001600160a01b0384161790556036805463ffffffff191690558015611420576000805461ff00191690555b505050565b60346020526000908152604090205481565b600061144282611606565b1561144f575060006110a6565b506000908152603560205260409020805460ff1916600190811790915590565b60006114b183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116c2565b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611420908490611759565b60006114b183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611911565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526115a6908590611759565b50505050565b6000828201838110156114b1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60009081526035602052604090205460ff1690565b60ff82168161166a576040805162461bcd60e51b815260206004820152601660248201527556616c7565206d75737420626520706f73697469766560501b604482015290519081900360640190fd5b61167e600a82810a9063ffffffff61150a16565b8210156114205760405162461bcd60e51b815260040180806020018281038252602c8152602001806119e4602c913960400191505060405180910390fd5b303b1590565b600081848411156117515760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156117165781810151838201526020016116fe565b50505050905090810190601f1680156117435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b61176b826001600160a01b0316611976565b6117bc576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106117fa5780518252601f1990920191602091820191016117db565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461185c576040519150601f19603f3d011682016040523d82523d6000602084013e611861565b606091505b5091509150816118b8576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156115a6578080602001905160208110156118d457600080fd5b50516115a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611c8b602a913960400191505060405180910390fd5b600081836119605760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156117165781810151838201526020016116fe565b50600083858161196c57fe5b0495945050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906119aa5750808214155b94935050505056fe446563696d616c732077657265206e6f742070726f766964656420776974682074686520636f72726563742076616c756556616c7565206d75737420626520626967676572206f7220657175616c204d494e5f4c4f434b5f56414c554523537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a20537461747573206f6620627269646765207472616e73666572206d757374206265204f6b23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c52657175657374656420746f204661696c20746865207472616e7366657223537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a2043616e63656c206465706f73697420696e636f727265637423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a205472616e73666572206d757374206265206174206c6561737420312e35207765656b206f6c6423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a204f6e6c79206d73672e73656e64657220697320616c6c6f77656420746f2063616e63656c43616c6c206d7573742062652066726f6d20747275737465642072656c61796572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564417373657420726567697374727920636f6e747261637420646f6573206e6f74206d617463682077686174207761732070726f766964656420746f20746869732063616c6c23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a203120686f75722074696d656f75742069732072657175697265645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564486569676874206d75737420696e637265617365207768656e207570646174696e6720617373657420726567697374727923537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c526571756573746564a265627a7a72315820c4c1b087d95c1b469e4b0159cf74a91845953f47ebb8d7d5adac63fafa3dd21364736f6c634300050d0032", + "deployedBytecode": "0x6080604052600436106100a75760003560e01c80638b502b7a116100645780638b502b7a14610328578063a71d75ca14610380578063af56f158146103aa578063cf496b101461040f578063f7daeb8514610440578063fe2e97181461047c576100a7565b8063085e7092146100ac57806317c047e1146101535780631b728920146101a55780632f3489c7146101c85780635f959b69146101f85780636cde8d6f146102e9575b600080fd5b3480156100b857600080fd5b506100dc600480360360208110156100cf57600080fd5b503563ffffffff166104be565b60405180878152602001868152602001856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018363ffffffff1663ffffffff16815260200182600481111561013a57fe5b60ff168152602001965050505050505060405180910390f35b34801561015f57600080fd5b506101a36004803603608081101561017657600080fd5b50803590602081013563ffffffff90811691604081013590911690606001356001600160a01b0316610512565b005b6101a3600480360360208110156101bb57600080fd5b503563ffffffff166106b8565b3480156101d457600080fd5b506101a3600480360360208110156101eb57600080fd5b503563ffffffff1661088c565b34801561020457600080fd5b506102d5600480360360a081101561021b57600080fd5b81359163ffffffff602082013516916001600160a01b036040830135169160ff6060820135169181019060a08101608082013564010000000081111561026057600080fd5b82018360208201111561027257600080fd5b8035906020019184600183028401116401000000008311171561029457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610aa5945050505050565b604080519115158252519081900360200190f35b3480156102f557600080fd5b506101a36004803603604081101561030c57600080fd5b50803563ffffffff1690602001356001600160a01b0316610ee3565b34801561033457600080fd5b506103586004803603602081101561034b57600080fd5b503563ffffffff1661106e565b604080516001600160a01b03909316835263ffffffff90911660208301528051918290030190f35b34801561038c57600080fd5b506102d5600480360360208110156103a357600080fd5b5035611098565b3480156103b657600080fd5b506101a3600480360360e08110156103cd57600080fd5b5080359060208101359060408101356001600160a01b039081169160608101358216916080820135169060a081013563ffffffff169060c0013560ff166110ab565b34801561041b57600080fd5b5061042461132c565b604080516001600160a01b039092168252519081900360200190f35b34801561044c57600080fd5b506101a36004803603604081101561046357600080fd5b50803560ff1690602001356001600160a01b031661133b565b34801561048857600080fd5b506104ac6004803603602081101561049f57600080fd5b503563ffffffff16611425565b60408051918252519081900360200190f35b63ffffffff9081166000908152603760205260409020805460018201546002830154600390930154919490936001600160a01b0393841693831692600160a01b810490911691600160c01b90910460ff1690565b6033546001600160a01b0316331461055b5760405162461bcd60e51b8152600401808060200182810382526021815260200180611baf6021913960400191505060405180910390fd5b63ffffffff8381166000908152603a6020526040902054818416600160a01b909104909116106105bc5760405162461bcd60e51b8152600401808060200182810382526031815260200180611cb56031913960400191505060405180910390fd5b6105c584611437565b61060d576040805162461bcd60e51b8152602060048201526014602482015273151608185b1c9958591e481c1c9bd8d95cdcd95960621b604482015290519081900360640190fd5b6040805180820182526001600160a01b0383811680835263ffffffff86811660208086019182528983166000818152603a83528890209651875493516001600160a01b031990941696169590951763ffffffff60a01b1916600160a01b92909316919091029190911790935583519182529181019190915281517f5276cc41288d98dae7d6e7ca6412b8335adfb3bd319f2e1dfc3933901d173033929181900390910190a150505050565b63ffffffff8116600090815260376020526040902060016003820154600160c01b900460ff1660048111156106e957fe5b146107255760405162461bcd60e51b8152600401808060200182810382526052815260200180611a106052913960600191505060405180910390fd5b60038101546001600160a01b031633146107705760405162461bcd60e51b8152600401808060200182810382526052815260200180611b5d6052913960600191505060405180910390fd5b600060395460ff16600281111561078357fe5b1461079057618ca0610795565b620dd7c05b81544203116107d55760405162461bcd60e51b8152600401808060200182810382526054815260200180611b096054913960600191505060405180910390fd5b6729a2241af62c000034101561081c5760405162461bcd60e51b8152600401808060200182810382526046815260200180611ac36046913960600191505060405180910390fd5b63ffffffff821660008181526038602090815260409182902034905542845560038401805460ff60c01b1916600160c11b17905581513381529081019290925280517f1bd938c0559acc36703807b71652dec64b2eed0d54f1716803e65cedc4f55a129281900390910190a15050565b63ffffffff8116600090815260376020526040902060026003820154600160c01b900460ff1660048111156108bd57fe5b146108f95760405162461bcd60e51b815260040180806020018281038252604c815260200180611ce6604c913960600191505060405180910390fd5b610e10816000015442031161093f5760405162461bcd60e51b8152600401808060200182810382526048815260200180611c436048913960600191505060405180910390fd5b60038101805460ff60c01b1916600160c21b17908190556002820154600183015463ffffffff600160a01b90930483166000908152603460205260409020546001600160a01b039092169261099692919061146f16565b60038301805463ffffffff600160a01b90910481166000908152603460205260409020929092555460018401546109dc926001600160a01b03858116931691906114b816565b600382015463ffffffff841660009081526038602052604080822080549083905590516001600160a01b039093169290918391839181818185875af1925050503d8060008114610a48576040519150601f19603f3d011682016040523d82523d6000602084013e610a4d565b606091505b5050506003840154604080516001600160a01b03909216825263ffffffff8716602083015280517f558dcc0f85e822d51fb0c98b95ab299d76c136c9d1a34b9cb2e3ede1689cdcfe9281900390910190a15050505050565b600083866000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae457600080fd5b505afa158015610af8573d6000803e3d6000fd5b505050506040513d6020811015610b0e57600080fd5b505160ff169050610b29600a82810a9063ffffffff61150a16565b821015610b675760405162461bcd60e51b815260040180806020018281038252602c8152602001806119e4602c913960400191505060405180910390fd5b6000855111610bbd576040805162461bcd60e51b815260206004820152601d60248201527f737973636f696e416464726573732063616e6e6f74206265207a65726f000000604482015290519081900360640190fd5b60008863ffffffff1611610c18576040805162461bcd60e51b815260206004820152601860248201527f41737365742047554944206d757374206e6f7420626520300000000000000000604482015290519081900360640190fd5b600260395460ff166002811115610c2b57fe5b14610c8f5763ffffffff88166000908152603a60205260409020546001600160a01b03888116911614610c8f5760405162461bcd60e51b8152600401808060200182810382526045815260200180611bfe6045913960600191505060405180910390fd5b6000879050806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610ccd57600080fd5b505afa158015610ce1573d6000803e3d6000fd5b505050506040513d6020811015610cf757600080fd5b505160ff888116911614610d3c5760405162461bcd60e51b81526004018080602001828103825260318152602001806119b36031913960400191505060405180910390fd5b610d576001600160a01b03821633308d63ffffffff61154c16565b63ffffffff808a16600090815260346020526040902054610d7a918c906115ac16565b63ffffffff808b166000818152603460209081526040918290209490945560368054808516600190810190951663ffffffff19909116179055805160c0810182524281529384018e90526001600160a01b038c1690840152336060840152608083015260a082015260365463ffffffff90811660009081526037602090815260409182902084518155908401516001820155908301516002820180546001600160a01b03199081166001600160a01b0393841617909155606085015160038401805460808801519316919093161763ffffffff60a01b1916600160a01b91909416029290921780835560a084015191929060ff60c01b1916600160c01b836004811115610e8357fe5b02179055505060365460408051338152602081018e905263ffffffff90921682820152517faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d92509081900360600190a15060019998505050505050505050565b6033546001600160a01b03163314610f2c5760405162461bcd60e51b8152600401808060200182810382526021815260200180611baf6021913960400191505060405180910390fd5b63ffffffff8216600090815260376020526040902060026003820154600160c01b900460ff166004811115610f5d57fe5b14610f995760405162461bcd60e51b8152600401808060200182810382526061815260200180611a626061913960800191505060405180910390fd5b60038101805460ff60c01b1916600360c01b17905563ffffffff8316600090815260386020526040808220805490839055905190916001600160a01b03851691839181818185875af1925050503d8060008114611012576040519150601f19603f3d011682016040523d82523d6000602084013e611017565b606091505b5050506003820154604080516001600160a01b03909216825263ffffffff8616602083015280517f960e217c57581c52cdc4e321eb617416d051a348a2ecf62bb8023a3558e80e859281900390910190a150505050565b603a602052600090815260409020546001600160a01b03811690600160a01b900463ffffffff1682565b60006110a382611606565b90505b919050565b6033546001600160a01b031633146110f45760405162461bcd60e51b8152600401808060200182810382526021815260200180611baf6021913960400191505060405180910390fd5b60008390506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561113457600080fd5b505afa158015611148573d6000803e3d6000fd5b505050506040513d602081101561115e57600080fd5b5051905060ff80841690821611156111825782810360ff16600a0a880297506111a5565b8260ff168160ff1610156111a55780830360ff16600a0a88816111a157fe5b0497505b6111af818961161b565b6111b889611437565b611200576040805162461bcd60e51b8152602060048201526014602482015273151608185b1c9958591e481c1c9bd8d95cdcd95960621b604482015290519081900360640190fd5b63ffffffff808516600090815260346020526040902054611223918a9061146f16565b63ffffffff80861660009081526034602052604081209290925561124d908a906127109061150a16565b905060006112618a8363ffffffff61146f16565b905061127d6001600160a01b038516898463ffffffff6114b816565b604080516001600160a01b038a1681526020810184905281517f378dbe173f6ed6e11630b29573f719ec4cefc9b49f430deed915911c5f78a080929181900390910190a16112db6001600160a01b0385168a8363ffffffff6114b816565b604080516001600160a01b038b1681526020810183905281517fb925ba840e2f36bcb317f8179bd8b5ed01aba4a22abf5f169162c0894dea87ab929181900390910190a15050505050505050505050565b6033546001600160a01b031681565b600054610100900460ff168061135457506113546116bc565b80611362575060005460ff16155b61139d5760405162461bcd60e51b815260040180806020018281038252602e815260200180611bd0602e913960400191505060405180910390fd5b600054610100900460ff161580156113c8576000805460ff1961ff0019909116610100171660011790555b6039805484919060ff191660018360028111156113e157fe5b0217905550603380546001600160a01b0319166001600160a01b0384161790556036805463ffffffff191690558015611420576000805461ff00191690555b505050565b60346020526000908152604090205481565b600061144282611606565b1561144f575060006110a6565b506000908152603560205260409020805460ff1916600190811790915590565b60006114b183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116c2565b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611420908490611759565b60006114b183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611911565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526115a6908590611759565b50505050565b6000828201838110156114b1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60009081526035602052604090205460ff1690565b60ff82168161166a576040805162461bcd60e51b815260206004820152601660248201527556616c7565206d75737420626520706f73697469766560501b604482015290519081900360640190fd5b61167e600a82810a9063ffffffff61150a16565b8210156114205760405162461bcd60e51b815260040180806020018281038252602c8152602001806119e4602c913960400191505060405180910390fd5b303b1590565b600081848411156117515760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156117165781810151838201526020016116fe565b50505050905090810190601f1680156117435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b61176b826001600160a01b0316611976565b6117bc576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106117fa5780518252601f1990920191602091820191016117db565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461185c576040519150601f19603f3d011682016040523d82523d6000602084013e611861565b606091505b5091509150816118b8576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156115a6578080602001905160208110156118d457600080fd5b50516115a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611c8b602a913960400191505060405180910390fd5b600081836119605760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156117165781810151838201526020016116fe565b50600083858161196c57fe5b0495945050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906119aa5750808214155b94935050505056fe446563696d616c732077657265206e6f742070726f766964656420776974682074686520636f72726563742076616c756556616c7565206d75737420626520626967676572206f7220657175616c204d494e5f4c4f434b5f56414c554523537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a20537461747573206f6620627269646765207472616e73666572206d757374206265204f6b23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c52657175657374656420746f204661696c20746865207472616e7366657223537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a2043616e63656c206465706f73697420696e636f727265637423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a205472616e73666572206d757374206265206174206c6561737420312e35207765656b206f6c6423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a204f6e6c79206d73672e73656e64657220697320616c6c6f77656420746f2063616e63656c43616c6c206d7573742062652066726f6d20747275737465642072656c61796572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564417373657420726567697374727920636f6e747261637420646f6573206e6f74206d617463682077686174207761732070726f766964656420746f20746869732063616c6c23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a203120686f75722074696d656f75742069732072657175697265645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564486569676874206d75737420696e637265617365207768656e207570646174696e6720617373657420726567697374727923537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c526571756573746564a265627a7a72315820c4c1b087d95c1b469e4b0159cf74a91845953f47ebb8d7d5adac63fafa3dd21364736f6c634300050d0032", + "sourceMap": "190:12571:14:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;190:12571:14;;;;;;;", + "deployedSourceMap": "190:12571:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12131:628;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12131:628:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12131:628:14;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;12131:628:14;-1:-1:-1;;;;;12131:628:14;;;;;;-1:-1:-1;;;;;12131:628:14;-1:-1:-1;;;;;12131:628:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5354:675;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5354:675:14;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;5354:675:14;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5354:675:14;;:::i;:::-;;6039:1677;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6039:1677:14;;;;:::i;7722:1671::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7722:1671:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7722:1671:14;;;;:::i;10439:1596::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10439:1596:14;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;10439:1596:14;;;;;;;;;;-1:-1:-1;;;;;10439:1596:14;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;10439:1596:14;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10439:1596:14;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;10439:1596:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;10439:1596:14;;-1:-1:-1;10439:1596:14;;-1:-1:-1;;;;;10439:1596:14:i;:::-;;;;;;;;;;;;;;;;;;9399:979;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9399:979:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9399:979:14;;;;;;;;-1:-1:-1;;;;;9399:979:14;;:::i;2267:57::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2267:57:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2267:57:14;;;;:::i;:::-;;;;-1:-1:-1;;;;;2267:57:14;;;;;;;;;;;;;;;;;;;;;;3813:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3813:111:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3813:111:14;;:::i;3930:1418::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3930:1418:14;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;3930:1418:14;;;;;;;;;;;;-1:-1:-1;;;;;3930:1418:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;891:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;891:37:14;;;:::i;:::-;;;;-1:-1:-1;;;;;891:37:14;;;;;;;;;;;;;;2784:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2784:208:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2784:208:14;;;;;;;;-1:-1:-1;;;;;2784:208:14;;:::i;936:47::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;936:47:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;936:47:14;;;;:::i;:::-;;;;;;;;;;;;;;;;12131:628;12450:33;;;;12215:15;12450:33;;;:15;:33;;;;;12514:24;;12552:20;;;;12586:35;;;;12635:34;;;;;12514:24;;12552:20;;-1:-1:-1;;;;;12586:35:14;;;;12635:34;;;-1:-1:-1;;;12683:24:14;;;;;;-1:-1:-1;;;12721:21:14;;;;;;12131:628::o;5354:675::-;3060:22;;-1:-1:-1;;;;;3060:22:14;3046:10;:36;3038:82;;;;-1:-1:-1;;;3038:82:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5592:42;:25;;;;;;;:13;:25;;;;;:32;:42;;;-1:-1:-1;;;5592:32:14;;;;;;:42;5584:104;;;;-1:-1:-1;;;5584:104:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5802:15;5809:7;5802:6;:15::i;:::-;5794:48;;;;;-1:-1:-1;;;5794:48:14;;;;;;;;;;;;-1:-1:-1;;;5794:48:14;;;;;;;;;;;;;;;5880:79;;;;;;;;-1:-1:-1;;;;;5880:79:14;;;;;;;;;;;;;;;;;5852:25;;;-1:-1:-1;5852:25:14;;;:13;:25;;;;;:107;;;;;;-1:-1:-1;;;;;;5852:107:14;;;;;;;;;-1:-1:-1;;;;5852:107:14;-1:-1:-1;;;5852:107:14;;;;;;;;;;;;;;;5974:48;;;;;;;;;;;;;;;;;;;;;;;;;5354:675;;;;:::o;6039:1677::-;6204:33;;;6164:37;6204:33;;;:15;:33;;;;;6310:23;6285:21;;;;-1:-1:-1;;;6285:21:14;;;;:48;;;;;;;;;6277:155;;;;-1:-1:-1;;;6277:155:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6645:34;;;;-1:-1:-1;;;;;6645:34:14;6631:10;:48;6623:143;;;;-1:-1:-1;;;6623:143:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7023:15;7016:3;;;;:22;;;;;;;;;:50;;7061:5;7016:50;;;666:6;7016:50;6987:24;;6969:15;:42;6968:99;6960:196;;;;-1:-1:-1;;;6960:196:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:19;7209:9;:31;;7201:126;;;;-1:-1:-1;;;7201:126:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7337:26;;;;;;;:8;:26;;;;;;;;;7366:9;7337:38;;7499:15;7472:42;;7583:21;;;:60;;-1:-1:-1;;;;7583:60:14;-1:-1:-1;;;7583:60:14;;;7658:51;;7680:10;7658:51;;;;;;;;;;;;;;;;;;;;;6039:1677;;:::o;7722:1671::-;7879:33;;;7839:37;7879:33;;;:15;:33;;;;;8107:36;8082:21;;;;-1:-1:-1;;;8082:21:14;;;;:61;;;;;;;;;8074:162;;;;-1:-1:-1;;;8074:162:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;591:4;8362:14;:24;;;8344:15;:42;8343:70;8335:155;;;;-1:-1:-1;;;8335:155:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8552:21;;;:53;;-1:-1:-1;;;;8552:53:14;-1:-1:-1;;;8552:53:14;;;;;8702:35;;;;-1:-1:-1;8834:20:14;;;8804:24;-1:-1:-1;;;8804:24:14;;;;;-1:-1:-1;8790:39:14;;;:13;:39;;;;;;-1:-1:-1;;;;;8702:35:14;;;;8790:65;;:39;8834:20;8790:43;:65;:::i;:::-;8762:24;;;;;;-1:-1:-1;;;8762:24:14;;;;;8748:39;;;;:13;:39;;;;;:107;;;;8884:34;;8920:20;;;8865:76;;-1:-1:-1;;;;;8865:18:14;;;;8884:34;;8920:20;8865:18;:76;:::i;:::-;9039:34;;;;9094:26;;;8979:41;9094:26;;;:8;:26;;;;;;;;9130:33;;;;9251:43;;-1:-1:-1;;;;;9039:34:14;;;;9094:26;;9039:34;;9094:26;;9251:43;8979:41;9251:43;9094:26;9039:34;9251:43;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;-1:-1;;;9333:34:14;;;;9309:77;;;-1:-1:-1;;;;;9333:34:14;;;9309:77;;;;;;;;;;;;;;;;;;;;;7722:1671;;;;;:::o;10439:1596::-;10698:4;10652:20;10674:5;3218:16;3251:20;-1:-1:-1;;;;;3237:44:14;;:46;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3237:46:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3237:46:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3237:46:14;3218:65;;;-1:-1:-1;3323:45:14;363:2;3324:23;;;;3323:45;:29;:45;:::i;:::-;3314:5;:54;;3293:145;;;;-1:-1:-1;;;3293:145:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10750:1;10726:14;:21;:25;10718:67;;;;;-1:-1:-1;;;10718:67:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;10815:1;10803:9;:13;;;10795:50;;;;;-1:-1:-1;;;10795:50:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;10866:15;10859:3;;;;:22;;;;;;;;;10855:204;;10905:24;;;;;;;:13;:24;;;;;:45;-1:-1:-1;;;;;10905:69:14;;;:45;;:69;10897:151;;;;-1:-1:-1;;;10897:151:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11069:19;11105:20;11069:57;;11157:5;-1:-1:-1;;;;;11157:14:14;;:16;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11157:16:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11157:16:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11157:16:14;11144:29;;;;;;;11136:91;;;;-1:-1:-1;;;11136:91:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11237:56;-1:-1:-1;;;;;11237:22:14;;11260:10;11280:4;11287:5;11237:56;:22;:56;:::i;:::-;11330:24;;;;;;;;:13;:24;;;;;;:35;;11359:5;;11330:28;:35;:::i;:::-;11303:24;;;;;;;;:13;:24;;;;;;;;;:62;;;;11593:21;:23;;;;;;;;;;;;-1:-1:-1;;11593:23:14;;;;;;11667:272;;;;;;;11868:15;11667:272;;;;;;;;-1:-1:-1;;;;;11667:272:14;;;;;;11918:10;11667:272;;;;;;;;;;;;11642:21;;;;;;11626:38;;;;:15;:38;;;;;;;;;:313;;;;;;;;11642:21;11626:313;;;;;;;;;;;;-1:-1:-1;;;;;;11626:313:14;;;-1:-1:-1;;;;;11626:313:14;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;11626:313:14;-1:-1:-1;;;11626:313:14;;;;;;;;;;;;;;;;:38;;:313;-1:-1:-1;;;;11626:313:14;-1:-1:-1;;;11626:313:14;;;;;;;;;;;;;-1:-1:-1;;11985:21:14;;11954:53;;;11966:10;11954:53;;;;;;;;11985:21;;;;11954:53;;;;;;;-1:-1:-1;11954:53:14;;;;;;;;-1:-1:-1;12024:4:14;;10439:1596;-1:-1:-1;;;;;;;;;10439:1596:14:o;9399:979::-;3060:22;;-1:-1:-1;;;;;3060:22:14;3046:10;:36;3038:82;;;;-1:-1:-1;;;3038:82:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9634:33;;;9594:37;9634:33;;;:15;:33;;;;;9753:36;9728:21;;;;-1:-1:-1;;;9728:21:14;;;;:61;;;;;;;;;9720:183;;;;-1:-1:-1;;;9720:183:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9997:37;9973:21;;:61;;-1:-1:-1;;;;9973:61:14;-1:-1:-1;;;9973:61:14;;;10090:26;;;-1:-1:-1;10090:26:14;;;:8;:26;;;;;;;;10126:33;;;;10247:35;;10090:26;;-1:-1:-1;;;;;10247:22:14;;;10090:26;;10247:35;-1:-1:-1;10247:35:14;10090:26;10247:22;:35;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;-1:-1;;;10318:34:14;;;;10297:74;;;-1:-1:-1;;;;;10318:34:14;;;10297:74;;;;;;;;;;;;;;;;;;;;;3130:1;;9399:979;;:::o;2267:57::-;;;;;;;;;;;;-1:-1:-1;;;;;2267:57:14;;;-1:-1:-1;;;2267:57:14;;;;;:::o;3813:111::-;3878:4;3901:16;3910:6;3901:8;:16::i;:::-;3894:23;;3813:111;;;;:::o;3930:1418::-;3060:22;;-1:-1:-1;;;;;3060:22:14;3046:10;:36;3038:82;;;;-1:-1:-1;;;3038:82:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4210:19;4246:20;4210:57;;4277:21;4301:5;-1:-1:-1;;;;;4301:14:14;;:16;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4301:16:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4301:16:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4301:16:14;;-1:-1:-1;4367:27:14;;;;;;;;4364:225;;;4452:9;4434:15;:27;4429:33;;4423:2;4418:45;4409:54;;;;4364:225;;;4500:9;4482:27;;:15;:27;;;4479:110;;;4561:15;4549:9;:27;4544:33;;4538:2;4533:45;4524:54;;;;;;;;;4479:110;4598:43;4618:15;4635:5;4598:19;:43::i;:::-;4755:14;4762:6;4755;:14::i;:::-;4747:47;;;;;-1:-1:-1;;;4747:47:14;;;;;;;;;;;;-1:-1:-1;;;4747:47:14;;;;;;;;;;;;;;;4833:24;;;;;;;;:13;:24;;;;;;:35;;4862:5;;4833:28;:35;:::i;:::-;4806:24;;;;;;;;:13;:24;;;;;:62;;;;4909:40;;:5;;438;;4909:9;:40;:::i;:::-;4879:70;-1:-1:-1;4959:14:14;4976:33;:5;4879:70;4976:33;:9;:33;:::i;:::-;4959:50;-1:-1:-1;5043:70:14;-1:-1:-1;;;;;5043:18:14;;5062:26;5090:22;5043:70;:18;:70;:::i;:::-;5128:68;;;-1:-1:-1;;;;;5128:68:14;;;;;;;;;;;;;;;;;;;;;;;5233:49;-1:-1:-1;;;;;5233:18:14;;5252;5272:9;5233:49;:18;:49;:::i;:::-;5297:44;;;-1:-1:-1;;;;;5297:44:14;;;;;;;;;;;;;;;;;;;;;;;3130:1;;;;3930:1418;;;;;;;:::o;891:37::-;;;-1:-1:-1;;;;;891:37:14;;:::o;2784:208::-;1024:12:16;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:16;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;1016:106:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:16;;;;;1225:18;1213:4;1225:18;;;1170:80;2878:3:14;:14;;2884:8;;2878:3;-1:-1:-1;;2878:14:14;;2884:8;2878:14;;;;;;;;;;;;-1:-1:-1;2902:22:14;:48;;-1:-1:-1;;;;;;2902:48:14;-1:-1:-1;;;;;2902:48:14;;;;;2960:21;:25;;-1:-1:-1;;2960:25:14;;;1264:55:16;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:16;;;1264:55;2784:208:14;;;:::o;936:47::-;;;;;;;;;;;;;:::o;2568:206::-;2613:4;2633:15;2642:5;2633:8;:15::i;:::-;2629:45;;;-1:-1:-1;2669:5:14;2662:12;;2629:45;-1:-1:-1;2701:38:14;;;;:31;:38;;;;;:45;;-1:-1:-1;;2701:45:14;2742:4;2701:45;;;;;;2742:4;2568:206::o;1274:134:18:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;1274:134;-1:-1:-1;;;1274:134:18:o;662:174:22:-;770:58;;;-1:-1:-1;;;;;770:58:22;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;770:58:22;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;744:85:22;;763:5;;744:18;:85::i;3073:130:18:-;3131:7;3157:39;3161:1;3164;3157:39;;;;;;;;;;;;;;;;;:3;:39::i;842:202:22:-;968:68;;;-1:-1:-1;;;;;968:68:22;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;968:68:22;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;942:95:22;;961:5;;942:18;:95::i;:::-;842:202;;;;:::o;834:176:18:-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:18;;;;;;;;;;;;;;;;;;;;;;;;;;;2442:120:14;2494:4;2517:38;;;:31;:38;;;;;;;;;2442:120::o;3462:345::-;3563:19;;;3600:9;3592:44;;;;;-1:-1:-1;;;3592:44:14;;;;;;;;;;;;-1:-1:-1;;;3592:44:14;;;;;;;;;;;;;;;3676:45;363:2;3677:23;;;;3676:45;:29;:45;:::i;:::-;3667:5;:54;;3646:145;;;;-1:-1:-1;;;3646:145:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1409:467:16;1842:7;1830:20;1864:7;1409:467;:::o;1732:187:18:-;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:18;;;1732:187::o;2666:1095:22:-;3261:27;3269:5;-1:-1:-1;;;;;3261:25:22;;:27::i;:::-;3253:71;;;;;-1:-1:-1;;;3253:71:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:12;3409:23;3444:5;-1:-1:-1;;;;;3436:19:22;3456:4;3436:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3436:25:22;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3394:67:22;;;;3479:7;3471:52;;;;;-1:-1:-1;;;3471:52:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3538:17;;:21;3534:221;;3678:10;3667:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3667:30:22;3659:85;;;;-1:-1:-1;;;3659:85:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3718:338:18;3804:7;3904:12;3897:5;3889:28;;;;-1:-1:-1;;;3889:28:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3889:28:18;;3927:9;3943:1;3939;:5;;;;;;;3718:338;-1:-1:-1;;;;;3718:338:18:o;557:797:23:-;617:4;1265:20;;1110:66;1304:15;;;;;:42;;;1335:11;1323:8;:23;;1304:42;1296:51;557:797;-1:-1:-1;;;;557:797:23:o", + "source": "pragma solidity ^0.5.13;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"../interfaces/SyscoinERC20I.sol\";\nimport \"@openzeppelin/upgrades/contracts/Initializable.sol\";\n\ncontract SyscoinERC20Manager is Initializable {\n using SafeMath for uint;\n using SafeMath for uint8;\n\n // Lock constants\n uint private constant MIN_LOCK_VALUE = 10; // 0.1 token\n uint private constant SUPERBLOCK_SUBMITTER_LOCK_FEE = 10000; // 10000 = 0.01%\n uint private constant MIN_CANCEL_DEPOSIT = 3000000000000000000; // 3 eth\n uint private constant CANCEL_TRANSFER_TIMEOUT = 3600; // 1 hour in seconds\n uint private constant CANCEL_MINT_TIMEOUT = 907200; // 1.5 weeks in seconds\n // Variables set by constructor\n\n // Contract to trust for tx included in a syscoin block verification.\n // Only syscoin txs relayed from trustedRelayerContract will be accepted.\n address public trustedRelayerContract;\n\n\n mapping(uint32 => uint256) public assetBalances;\n // Syscoin transactions that were already processed by processTransaction()\n mapping(uint => bool) private syscoinTxHashesAlreadyProcessed;\n\n uint32 bridgeTransferIdCount;\n \n enum BridgeTransferStatus { Uninitialized, Ok, CancelRequested, CancelChallenged, CancelOk }\n \n struct BridgeTransfer {\n uint timestamp;\n uint value;\n address erc20ContractAddress;\n address tokenFreezerAddress;\n uint32 assetGUID;\n BridgeTransferStatus status; \n }\n\n mapping(uint32 => BridgeTransfer) private bridgeTransfers;\n mapping(uint32 => uint) private deposits;\n\n // network that the stored blocks belong to\n enum Network { MAINNET, TESTNET, REGTEST }\n Network private net;\n\n event TokenUnfreeze(address receipient, uint value);\n event TokenUnfreezeFee(address receipient, uint value);\n event TokenFreeze(address freezer, uint value, uint32 bridgetransferid);\n event CancelTransferRequest(address canceller, uint32 bridgetransferid);\n event CancelTransferSucceeded(address canceller, uint32 bridgetransferid);\n event CancelTransferFailed(address canceller, uint32 bridgetransferid);\n\n struct AssetRegistryItem {\n address erc20ContractAddress;\n uint32 height; \n }\n mapping(uint32 => AssetRegistryItem) public assetRegistry;\n event TokenRegistry(uint32 assetGuid, address erc20ContractAddress);\n using SafeERC20 for SyscoinERC20I;\n function contains(uint value) private view returns (bool) {\n return syscoinTxHashesAlreadyProcessed[value];\n }\n\n function insert(uint value) private returns (bool) {\n if (contains(value))\n return false; // already there\n syscoinTxHashesAlreadyProcessed[value] = true;\n return true;\n }\n \n function init(Network _network, address _trustedRelayerContract) public initializer {\n net = _network;\n trustedRelayerContract = _trustedRelayerContract;\n bridgeTransferIdCount = 0;\n }\n\n modifier onlyTrustedRelayer() {\n require(msg.sender == trustedRelayerContract, \"Call must be from trusted relayer\");\n _;\n }\n\n modifier minimumValue(address erc20ContractAddress, uint value) {\n uint256 decimals = SyscoinERC20I(erc20ContractAddress).decimals();\n require(\n value >= (uint256(10) ** decimals).div(MIN_LOCK_VALUE),\n \"Value must be bigger or equal MIN_LOCK_VALUE\"\n );\n _;\n }\n\n function requireMinimumValue(uint8 decimalsIn, uint value) private pure {\n uint256 decimals = uint256(decimalsIn);\n require(value > 0, \"Value must be positive\");\n require(\n value >= (uint256(10) ** decimals).div(MIN_LOCK_VALUE),\n \"Value must be bigger or equal MIN_LOCK_VALUE\"\n );\n \n }\n\n function wasSyscoinTxProcessed(uint txHash) public view returns (bool) {\n return contains(txHash);\n }\n\n function processTransaction(\n uint txHash,\n uint value,\n address destinationAddress,\n address superblockSubmitterAddress,\n address erc20ContractAddress,\n uint32 assetGUID,\n uint8 precision\n ) public onlyTrustedRelayer {\n SyscoinERC20I erc20 = SyscoinERC20I(erc20ContractAddress);\n uint8 nLocalPrecision = erc20.decimals();\n // see issue #372 on syscoin\n if(nLocalPrecision > precision){\n value *= uint(10)**(uint(nLocalPrecision - precision));\n }else if(nLocalPrecision < precision){\n value /= uint(10)**(uint(precision - nLocalPrecision));\n }\n requireMinimumValue(nLocalPrecision, value);\n // Add tx to the syscoinTxHashesAlreadyProcessed and Check tx was not already processed\n require(insert(txHash), \"TX already processed\");\n\n\n assetBalances[assetGUID] = assetBalances[assetGUID].sub(value);\n\n uint superblockSubmitterFee = value.div(SUPERBLOCK_SUBMITTER_LOCK_FEE);\n uint userValue = value.sub(superblockSubmitterFee);\n\n // pay the fee\n erc20.safeTransfer(superblockSubmitterAddress, superblockSubmitterFee);\n emit TokenUnfreezeFee(superblockSubmitterAddress, superblockSubmitterFee);\n\n // get your token\n erc20.safeTransfer(destinationAddress, userValue);\n emit TokenUnfreeze(destinationAddress, userValue);\n }\n\n function processAsset(\n uint _txHash,\n uint32 _assetGUID,\n uint32 _height,\n address _erc20ContractAddress\n ) public onlyTrustedRelayer {\n // ensure height increases over asset updates\n require(assetRegistry[_assetGUID].height < _height, \"Height must increase when updating asset registry\");\n // Add tx to the syscoinTxHashesAlreadyProcessed and Check tx was not already processed\n require(insert(_txHash), \"TX already processed\");\n assetRegistry[_assetGUID] = AssetRegistryItem({erc20ContractAddress:_erc20ContractAddress, height:_height});\n emit TokenRegistry(_assetGUID, _erc20ContractAddress);\n }\n \n function cancelTransferRequest(uint32 bridgeTransferId) public payable {\n // lookup state by bridgeTransferId\n BridgeTransfer storage bridgeTransfer = bridgeTransfers[bridgeTransferId];\n // ensure state is Ok\n require(bridgeTransfer.status == BridgeTransferStatus.Ok,\n \"#SyscoinERC20Manager cancelTransferRequest(): Status of bridge transfer must be Ok\");\n // ensure msg.sender is same as tokenFreezerAddress\n // we don't have to do this but we do it anyway so someone can't accidentily cancel a transfer they did not make\n require(msg.sender == bridgeTransfer.tokenFreezerAddress, \"#SyscoinERC20Manager cancelTransferRequest(): Only msg.sender is allowed to cancel\");\n // if freezeBurnERC20 was called less than 1.5 weeks ago then return error\n // 0.5 week buffer since only 1 week of blocks are allowed to pass before cannot mint on sys\n require((block.timestamp - bridgeTransfer.timestamp) > (net == Network.MAINNET? CANCEL_MINT_TIMEOUT: 36000), \"#SyscoinERC20Manager cancelTransferRequest(): Transfer must be at least 1.5 week old\");\n // ensure min deposit paid\n require(msg.value >= MIN_CANCEL_DEPOSIT,\n \"#SyscoinERC20Manager cancelTransferRequest(): Cancel deposit incorrect\");\n deposits[bridgeTransferId] = msg.value;\n // set height for cancel time begin to enforce a delay to wait for challengers\n bridgeTransfer.timestamp = block.timestamp;\n // set state of bridge transfer to CancelRequested\n bridgeTransfer.status = BridgeTransferStatus.CancelRequested;\n emit CancelTransferRequest(msg.sender, bridgeTransferId);\n }\n\n function cancelTransferSuccess(uint32 bridgeTransferId) public {\n // lookup state by bridgeTransferId\n BridgeTransfer storage bridgeTransfer = bridgeTransfers[bridgeTransferId];\n // ensure state is CancelRequested to avoid people trying to claim multiple times \n // and that it has to be on an active cancel request\n require(bridgeTransfer.status == BridgeTransferStatus.CancelRequested,\n \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested\");\n // check if timeout period passed (atleast 1 hour of blocks have to have passed)\n require((block.timestamp - bridgeTransfer.timestamp) > CANCEL_TRANSFER_TIMEOUT, \"#SyscoinERC20Manager cancelTransferSuccess(): 1 hour timeout is required\");\n // set state of bridge transfer to CancelOk\n bridgeTransfer.status = BridgeTransferStatus.CancelOk;\n // refund erc20 to the tokenFreezerAddress\n SyscoinERC20I erc20 = SyscoinERC20I(bridgeTransfer.erc20ContractAddress);\n assetBalances[bridgeTransfer.assetGUID] = assetBalances[bridgeTransfer.assetGUID].sub(bridgeTransfer.value);\n erc20.safeTransfer(bridgeTransfer.tokenFreezerAddress, bridgeTransfer.value);\n // pay back deposit\n address payable tokenFreezeAddressPayable = address(uint160(bridgeTransfer.tokenFreezerAddress));\n uint d = deposits[bridgeTransferId];\n delete deposits[bridgeTransferId];\n // stop using .transfer() because of gas issue after ethereum upgrade\n tokenFreezeAddressPayable.call.value(d)(\"\");\n emit CancelTransferSucceeded(bridgeTransfer.tokenFreezerAddress, bridgeTransferId);\n }\n\n function processCancelTransferFail(uint32 bridgeTransferId, address payable challengerAddress)\n public\n onlyTrustedRelayer\n {\n // lookup state by bridgeTransferId\n BridgeTransfer storage bridgeTransfer = bridgeTransfers[bridgeTransferId];\n // ensure state is CancelRequested\n require(bridgeTransfer.status == BridgeTransferStatus.CancelRequested,\n \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested to Fail the transfer\");\n // set state of bridge transfer to CancelChallenged\n bridgeTransfer.status = BridgeTransferStatus.CancelChallenged;\n // pay deposit to challenger\n uint d = deposits[bridgeTransferId];\n delete deposits[bridgeTransferId];\n // stop using .transfer() because of gas issue after ethereum upgrade\n challengerAddress.call.value(d)(\"\");\n emit CancelTransferFailed(bridgeTransfer.tokenFreezerAddress, bridgeTransferId);\n }\n\n // keyhash or scripthash for syscoinWitnessProgram\n function freezeBurnERC20(\n uint value,\n uint32 assetGUID,\n address erc20ContractAddress,\n uint8 precision,\n bytes memory syscoinAddress\n )\n public\n minimumValue(erc20ContractAddress, value)\n returns (bool)\n {\n require(syscoinAddress.length > 0, \"syscoinAddress cannot be zero\");\n require(assetGUID > 0, \"Asset GUID must not be 0\");\n if (net != Network.REGTEST) {\n require(assetRegistry[assetGUID].erc20ContractAddress == erc20ContractAddress, \"Asset registry contract does not match what was provided to this call\");\n }\n\n SyscoinERC20I erc20 = SyscoinERC20I(erc20ContractAddress);\n require(precision == erc20.decimals(), \"Decimals were not provided with the correct value\");\n erc20.safeTransferFrom(msg.sender, address(this), value);\n assetBalances[assetGUID] = assetBalances[assetGUID].add(value);\n\n // store some state needed for potential bridge transfer cancellation\n // create bridgeTransferId mapping structure with status + height + value + erc20ContractAddress + assetGUID + tokenFreezerAddress\n bridgeTransferIdCount++;\n bridgeTransfers[bridgeTransferIdCount] = BridgeTransfer({\n status: BridgeTransferStatus.Ok,\n value: value,\n erc20ContractAddress: erc20ContractAddress,\n assetGUID: assetGUID,\n timestamp: block.timestamp,\n tokenFreezerAddress: msg.sender\n });\n emit TokenFreeze(msg.sender, value, bridgeTransferIdCount);\n return true;\n }\n\n // @dev - Returns the bridge transfer data for the supplied bridge transfer ID\n //\n function getBridgeTransfer(uint32 bridgeTransferId) external view returns (\n uint _timestamp,\n uint _value,\n address _erc20ContractAddress,\n address _tokenFreezerAddress,\n uint32 _assetGUID,\n BridgeTransferStatus _status\n ) {\n BridgeTransfer storage bridgeTransfer = bridgeTransfers[bridgeTransferId];\n return (\n bridgeTransfer.timestamp,\n bridgeTransfer.value,\n bridgeTransfer.erc20ContractAddress,\n bridgeTransfer.tokenFreezerAddress,\n bridgeTransfer.assetGUID,\n bridgeTransfer.status\n );\n }\n}\n", "sourcePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20Manager.sol", "ast": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20Manager.sol", "exportedSymbols": { "SyscoinERC20Manager": [ - 8587 + 9203 ] }, - "id": 8588, + "id": 9204, "nodeType": "SourceUnit", "nodes": [ { - "id": 7829, + "id": 8351, "literals": [ "solidity", "^", @@ -407,49 +482,38 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:13" - }, - { - "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol", - "file": "../SyscoinTransactionProcessor.sol", - "id": 7830, - "nodeType": "ImportDirective", - "scope": 8588, - "sourceUnit": 7548, - "src": "26:44:13", - "symbolAliases": [], - "unitAlias": "" + "src": "0:24:14" }, { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", - "id": 7831, + "id": 8352, "nodeType": "ImportDirective", - "scope": 8588, - "sourceUnit": 8937, - "src": "71:59:13", + "scope": 9204, + "sourceUnit": 9556, + "src": "26:59:14", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinERC20I.sol", "file": "../interfaces/SyscoinERC20I.sol", - "id": 7832, + "id": 8353, "nodeType": "ImportDirective", - "scope": 8588, - "sourceUnit": 7609, - "src": "131:41:13", + "scope": 9204, + "sourceUnit": 8110, + "src": "86:41:14", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/upgrades/contracts/Initializable.sol", "file": "@openzeppelin/upgrades/contracts/Initializable.sol", - "id": 7833, + "id": 8354, "nodeType": "ImportDirective", - "scope": 8588, - "sourceUnit": 8723, - "src": "173:60:13", + "scope": 9204, + "sourceUnit": 9342, + "src": "128:60:14", "symbolAliases": [], "unitAlias": "" }, @@ -459,56 +523,56 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 7834, + "id": 8355, "name": "Initializable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8722, - "src": "267:13:13", + "referencedDeclaration": 9341, + "src": "222:13:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_Initializable_$8722", + "typeIdentifier": "t_contract$_Initializable_$9341", "typeString": "contract Initializable" } }, - "id": 7835, + "id": 8356, "nodeType": "InheritanceSpecifier", - "src": "267:13:13" + "src": "222:13:14" } ], "contractDependencies": [ - 8722 + 9341 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 8587, + "id": 9203, "linearizedBaseContracts": [ - 8587, - 8722 + 9203, + 9341 ], "name": "SyscoinERC20Manager", "nodeType": "ContractDefinition", "nodes": [ { - "id": 7838, + "id": 8359, "libraryName": { "contractScope": null, - "id": 7836, + "id": 8357, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8936, - "src": "294:8:13", + "referencedDeclaration": 9555, + "src": "248:8:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8936", + "typeIdentifier": "t_contract$_SafeMath_$9555", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "288:24:13", + "src": "242:24:14", "typeName": { - "id": 7837, + "id": 8358, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "307:4:13", + "src": "261:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -516,26 +580,26 @@ } }, { - "id": 7841, + "id": 8362, "libraryName": { "contractScope": null, - "id": 7839, + "id": 8360, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8936, - "src": "323:8:13", + "referencedDeclaration": 9555, + "src": "277:8:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8936", + "typeIdentifier": "t_contract$_SafeMath_$9555", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "317:25:13", + "src": "271:25:14", "typeName": { - "id": 7840, + "id": 8361, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "336:5:13", + "src": "290:5:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -544,11 +608,11 @@ }, { "constant": true, - "id": 7844, + "id": 8365, "name": "MIN_LOCK_VALUE", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "370:41:13", + "scope": 9203, + "src": "324:41:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -556,10 +620,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7842, + "id": 8363, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "370:4:13", + "src": "324:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -568,14 +632,14 @@ "value": { "argumentTypes": null, "hexValue": "3130", - "id": 7843, + "id": 8364, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "409:2:13", + "src": "363:2:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -587,11 +651,11 @@ }, { "constant": true, - "id": 7847, + "id": 8368, "name": "SUPERBLOCK_SUBMITTER_LOCK_FEE", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "430:59:13", + "scope": 9203, + "src": "384:59:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -599,10 +663,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7845, + "id": 8366, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "430:4:13", + "src": "384:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -611,14 +675,14 @@ "value": { "argumentTypes": null, "hexValue": "3130303030", - "id": 7846, + "id": 8367, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "484:5:13", + "src": "438:5:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10000_by_1", @@ -630,11 +694,11 @@ }, { "constant": true, - "id": 7850, + "id": 8371, "name": "MIN_CANCEL_DEPOSIT", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "512:62:13", + "scope": 9203, + "src": "466:62:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -642,10 +706,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7848, + "id": 8369, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "512:4:13", + "src": "466:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -654,14 +718,14 @@ "value": { "argumentTypes": null, "hexValue": "33303030303030303030303030303030303030", - "id": 7849, + "id": 8370, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "555:19:13", + "src": "509:19:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3000000000000000000_by_1", @@ -673,11 +737,11 @@ }, { "constant": true, - "id": 7853, + "id": 8374, "name": "CANCEL_TRANSFER_TIMEOUT", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "589:52:13", + "scope": 9203, + "src": "543:52:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -685,10 +749,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7851, + "id": 8372, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "589:4:13", + "src": "543:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -697,14 +761,14 @@ "value": { "argumentTypes": null, "hexValue": "33363030", - "id": 7852, + "id": 8373, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "637:4:13", + "src": "591:4:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -716,11 +780,11 @@ }, { "constant": true, - "id": 7856, + "id": 8377, "name": "CANCEL_MINT_TIMEOUT", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "668:50:13", + "scope": 9203, + "src": "622:50:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -728,10 +792,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7854, + "id": 8375, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "668:4:13", + "src": "622:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -740,14 +804,14 @@ "value": { "argumentTypes": null, "hexValue": "393037323030", - "id": 7855, + "id": 8376, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "712:6:13", + "src": "666:6:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_907200_by_1", @@ -759,11 +823,11 @@ }, { "constant": false, - "id": 7858, + "id": 8379, "name": "trustedRelayerContract", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "937:37:13", + "scope": 9203, + "src": "891:37:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -771,10 +835,10 @@ "typeString": "address" }, "typeName": { - "id": 7857, + "id": 8378, "name": "address", "nodeType": "ElementaryTypeName", - "src": "937:7:13", + "src": "891:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -786,11 +850,11 @@ }, { "constant": false, - "id": 7862, + "id": 8383, "name": "assetBalances", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "982:47:13", + "scope": 9203, + "src": "936:47:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -798,28 +862,28 @@ "typeString": "mapping(uint32 => uint256)" }, "typeName": { - "id": 7861, + "id": 8382, "keyType": { - "id": 7859, + "id": 8380, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "990:6:13", + "src": "944:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "Mapping", - "src": "982:26:13", + "src": "936:26:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" }, "valueType": { - "id": 7860, + "id": 8381, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1000:7:13", + "src": "954:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -831,11 +895,11 @@ }, { "constant": false, - "id": 7866, + "id": 8387, "name": "syscoinTxHashesAlreadyProcessed", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "1115:61:13", + "scope": 9203, + "src": "1069:61:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -843,28 +907,28 @@ "typeString": "mapping(uint256 => bool)" }, "typeName": { - "id": 7865, + "id": 8386, "keyType": { - "id": 7863, + "id": 8384, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1123:4:13", + "src": "1077:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1115:21:13", + "src": "1069:21:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" }, "valueType": { - "id": 7864, + "id": 8385, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1131:4:13", + "src": "1085:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -876,11 +940,11 @@ }, { "constant": false, - "id": 7868, + "id": 8389, "name": "bridgeTransferIdCount", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "1183:28:13", + "scope": 9203, + "src": "1137:28:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -888,10 +952,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7867, + "id": 8388, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1183:6:13", + "src": "1137:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -902,54 +966,54 @@ }, { "canonicalName": "SyscoinERC20Manager.BridgeTransferStatus", - "id": 7874, + "id": 8395, "members": [ { - "id": 7869, + "id": 8390, "name": "Uninitialized", "nodeType": "EnumValue", - "src": "1250:13:13" + "src": "1204:13:14" }, { - "id": 7870, + "id": 8391, "name": "Ok", "nodeType": "EnumValue", - "src": "1265:2:13" + "src": "1219:2:14" }, { - "id": 7871, + "id": 8392, "name": "CancelRequested", "nodeType": "EnumValue", - "src": "1269:15:13" + "src": "1223:15:14" }, { - "id": 7872, + "id": 8393, "name": "CancelChallenged", "nodeType": "EnumValue", - "src": "1286:16:13" + "src": "1240:16:14" }, { - "id": 7873, + "id": 8394, "name": "CancelOk", "nodeType": "EnumValue", - "src": "1304:8:13" + "src": "1258:8:14" } ], "name": "BridgeTransferStatus", "nodeType": "EnumDefinition", - "src": "1222:92:13" + "src": "1176:92:14" }, { "canonicalName": "SyscoinERC20Manager.BridgeTransfer", - "id": 7887, + "id": 8408, "members": [ { "constant": false, - "id": 7876, + "id": 8397, "name": "timestamp", "nodeType": "VariableDeclaration", - "scope": 7887, - "src": "1356:14:13", + "scope": 8408, + "src": "1310:14:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -957,10 +1021,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7875, + "id": 8396, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1356:4:13", + "src": "1310:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -971,11 +1035,11 @@ }, { "constant": false, - "id": 7878, + "id": 8399, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7887, - "src": "1380:10:13", + "scope": 8408, + "src": "1334:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -983,10 +1047,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7877, + "id": 8398, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1380:4:13", + "src": "1334:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -997,11 +1061,11 @@ }, { "constant": false, - "id": 7880, + "id": 8401, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 7887, - "src": "1400:28:13", + "scope": 8408, + "src": "1354:28:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1009,10 +1073,10 @@ "typeString": "address" }, "typeName": { - "id": 7879, + "id": 8400, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1400:7:13", + "src": "1354:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1024,11 +1088,11 @@ }, { "constant": false, - "id": 7882, + "id": 8403, "name": "tokenFreezerAddress", "nodeType": "VariableDeclaration", - "scope": 7887, - "src": "1438:27:13", + "scope": 8408, + "src": "1392:27:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1036,10 +1100,10 @@ "typeString": "address" }, "typeName": { - "id": 7881, + "id": 8402, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1438:7:13", + "src": "1392:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1051,11 +1115,11 @@ }, { "constant": false, - "id": 7884, + "id": 8405, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 7887, - "src": "1475:16:13", + "scope": 8408, + "src": "1429:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1063,10 +1127,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7883, + "id": 8404, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1475:6:13", + "src": "1429:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1077,26 +1141,26 @@ }, { "constant": false, - "id": 7886, + "id": 8407, "name": "status", "nodeType": "VariableDeclaration", - "scope": 7887, - "src": "1501:27:13", + "scope": 8408, + "src": "1455:27:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" }, "typeName": { "contractScope": null, - "id": 7885, + "id": 8406, "name": "BridgeTransferStatus", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7874, - "src": "1501:20:13", + "referencedDeclaration": 8395, + "src": "1455:20:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, @@ -1106,50 +1170,50 @@ ], "name": "BridgeTransfer", "nodeType": "StructDefinition", - "scope": 8587, - "src": "1324:222:13", + "scope": 9203, + "src": "1278:222:14", "visibility": "public" }, { "constant": false, - "id": 7891, + "id": 8412, "name": "bridgeTransfers", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "1552:57:13", + "scope": 9203, + "src": "1506:57:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer)" }, "typeName": { - "id": 7890, + "id": 8411, "keyType": { - "id": 7888, + "id": 8409, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1560:6:13", + "src": "1514:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "Mapping", - "src": "1552:33:13", + "src": "1506:33:14", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer)" }, "valueType": { "contractScope": null, - "id": 7889, + "id": 8410, "name": "BridgeTransfer", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7887, - "src": "1570:14:13", + "referencedDeclaration": 8408, + "src": "1524:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer" } } @@ -1159,11 +1223,11 @@ }, { "constant": false, - "id": 7895, + "id": 8416, "name": "deposits", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "1615:40:13", + "scope": 9203, + "src": "1569:40:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1171,28 +1235,28 @@ "typeString": "mapping(uint32 => uint256)" }, "typeName": { - "id": 7894, + "id": 8415, "keyType": { - "id": 7892, + "id": 8413, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1623:6:13", + "src": "1577:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "Mapping", - "src": "1615:23:13", + "src": "1569:23:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" }, "valueType": { - "id": 7893, + "id": 8414, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1633:4:13", + "src": "1587:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1204,53 +1268,53 @@ }, { "canonicalName": "SyscoinERC20Manager.Network", - "id": 7899, + "id": 8420, "members": [ { - "id": 7896, + "id": 8417, "name": "MAINNET", "nodeType": "EnumValue", - "src": "1725:7:13" + "src": "1679:7:14" }, { - "id": 7897, + "id": 8418, "name": "TESTNET", "nodeType": "EnumValue", - "src": "1734:7:13" + "src": "1688:7:14" }, { - "id": 7898, + "id": 8419, "name": "REGTEST", "nodeType": "EnumValue", - "src": "1743:7:13" + "src": "1697:7:14" } ], "name": "Network", "nodeType": "EnumDefinition", - "src": "1710:42:13" + "src": "1664:42:14" }, { "constant": false, - "id": 7901, + "id": 8422, "name": "net", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "1757:19:13", + "scope": 9203, + "src": "1711:19:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" }, "typeName": { "contractScope": null, - "id": 7900, + "id": 8421, "name": "Network", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7899, - "src": "1757:7:13", + "referencedDeclaration": 8420, + "src": "1711:7:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" } }, @@ -1260,21 +1324,21 @@ { "anonymous": false, "documentation": null, - "id": 7907, + "id": 8428, "name": "TokenUnfreeze", "nodeType": "EventDefinition", "parameters": { - "id": 7906, + "id": 8427, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7903, + "id": 8424, "indexed": false, "name": "receipient", "nodeType": "VariableDeclaration", - "scope": 7907, - "src": "1803:18:13", + "scope": 8428, + "src": "1757:18:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1282,10 +1346,10 @@ "typeString": "address" }, "typeName": { - "id": 7902, + "id": 8423, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1803:7:13", + "src": "1757:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1297,12 +1361,12 @@ }, { "constant": false, - "id": 7905, + "id": 8426, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7907, - "src": "1823:10:13", + "scope": 8428, + "src": "1777:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1310,10 +1374,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7904, + "id": 8425, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1823:4:13", + "src": "1777:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1323,28 +1387,28 @@ "visibility": "internal" } ], - "src": "1802:32:13" + "src": "1756:32:14" }, - "src": "1783:52:13" + "src": "1737:52:14" }, { "anonymous": false, "documentation": null, - "id": 7913, + "id": 8434, "name": "TokenUnfreezeFee", "nodeType": "EventDefinition", "parameters": { - "id": 7912, + "id": 8433, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7909, + "id": 8430, "indexed": false, "name": "receipient", "nodeType": "VariableDeclaration", - "scope": 7913, - "src": "1863:18:13", + "scope": 8434, + "src": "1817:18:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1352,10 +1416,10 @@ "typeString": "address" }, "typeName": { - "id": 7908, + "id": 8429, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1863:7:13", + "src": "1817:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1367,12 +1431,12 @@ }, { "constant": false, - "id": 7911, + "id": 8432, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7913, - "src": "1883:10:13", + "scope": 8434, + "src": "1837:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1380,10 +1444,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7910, + "id": 8431, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1883:4:13", + "src": "1837:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1393,28 +1457,28 @@ "visibility": "internal" } ], - "src": "1862:32:13" + "src": "1816:32:14" }, - "src": "1840:55:13" + "src": "1794:55:14" }, { "anonymous": false, "documentation": null, - "id": 7921, + "id": 8442, "name": "TokenFreeze", "nodeType": "EventDefinition", "parameters": { - "id": 7920, + "id": 8441, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7915, + "id": 8436, "indexed": false, "name": "freezer", "nodeType": "VariableDeclaration", - "scope": 7921, - "src": "1918:15:13", + "scope": 8442, + "src": "1872:15:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1422,10 +1486,10 @@ "typeString": "address" }, "typeName": { - "id": 7914, + "id": 8435, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1918:7:13", + "src": "1872:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1437,12 +1501,12 @@ }, { "constant": false, - "id": 7917, + "id": 8438, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7921, - "src": "1935:10:13", + "scope": 8442, + "src": "1889:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1450,10 +1514,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7916, + "id": 8437, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1935:4:13", + "src": "1889:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1464,12 +1528,12 @@ }, { "constant": false, - "id": 7919, + "id": 8440, "indexed": false, "name": "bridgetransferid", "nodeType": "VariableDeclaration", - "scope": 7921, - "src": "1947:23:13", + "scope": 8442, + "src": "1901:23:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1477,10 +1541,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7918, + "id": 8439, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1947:6:13", + "src": "1901:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1490,28 +1554,28 @@ "visibility": "internal" } ], - "src": "1917:54:13" + "src": "1871:54:14" }, - "src": "1900:72:13" + "src": "1854:72:14" }, { "anonymous": false, "documentation": null, - "id": 7927, + "id": 8448, "name": "CancelTransferRequest", "nodeType": "EventDefinition", "parameters": { - "id": 7926, + "id": 8447, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7923, + "id": 8444, "indexed": false, "name": "canceller", "nodeType": "VariableDeclaration", - "scope": 7927, - "src": "2005:17:13", + "scope": 8448, + "src": "1959:17:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1519,10 +1583,10 @@ "typeString": "address" }, "typeName": { - "id": 7922, + "id": 8443, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2005:7:13", + "src": "1959:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1534,12 +1598,12 @@ }, { "constant": false, - "id": 7925, + "id": 8446, "indexed": false, "name": "bridgetransferid", "nodeType": "VariableDeclaration", - "scope": 7927, - "src": "2024:23:13", + "scope": 8448, + "src": "1978:23:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1547,10 +1611,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7924, + "id": 8445, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "2024:6:13", + "src": "1978:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1560,28 +1624,28 @@ "visibility": "internal" } ], - "src": "2004:44:13" + "src": "1958:44:14" }, - "src": "1977:72:13" + "src": "1931:72:14" }, { "anonymous": false, "documentation": null, - "id": 7933, + "id": 8454, "name": "CancelTransferSucceeded", "nodeType": "EventDefinition", "parameters": { - "id": 7932, + "id": 8453, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7929, + "id": 8450, "indexed": false, "name": "canceller", "nodeType": "VariableDeclaration", - "scope": 7933, - "src": "2084:17:13", + "scope": 8454, + "src": "2038:17:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1589,10 +1653,10 @@ "typeString": "address" }, "typeName": { - "id": 7928, + "id": 8449, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2084:7:13", + "src": "2038:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1604,12 +1668,12 @@ }, { "constant": false, - "id": 7931, + "id": 8452, "indexed": false, "name": "bridgetransferid", "nodeType": "VariableDeclaration", - "scope": 7933, - "src": "2103:23:13", + "scope": 8454, + "src": "2057:23:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1617,10 +1681,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7930, + "id": 8451, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "2103:6:13", + "src": "2057:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1630,28 +1694,28 @@ "visibility": "internal" } ], - "src": "2083:44:13" + "src": "2037:44:14" }, - "src": "2054:74:13" + "src": "2008:74:14" }, { "anonymous": false, "documentation": null, - "id": 7939, + "id": 8460, "name": "CancelTransferFailed", "nodeType": "EventDefinition", "parameters": { - "id": 7938, + "id": 8459, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7935, + "id": 8456, "indexed": false, "name": "canceller", "nodeType": "VariableDeclaration", - "scope": 7939, - "src": "2160:17:13", + "scope": 8460, + "src": "2114:17:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1659,10 +1723,10 @@ "typeString": "address" }, "typeName": { - "id": 7934, + "id": 8455, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2160:7:13", + "src": "2114:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1674,12 +1738,165 @@ }, { "constant": false, - "id": 7937, + "id": 8458, "indexed": false, "name": "bridgetransferid", "nodeType": "VariableDeclaration", - "scope": 7939, - "src": "2179:23:13", + "scope": 8460, + "src": "2133:23:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8457, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "2133:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2113:44:14" + }, + "src": "2087:71:14" + }, + { + "canonicalName": "SyscoinERC20Manager.AssetRegistryItem", + "id": 8465, + "members": [ + { + "constant": false, + "id": 8462, + "name": "erc20ContractAddress", + "nodeType": "VariableDeclaration", + "scope": 8465, + "src": "2199:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8461, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2199:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8464, + "name": "height", + "nodeType": "VariableDeclaration", + "scope": 8465, + "src": "2237:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8463, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "2237:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "AssetRegistryItem", + "nodeType": "StructDefinition", + "scope": 9203, + "src": "2164:98:14", + "visibility": "public" + }, + { + "constant": false, + "id": 8469, + "name": "assetRegistry", + "nodeType": "VariableDeclaration", + "scope": 9203, + "src": "2267:57:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_AssetRegistryItem_$8465_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.AssetRegistryItem)" + }, + "typeName": { + "id": 8468, + "keyType": { + "id": 8466, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "2275:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Mapping", + "src": "2267:36:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_AssetRegistryItem_$8465_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.AssetRegistryItem)" + }, + "valueType": { + "contractScope": null, + "id": 8467, + "name": "AssetRegistryItem", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8465, + "src": "2285:17:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetRegistryItem_$8465_storage_ptr", + "typeString": "struct SyscoinERC20Manager.AssetRegistryItem" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 8475, + "name": "TokenRegistry", + "nodeType": "EventDefinition", + "parameters": { + "id": 8474, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8471, + "indexed": false, + "name": "assetGuid", + "nodeType": "VariableDeclaration", + "scope": 8475, + "src": "2350:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1687,10 +1904,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7936, + "id": 8470, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "2179:6:13", + "src": "2350:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1698,43 +1915,100 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 8473, + "indexed": false, + "name": "erc20ContractAddress", + "nodeType": "VariableDeclaration", + "scope": 8475, + "src": "2368:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8472, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2368:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "2159:44:13" + "src": "2349:48:14" + }, + "src": "2330:68:14" + }, + { + "id": 8478, + "libraryName": { + "contractScope": null, + "id": 8476, + "name": "SafeERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 10307, + "src": "2409:9:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeERC20_$10307", + "typeString": "library SafeERC20" + } }, - "src": "2133:71:13" + "nodeType": "UsingForDirective", + "src": "2403:34:14", + "typeName": { + "contractScope": null, + "id": 8477, + "name": "SyscoinERC20I", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8109, + "src": "2423:13:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" + } + } }, { "body": { - "id": 7950, + "id": 8489, "nodeType": "Block", - "src": "2267:62:13", + "src": "2500:62:14", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7946, + "id": 8485, "name": "syscoinTxHashesAlreadyProcessed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7866, - "src": "2284:31:13", + "referencedDeclaration": 8387, + "src": "2517:31:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 7948, + "id": 8487, "indexExpression": { "argumentTypes": null, - "id": 7947, + "id": 8486, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7941, - "src": "2316:5:13", + "referencedDeclaration": 8480, + "src": "2549:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1745,37 +2019,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2284:38:13", + "src": "2517:38:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 7945, - "id": 7949, + "functionReturnParameters": 8484, + "id": 8488, "nodeType": "Return", - "src": "2277:45:13" + "src": "2510:45:14" } ] }, "documentation": null, - "id": 7951, + "id": 8490, "implemented": true, "kind": "function", "modifiers": [], "name": "contains", "nodeType": "FunctionDefinition", "parameters": { - "id": 7942, + "id": 8481, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7941, + "id": 8480, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7951, - "src": "2227:10:13", + "scope": 8490, + "src": "2460:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1783,10 +2057,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7940, + "id": 8479, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2227:4:13", + "src": "2460:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1796,19 +2070,19 @@ "visibility": "internal" } ], - "src": "2226:12:13" + "src": "2459:12:14" }, "returnParameters": { - "id": 7945, + "id": 8484, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7944, + "id": 8483, "name": "", "nodeType": "VariableDeclaration", - "scope": 7951, - "src": "2261:4:13", + "scope": 8490, + "src": "2494:4:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1816,10 +2090,10 @@ "typeString": "bool" }, "typeName": { - "id": 7943, + "id": 8482, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2261:4:13", + "src": "2494:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1829,19 +2103,19 @@ "visibility": "internal" } ], - "src": "2260:6:13" + "src": "2493:6:14" }, - "scope": 8587, - "src": "2209:120:13", + "scope": 9203, + "src": "2442:120:14", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 7972, + "id": 8511, "nodeType": "Block", - "src": "2386:155:13", + "src": "2619:155:14", "statements": [ { "condition": { @@ -1849,12 +2123,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7959, + "id": 8498, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7953, - "src": "2409:5:13", + "referencedDeclaration": 8492, + "src": "2642:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1868,18 +2142,18 @@ "typeString": "uint256" } ], - "id": 7958, + "id": 8497, "name": "contains", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "2400:8:13", + "referencedDeclaration": 8490, + "src": "2633:8:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 7960, + "id": 8499, "isConstant": false, "isLValue": false, "isPure": false, @@ -1887,28 +2161,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2400:15:13", + "src": "2633:15:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7963, + "id": 8502, "nodeType": "IfStatement", - "src": "2396:45:13", + "src": "2629:45:14", "trueBody": { "expression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 7961, + "id": 8500, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2436:5:13", + "src": "2669:5:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1916,16 +2190,16 @@ }, "value": "false" }, - "functionReturnParameters": 7957, - "id": 7962, + "functionReturnParameters": 8496, + "id": 8501, "nodeType": "Return", - "src": "2429:12:13" + "src": "2662:12:14" } }, { "expression": { "argumentTypes": null, - "id": 7968, + "id": 8507, "isConstant": false, "isLValue": false, "isPure": false, @@ -1934,26 +2208,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7964, + "id": 8503, "name": "syscoinTxHashesAlreadyProcessed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7866, - "src": "2468:31:13", + "referencedDeclaration": 8387, + "src": "2701:31:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 7966, + "id": 8505, "indexExpression": { "argumentTypes": null, - "id": 7965, + "id": 8504, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7953, - "src": "2500:5:13", + "referencedDeclaration": 8492, + "src": "2733:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1964,7 +2238,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2468:38:13", + "src": "2701:38:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1975,14 +2249,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 7967, + "id": 8506, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2509:4:13", + "src": "2742:4:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1990,28 +2264,28 @@ }, "value": "true" }, - "src": "2468:45:13", + "src": "2701:45:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7969, + "id": 8508, "nodeType": "ExpressionStatement", - "src": "2468:45:13" + "src": "2701:45:14" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 7970, + "id": 8509, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2530:4:13", + "src": "2763:4:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2019,31 +2293,31 @@ }, "value": "true" }, - "functionReturnParameters": 7957, - "id": 7971, + "functionReturnParameters": 8496, + "id": 8510, "nodeType": "Return", - "src": "2523:11:13" + "src": "2756:11:14" } ] }, "documentation": null, - "id": 7973, + "id": 8512, "implemented": true, "kind": "function", "modifiers": [], "name": "insert", "nodeType": "FunctionDefinition", "parameters": { - "id": 7954, + "id": 8493, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7953, + "id": 8492, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7973, - "src": "2351:10:13", + "scope": 8512, + "src": "2584:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2051,10 +2325,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7952, + "id": 8491, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2351:4:13", + "src": "2584:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2064,19 +2338,19 @@ "visibility": "internal" } ], - "src": "2350:12:13" + "src": "2583:12:14" }, "returnParameters": { - "id": 7957, + "id": 8496, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7956, + "id": 8495, "name": "", "nodeType": "VariableDeclaration", - "scope": 7973, - "src": "2380:4:13", + "scope": 8512, + "src": "2613:4:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2084,10 +2358,10 @@ "typeString": "bool" }, "typeName": { - "id": 7955, + "id": 8494, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2380:4:13", + "src": "2613:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2097,38 +2371,38 @@ "visibility": "internal" } ], - "src": "2379:6:13" + "src": "2612:6:14" }, - "scope": 8587, - "src": "2335:206:13", + "scope": 9203, + "src": "2568:206:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 7994, + "id": 8533, "nodeType": "Block", - "src": "2635:124:13", + "src": "2868:124:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 7984, + "id": 8523, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7982, + "id": 8521, "name": "net", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7901, - "src": "2645:3:13", + "referencedDeclaration": 8422, + "src": "2878:3:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" } }, @@ -2136,43 +2410,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7983, + "id": 8522, "name": "_network", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7975, - "src": "2651:8:13", + "referencedDeclaration": 8514, + "src": "2884:8:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" } }, - "src": "2645:14:13", + "src": "2878:14:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" } }, - "id": 7985, + "id": 8524, "nodeType": "ExpressionStatement", - "src": "2645:14:13" + "src": "2878:14:14" }, { "expression": { "argumentTypes": null, - "id": 7988, + "id": 8527, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7986, + "id": 8525, "name": "trustedRelayerContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7858, - "src": "2669:22:13", + "referencedDeclaration": 8379, + "src": "2902:22:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2182,43 +2456,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7987, + "id": 8526, "name": "_trustedRelayerContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7977, - "src": "2694:23:13", + "referencedDeclaration": 8516, + "src": "2927:23:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2669:48:13", + "src": "2902:48:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 7989, + "id": 8528, "nodeType": "ExpressionStatement", - "src": "2669:48:13" + "src": "2902:48:14" }, { "expression": { "argumentTypes": null, - "id": 7992, + "id": 8531, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7990, + "id": 8529, "name": "bridgeTransferIdCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7868, - "src": "2727:21:13", + "referencedDeclaration": 8389, + "src": "2960:21:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2229,14 +2503,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 7991, + "id": 8530, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2751:1:13", + "src": "2984:1:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2244,71 +2518,71 @@ }, "value": "0" }, - "src": "2727:25:13", + "src": "2960:25:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "id": 7993, + "id": 8532, "nodeType": "ExpressionStatement", - "src": "2727:25:13" + "src": "2960:25:14" } ] }, "documentation": null, - "id": 7995, + "id": 8534, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 7980, + "id": 8519, "modifierName": { "argumentTypes": null, - "id": 7979, + "id": 8518, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8703, - "src": "2623:11:13", + "referencedDeclaration": 9322, + "src": "2856:11:14", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2623:11:13" + "src": "2856:11:14" } ], "name": "init", "nodeType": "FunctionDefinition", "parameters": { - "id": 7978, + "id": 8517, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7975, + "id": 8514, "name": "_network", "nodeType": "VariableDeclaration", - "scope": 7995, - "src": "2565:16:13", + "scope": 8534, + "src": "2798:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" }, "typeName": { "contractScope": null, - "id": 7974, + "id": 8513, "name": "Network", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7899, - "src": "2565:7:13", + "referencedDeclaration": 8420, + "src": "2798:7:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" } }, @@ -2317,11 +2591,11 @@ }, { "constant": false, - "id": 7977, + "id": 8516, "name": "_trustedRelayerContract", "nodeType": "VariableDeclaration", - "scope": 7995, - "src": "2583:31:13", + "scope": 8534, + "src": "2816:31:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2329,10 +2603,10 @@ "typeString": "address" }, "typeName": { - "id": 7976, + "id": 8515, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2583:7:13", + "src": "2816:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2343,25 +2617,25 @@ "visibility": "internal" } ], - "src": "2564:51:13" + "src": "2797:51:14" }, "returnParameters": { - "id": 7981, + "id": 8520, "nodeType": "ParameterList", "parameters": [], - "src": "2635:0:13" + "src": "2868:0:14" }, - "scope": 8587, - "src": "2551:208:13", + "scope": 9203, + "src": "2784:208:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 8006, + "id": 8545, "nodeType": "Block", - "src": "2795:110:13", + "src": "3028:110:14", "statements": [ { "expression": { @@ -2373,7 +2647,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8001, + "id": 8540, "isConstant": false, "isLValue": false, "isPure": false, @@ -2382,18 +2656,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7998, + "id": 8537, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "2813:3:13", + "referencedDeclaration": 11098, + "src": "3046:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 7999, + "id": 8538, "isConstant": false, "isLValue": false, "isPure": false, @@ -2401,7 +2675,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2813:10:13", + "src": "3046:10:14", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2411,18 +2685,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8000, + "id": 8539, "name": "trustedRelayerContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7858, - "src": "2827:22:13", + "referencedDeclaration": 8379, + "src": "3060:22:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2813:36:13", + "src": "3046:36:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2431,14 +2705,14 @@ { "argumentTypes": null, "hexValue": "43616c6c206d7573742062652066726f6d20747275737465642072656c61796572", - "id": 8002, + "id": 8541, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2851:35:13", + "src": "3084:35:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_969c561d633a9f7e8b9e09aa9d9a9b227caf12b0f2577922288ab020afc86cd7", @@ -2458,21 +2732,21 @@ "typeString": "literal_string \"Call must be from trusted relayer\"" } ], - "id": 7997, + "id": 8536, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "2805:7:13", + "referencedDeclaration": 11102, + "src": "3038:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8003, + "id": 8542, "isConstant": false, "isLValue": false, "isPure": false, @@ -2480,54 +2754,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2805:82:13", + "src": "3038:82:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8004, + "id": 8543, "nodeType": "ExpressionStatement", - "src": "2805:82:13" + "src": "3038:82:14" }, { - "id": 8005, + "id": 8544, "nodeType": "PlaceholderStatement", - "src": "2897:1:13" + "src": "3130:1:14" } ] }, "documentation": null, - "id": 8007, + "id": 8546, "name": "onlyTrustedRelayer", "nodeType": "ModifierDefinition", "parameters": { - "id": 7996, + "id": 8535, "nodeType": "ParameterList", "parameters": [], - "src": "2792:2:13" + "src": "3025:2:14" }, - "src": "2765:140:13", + "src": "2998:140:14", "visibility": "internal" }, { "body": { - "id": 8037, + "id": 8576, "nodeType": "Block", - "src": "2975:248:13", + "src": "3208:248:14", "statements": [ { "assignments": [ - 8014 + 8553 ], "declarations": [ { "constant": false, - "id": 8014, + "id": 8553, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 8037, - "src": "2985:16:13", + "scope": 8576, + "src": "3218:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2535,10 +2809,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8013, + "id": 8552, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2985:7:13", + "src": "3218:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2548,7 +2822,7 @@ "visibility": "internal" } ], - "id": 8020, + "id": 8559, "initialValue": { "argumentTypes": null, "arguments": [], @@ -2559,12 +2833,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8016, + "id": 8555, "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8009, - "src": "3018:20:13", + "referencedDeclaration": 8548, + "src": "3251:20:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2578,18 +2852,18 @@ "typeString": "address" } ], - "id": 8015, + "id": 8554, "name": "SyscoinERC20I", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7608, - "src": "3004:13:13", + "referencedDeclaration": 8109, + "src": "3237:13:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$7608_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$8109_$", "typeString": "type(contract SyscoinERC20I)" } }, - "id": 8017, + "id": 8556, "isConstant": false, "isLValue": false, "isPure": false, @@ -2597,27 +2871,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3004:35:13", + "src": "3237:35:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, - "id": 8018, + "id": 8557, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 7607, - "src": "3004:44:13", + "referencedDeclaration": 8108, + "src": "3237:44:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" } }, - "id": 8019, + "id": 8558, "isConstant": false, "isLValue": false, "isPure": false, @@ -2625,14 +2899,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3004:46:13", + "src": "3237:46:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "2985:65:13" + "src": "3218:65:14" }, { "expression": { @@ -2644,19 +2918,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8032, + "id": 8571, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8022, + "id": 8561, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8011, - "src": "3081:5:13", + "referencedDeclaration": 8550, + "src": "3314:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2669,12 +2943,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8030, + "id": 8569, "name": "MIN_LOCK_VALUE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7844, - "src": "3120:14:13", + "referencedDeclaration": 8365, + "src": "3353:14:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2697,7 +2971,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8027, + "id": 8566, "isConstant": false, "isLValue": false, "isPure": false, @@ -2708,14 +2982,14 @@ { "argumentTypes": null, "hexValue": "3130", - "id": 8024, + "id": 8563, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3099:2:13", + "src": "3332:2:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -2731,20 +3005,20 @@ "typeString": "int_const 10" } ], - "id": 8023, + "id": 8562, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3091:7:13", + "src": "3324:7:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 8025, + "id": 8564, "isConstant": false, "isLValue": false, "isPure": true, @@ -2752,7 +3026,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3091:11:13", + "src": "3324:11:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2762,52 +3036,52 @@ "operator": "**", "rightExpression": { "argumentTypes": null, - "id": 8026, + "id": 8565, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8014, - "src": "3106:8:13", + "referencedDeclaration": 8553, + "src": "3339:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3091:23:13", + "src": "3324:23:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8028, + "id": 8567, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3090:25:13", + "src": "3323:25:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8029, + "id": 8568, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 8869, - "src": "3090:29:13", + "referencedDeclaration": 9488, + "src": "3323:29:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8031, + "id": 8570, "isConstant": false, "isLValue": false, "isPure": false, @@ -2815,13 +3089,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3090:45:13", + "src": "3323:45:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3081:54:13", + "src": "3314:54:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2830,14 +3104,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d75737420626520626967676572206f7220657175616c204d494e5f4c4f434b5f56414c5545", - "id": 8033, + "id": 8572, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3149:46:13", + "src": "3382:46:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_18862e85535407d5180b1642991b362be6d5b2c71e74b596fde9034947716652", @@ -2857,21 +3131,21 @@ "typeString": "literal_string \"Value must be bigger or equal MIN_LOCK_VALUE\"" } ], - "id": 8021, + "id": 8560, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "3060:7:13", + "referencedDeclaration": 11102, + "src": "3293:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8034, + "id": 8573, "isConstant": false, "isLValue": false, "isPure": false, @@ -2879,38 +3153,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3060:145:13", + "src": "3293:145:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8035, + "id": 8574, "nodeType": "ExpressionStatement", - "src": "3060:145:13" + "src": "3293:145:14" }, { - "id": 8036, + "id": 8575, "nodeType": "PlaceholderStatement", - "src": "3215:1:13" + "src": "3448:1:14" } ] }, "documentation": null, - "id": 8038, + "id": 8577, "name": "minimumValue", "nodeType": "ModifierDefinition", "parameters": { - "id": 8012, + "id": 8551, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8009, + "id": 8548, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 8038, - "src": "2933:28:13", + "scope": 8577, + "src": "3166:28:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2918,10 +3192,10 @@ "typeString": "address" }, "typeName": { - "id": 8008, + "id": 8547, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2933:7:13", + "src": "3166:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2933,11 +3207,11 @@ }, { "constant": false, - "id": 8011, + "id": 8550, "name": "value", "nodeType": "VariableDeclaration", - "scope": 8038, - "src": "2963:10:13", + "scope": 8577, + "src": "3196:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2945,10 +3219,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8010, + "id": 8549, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2963:4:13", + "src": "3196:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2958,29 +3232,29 @@ "visibility": "internal" } ], - "src": "2932:42:13" + "src": "3165:42:14" }, - "src": "2911:312:13", + "src": "3144:312:14", "visibility": "internal" }, { "body": { - "id": 8073, + "id": 8612, "nodeType": "Block", - "src": "3301:273:13", + "src": "3534:273:14", "statements": [ { "assignments": [ - 8046 + 8585 ], "declarations": [ { "constant": false, - "id": 8046, + "id": 8585, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 8073, - "src": "3311:16:13", + "scope": 8612, + "src": "3544:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2988,10 +3262,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8045, + "id": 8584, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3311:7:13", + "src": "3544:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3001,18 +3275,18 @@ "visibility": "internal" } ], - "id": 8050, + "id": 8589, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8048, + "id": 8587, "name": "decimalsIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8040, - "src": "3338:10:13", + "referencedDeclaration": 8579, + "src": "3571:10:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3026,20 +3300,20 @@ "typeString": "uint8" } ], - "id": 8047, + "id": 8586, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3330:7:13", + "src": "3563:7:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 8049, + "id": 8588, "isConstant": false, "isLValue": false, "isPure": false, @@ -3047,14 +3321,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3330:19:13", + "src": "3563:19:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3311:38:13" + "src": "3544:38:14" }, { "expression": { @@ -3066,19 +3340,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8054, + "id": 8593, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8052, + "id": 8591, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8042, - "src": "3367:5:13", + "referencedDeclaration": 8581, + "src": "3600:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3089,14 +3363,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8053, + "id": 8592, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3375:1:13", + "src": "3608:1:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3104,7 +3378,7 @@ }, "value": "0" }, - "src": "3367:9:13", + "src": "3600:9:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3113,14 +3387,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d75737420626520706f736974697665", - "id": 8055, + "id": 8594, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3378:24:13", + "src": "3611:24:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6b17df485e9fb24391f0a5f6e971ff9213a414eba780dcd7eaae085293f2e1e6", @@ -3140,21 +3414,21 @@ "typeString": "literal_string \"Value must be positive\"" } ], - "id": 8051, + "id": 8590, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "3359:7:13", + "referencedDeclaration": 11102, + "src": "3592:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8056, + "id": 8595, "isConstant": false, "isLValue": false, "isPure": false, @@ -3162,15 +3436,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3359:44:13", + "src": "3592:44:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8057, + "id": 8596, "nodeType": "ExpressionStatement", - "src": "3359:44:13" + "src": "3592:44:14" }, { "expression": { @@ -3182,19 +3456,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8069, + "id": 8608, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8059, + "id": 8598, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8042, - "src": "3434:5:13", + "referencedDeclaration": 8581, + "src": "3667:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3207,12 +3481,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8067, + "id": 8606, "name": "MIN_LOCK_VALUE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7844, - "src": "3473:14:13", + "referencedDeclaration": 8365, + "src": "3706:14:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3235,7 +3509,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8064, + "id": 8603, "isConstant": false, "isLValue": false, "isPure": false, @@ -3246,14 +3520,14 @@ { "argumentTypes": null, "hexValue": "3130", - "id": 8061, + "id": 8600, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3452:2:13", + "src": "3685:2:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -3269,20 +3543,20 @@ "typeString": "int_const 10" } ], - "id": 8060, + "id": 8599, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3444:7:13", + "src": "3677:7:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 8062, + "id": 8601, "isConstant": false, "isLValue": false, "isPure": true, @@ -3290,7 +3564,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3444:11:13", + "src": "3677:11:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3300,52 +3574,52 @@ "operator": "**", "rightExpression": { "argumentTypes": null, - "id": 8063, + "id": 8602, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8046, - "src": "3459:8:13", + "referencedDeclaration": 8585, + "src": "3692:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3444:23:13", + "src": "3677:23:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8065, + "id": 8604, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3443:25:13", + "src": "3676:25:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8066, + "id": 8605, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 8869, - "src": "3443:29:13", + "referencedDeclaration": 9488, + "src": "3676:29:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8068, + "id": 8607, "isConstant": false, "isLValue": false, "isPure": false, @@ -3353,13 +3627,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3443:45:13", + "src": "3676:45:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3434:54:13", + "src": "3667:54:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3368,14 +3642,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d75737420626520626967676572206f7220657175616c204d494e5f4c4f434b5f56414c5545", - "id": 8070, + "id": 8609, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3502:46:13", + "src": "3735:46:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_18862e85535407d5180b1642991b362be6d5b2c71e74b596fde9034947716652", @@ -3395,21 +3669,21 @@ "typeString": "literal_string \"Value must be bigger or equal MIN_LOCK_VALUE\"" } ], - "id": 8058, + "id": 8597, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "3413:7:13", + "referencedDeclaration": 11102, + "src": "3646:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8071, + "id": 8610, "isConstant": false, "isLValue": false, "isPure": false, @@ -3417,36 +3691,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3413:145:13", + "src": "3646:145:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8072, + "id": 8611, "nodeType": "ExpressionStatement", - "src": "3413:145:13" + "src": "3646:145:14" } ] }, "documentation": null, - "id": 8074, + "id": 8613, "implemented": true, "kind": "function", "modifiers": [], "name": "requireMinimumValue", "nodeType": "FunctionDefinition", "parameters": { - "id": 8043, + "id": 8582, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8040, + "id": 8579, "name": "decimalsIn", "nodeType": "VariableDeclaration", - "scope": 8074, - "src": "3258:16:13", + "scope": 8613, + "src": "3491:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3454,10 +3728,10 @@ "typeString": "uint8" }, "typeName": { - "id": 8039, + "id": 8578, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3258:5:13", + "src": "3491:5:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3468,11 +3742,11 @@ }, { "constant": false, - "id": 8042, + "id": 8581, "name": "value", "nodeType": "VariableDeclaration", - "scope": 8074, - "src": "3276:10:13", + "scope": 8613, + "src": "3509:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3480,10 +3754,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8041, + "id": 8580, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3276:4:13", + "src": "3509:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3493,25 +3767,25 @@ "visibility": "internal" } ], - "src": "3257:30:13" + "src": "3490:30:14" }, "returnParameters": { - "id": 8044, + "id": 8583, "nodeType": "ParameterList", "parameters": [], - "src": "3301:0:13" + "src": "3534:0:14" }, - "scope": 8587, - "src": "3229:345:13", + "scope": 9203, + "src": "3462:345:14", "stateMutability": "pure", "superFunction": null, "visibility": "private" }, { "body": { - "id": 8085, + "id": 8624, "nodeType": "Block", - "src": "3651:40:13", + "src": "3884:40:14", "statements": [ { "expression": { @@ -3519,12 +3793,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8082, + "id": 8621, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8076, - "src": "3677:6:13", + "referencedDeclaration": 8615, + "src": "3910:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3538,18 +3812,18 @@ "typeString": "uint256" } ], - "id": 8081, + "id": 8620, "name": "contains", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "3668:8:13", + "referencedDeclaration": 8490, + "src": "3901:8:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 8083, + "id": 8622, "isConstant": false, "isLValue": false, "isPure": false, @@ -3557,37 +3831,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3668:16:13", + "src": "3901:16:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 8080, - "id": 8084, + "functionReturnParameters": 8619, + "id": 8623, "nodeType": "Return", - "src": "3661:23:13" + "src": "3894:23:14" } ] }, "documentation": null, - "id": 8086, + "id": 8625, "implemented": true, "kind": "function", "modifiers": [], "name": "wasSyscoinTxProcessed", "nodeType": "FunctionDefinition", "parameters": { - "id": 8077, + "id": 8616, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8076, + "id": 8615, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 8086, - "src": "3611:11:13", + "scope": 8625, + "src": "3844:11:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3595,10 +3869,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8075, + "id": 8614, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3611:4:13", + "src": "3844:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3608,19 +3882,19 @@ "visibility": "internal" } ], - "src": "3610:13:13" + "src": "3843:13:14" }, "returnParameters": { - "id": 8080, + "id": 8619, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8079, + "id": 8618, "name": "", "nodeType": "VariableDeclaration", - "scope": 8086, - "src": "3645:4:13", + "scope": 8625, + "src": "3878:4:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3628,10 +3902,10 @@ "typeString": "bool" }, "typeName": { - "id": 8078, + "id": 8617, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3645:4:13", + "src": "3878:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3641,47 +3915,47 @@ "visibility": "internal" } ], - "src": "3644:6:13" + "src": "3877:6:14" }, - "scope": 8587, - "src": "3580:111:13", + "scope": 9203, + "src": "3813:111:14", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 8214, + "id": 8753, "nodeType": "Block", - "src": "3967:1140:13", + "src": "4200:1148:14", "statements": [ { "assignments": [ - 8106 + 8645 ], "declarations": [ { "constant": false, - "id": 8106, + "id": 8645, "name": "erc20", "nodeType": "VariableDeclaration", - "scope": 8214, - "src": "3977:19:13", + "scope": 8753, + "src": "4210:19:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" }, "typeName": { "contractScope": null, - "id": 8105, + "id": 8644, "name": "SyscoinERC20I", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7608, - "src": "3977:13:13", + "referencedDeclaration": 8109, + "src": "4210:13:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, @@ -3689,18 +3963,18 @@ "visibility": "internal" } ], - "id": 8110, + "id": 8649, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8108, + "id": 8647, "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8096, - "src": "4013:20:13", + "referencedDeclaration": 8635, + "src": "4246:20:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3714,18 +3988,18 @@ "typeString": "address" } ], - "id": 8107, + "id": 8646, "name": "SyscoinERC20I", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7608, - "src": "3999:13:13", + "referencedDeclaration": 8109, + "src": "4232:13:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$7608_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$8109_$", "typeString": "type(contract SyscoinERC20I)" } }, - "id": 8109, + "id": 8648, "isConstant": false, "isLValue": false, "isPure": false, @@ -3733,27 +4007,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3999:35:13", + "src": "4232:35:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, "nodeType": "VariableDeclarationStatement", - "src": "3977:57:13" + "src": "4210:57:14" }, { "assignments": [ - 8112 + 8651 ], "declarations": [ { "constant": false, - "id": 8112, + "id": 8651, "name": "nLocalPrecision", "nodeType": "VariableDeclaration", - "scope": 8214, - "src": "4044:21:13", + "scope": 8753, + "src": "4277:21:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3761,10 +4035,10 @@ "typeString": "uint8" }, "typeName": { - "id": 8111, + "id": 8650, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "4044:5:13", + "src": "4277:5:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3774,7 +4048,7 @@ "visibility": "internal" } ], - "id": 8116, + "id": 8655, "initialValue": { "argumentTypes": null, "arguments": [], @@ -3782,32 +4056,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 8113, + "id": 8652, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8106, - "src": "4068:5:13", + "referencedDeclaration": 8645, + "src": "4301:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, - "id": 8114, + "id": 8653, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 7607, - "src": "4068:14:13", + "referencedDeclaration": 8108, + "src": "4301:14:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" } }, - "id": 8115, + "id": 8654, "isConstant": false, "isLValue": false, "isPure": false, @@ -3815,14 +4089,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4068:16:13", + "src": "4301:16:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "4044:40:13" + "src": "4277:40:14" }, { "condition": { @@ -3831,19 +4105,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 8119, + "id": 8658, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8117, + "id": 8656, "name": "nLocalPrecision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8112, - "src": "4134:15:13", + "referencedDeclaration": 8651, + "src": "4367:15:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3853,18 +4127,18 @@ "operator": ">", "rightExpression": { "argumentTypes": null, - "id": 8118, + "id": 8657, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "4152:9:13", + "referencedDeclaration": 8639, + "src": "4385:9:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "4134:27:13", + "src": "4367:27:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3877,19 +4151,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 8136, + "id": 8675, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8134, + "id": 8673, "name": "nLocalPrecision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8112, - "src": "4249:15:13", + "referencedDeclaration": 8651, + "src": "4482:15:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3899,48 +4173,48 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 8135, + "id": 8674, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "4267:9:13", + "referencedDeclaration": 8639, + "src": "4500:9:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "4249:27:13", + "src": "4482:27:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 8151, + "id": 8690, "nodeType": "IfStatement", - "src": "4246:110:13", + "src": "4479:110:14", "trueBody": { - "id": 8150, + "id": 8689, "nodeType": "Block", - "src": "4277:79:13", + "src": "4510:79:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 8148, + "id": 8687, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8137, + "id": 8676, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8090, - "src": "4291:5:13", + "referencedDeclaration": 8629, + "src": "4524:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3954,7 +4228,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8147, + "id": 8686, "isConstant": false, "isLValue": false, "isPure": false, @@ -3965,14 +4239,14 @@ { "argumentTypes": null, "hexValue": "3130", - "id": 8139, + "id": 8678, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4305:2:13", + "src": "4538:2:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -3988,20 +4262,20 @@ "typeString": "int_const 10" } ], - "id": 8138, + "id": 8677, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4300:4:13", + "src": "4533:4:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 8140, + "id": 8679, "isConstant": false, "isLValue": false, "isPure": true, @@ -4009,7 +4283,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4300:8:13", + "src": "4533:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4029,19 +4303,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 8144, + "id": 8683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8142, + "id": 8681, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "4316:9:13", + "referencedDeclaration": 8639, + "src": "4549:9:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4051,18 +4325,18 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 8143, + "id": 8682, "name": "nLocalPrecision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8112, - "src": "4328:15:13", + "referencedDeclaration": 8651, + "src": "4561:15:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "4316:27:13", + "src": "4549:27:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4076,20 +4350,20 @@ "typeString": "uint8" } ], - "id": 8141, + "id": 8680, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4311:4:13", + "src": "4544:4:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 8145, + "id": 8684, "isConstant": false, "isLValue": false, "isPure": false, @@ -4097,69 +4371,69 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4311:33:13", + "src": "4544:33:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8146, + "id": 8685, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4310:35:13", + "src": "4543:35:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4300:45:13", + "src": "4533:45:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4291:54:13", + "src": "4524:54:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8149, + "id": 8688, "nodeType": "ExpressionStatement", - "src": "4291:54:13" + "src": "4524:54:14" } ] } }, - "id": 8152, + "id": 8691, "nodeType": "IfStatement", - "src": "4131:225:13", + "src": "4364:225:14", "trueBody": { - "id": 8133, + "id": 8672, "nodeType": "Block", - "src": "4162:79:13", + "src": "4395:79:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 8131, + "id": 8670, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8120, + "id": 8659, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8090, - "src": "4176:5:13", + "referencedDeclaration": 8629, + "src": "4409:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4173,7 +4447,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8130, + "id": 8669, "isConstant": false, "isLValue": false, "isPure": false, @@ -4184,14 +4458,14 @@ { "argumentTypes": null, "hexValue": "3130", - "id": 8122, + "id": 8661, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4190:2:13", + "src": "4423:2:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -4207,20 +4481,20 @@ "typeString": "int_const 10" } ], - "id": 8121, + "id": 8660, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4185:4:13", + "src": "4418:4:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 8123, + "id": 8662, "isConstant": false, "isLValue": false, "isPure": true, @@ -4228,7 +4502,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4185:8:13", + "src": "4418:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4248,19 +4522,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 8127, + "id": 8666, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8125, + "id": 8664, "name": "nLocalPrecision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8112, - "src": "4201:15:13", + "referencedDeclaration": 8651, + "src": "4434:15:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4270,18 +4544,18 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 8126, + "id": 8665, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "4219:9:13", + "referencedDeclaration": 8639, + "src": "4452:9:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "4201:27:13", + "src": "4434:27:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4295,20 +4569,20 @@ "typeString": "uint8" } ], - "id": 8124, + "id": 8663, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4196:4:13", + "src": "4429:4:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 8128, + "id": 8667, "isConstant": false, "isLValue": false, "isPure": false, @@ -4316,41 +4590,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4196:33:13", + "src": "4429:33:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8129, + "id": 8668, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4195:35:13", + "src": "4428:35:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4185:45:13", + "src": "4418:45:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4176:54:13", + "src": "4409:54:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8132, + "id": 8671, "nodeType": "ExpressionStatement", - "src": "4176:54:13" + "src": "4409:54:14" } ] } @@ -4361,12 +4635,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8154, + "id": 8693, "name": "nLocalPrecision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8112, - "src": "4385:15:13", + "referencedDeclaration": 8651, + "src": "4618:15:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4374,12 +4648,12 @@ }, { "argumentTypes": null, - "id": 8155, + "id": 8694, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8090, - "src": "4402:5:13", + "referencedDeclaration": 8629, + "src": "4635:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4397,18 +4671,18 @@ "typeString": "uint256" } ], - "id": 8153, + "id": 8692, "name": "requireMinimumValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8074, - "src": "4365:19:13", + "referencedDeclaration": 8613, + "src": "4598:19:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$returns$__$", "typeString": "function (uint8,uint256) pure" } }, - "id": 8156, + "id": 8695, "isConstant": false, "isLValue": false, "isPure": false, @@ -4416,15 +4690,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4365:43:13", + "src": "4598:43:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8157, + "id": 8696, "nodeType": "ExpressionStatement", - "src": "4365:43:13" + "src": "4598:43:14" }, { "expression": { @@ -4435,12 +4709,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8160, + "id": 8699, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8088, - "src": "4529:6:13", + "referencedDeclaration": 8627, + "src": "4762:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4454,18 +4728,18 @@ "typeString": "uint256" } ], - "id": 8159, + "id": 8698, "name": "insert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7973, - "src": "4522:6:13", + "referencedDeclaration": 8512, + "src": "4755:6:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) returns (bool)" } }, - "id": 8161, + "id": 8700, "isConstant": false, "isLValue": false, "isPure": false, @@ -4473,7 +4747,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4522:14:13", + "src": "4755:14:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4482,14 +4756,14 @@ { "argumentTypes": null, "hexValue": "545820616c72656164792070726f636573736564", - "id": 8162, + "id": 8701, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4538:22:13", + "src": "4771:22:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_83877e4c1c00f18272fe8b607bcdef70396d3468cac4cb53db86825873dee26e", @@ -4509,21 +4783,21 @@ "typeString": "literal_string \"TX already processed\"" } ], - "id": 8158, + "id": 8697, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "4514:7:13", + "referencedDeclaration": 11102, + "src": "4747:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8163, + "id": 8702, "isConstant": false, "isLValue": false, "isPure": false, @@ -4531,20 +4805,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4514:47:13", + "src": "4747:47:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8164, + "id": 8703, "nodeType": "ExpressionStatement", - "src": "4514:47:13" + "src": "4747:47:14" }, { "expression": { "argumentTypes": null, - "id": 8174, + "id": 8713, "isConstant": false, "isLValue": false, "isPure": false, @@ -4553,26 +4827,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8165, + "id": 8704, "name": "assetBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "4573:13:13", + "referencedDeclaration": 8383, + "src": "4806:13:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" } }, - "id": 8167, + "id": 8706, "indexExpression": { "argumentTypes": null, - "id": 8166, + "id": 8705, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8098, - "src": "4587:9:13", + "referencedDeclaration": 8637, + "src": "4820:9:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -4583,7 +4857,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4573:24:13", + "src": "4806:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4596,12 +4870,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8172, + "id": 8711, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8090, - "src": "4629:5:13", + "referencedDeclaration": 8629, + "src": "4862:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4619,26 +4893,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8168, + "id": 8707, "name": "assetBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "4600:13:13", + "referencedDeclaration": 8383, + "src": "4833:13:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" } }, - "id": 8170, + "id": 8709, "indexExpression": { "argumentTypes": null, - "id": 8169, + "id": 8708, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8098, - "src": "4614:9:13", + "referencedDeclaration": 8637, + "src": "4847:9:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -4649,27 +4923,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4600:24:13", + "src": "4833:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8171, + "id": 8710, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8792, - "src": "4600:28:13", + "referencedDeclaration": 9411, + "src": "4833:28:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8173, + "id": 8712, "isConstant": false, "isLValue": false, "isPure": false, @@ -4677,34 +4951,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4600:35:13", + "src": "4833:35:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4573:62:13", + "src": "4806:62:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8175, + "id": 8714, "nodeType": "ExpressionStatement", - "src": "4573:62:13" + "src": "4806:62:14" }, { "assignments": [ - 8177 + 8716 ], "declarations": [ { "constant": false, - "id": 8177, + "id": 8716, "name": "superblockSubmitterFee", "nodeType": "VariableDeclaration", - "scope": 8214, - "src": "4646:27:13", + "scope": 8753, + "src": "4879:27:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4712,10 +4986,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8176, + "id": 8715, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4646:4:13", + "src": "4879:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4725,18 +4999,18 @@ "visibility": "internal" } ], - "id": 8182, + "id": 8721, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8180, + "id": 8719, "name": "SUPERBLOCK_SUBMITTER_LOCK_FEE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7847, - "src": "4686:29:13", + "referencedDeclaration": 8368, + "src": "4919:29:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4752,32 +5026,32 @@ ], "expression": { "argumentTypes": null, - "id": 8178, + "id": 8717, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8090, - "src": "4676:5:13", + "referencedDeclaration": 8629, + "src": "4909:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8179, + "id": 8718, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 8869, - "src": "4676:9:13", + "referencedDeclaration": 9488, + "src": "4909:9:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8181, + "id": 8720, "isConstant": false, "isLValue": false, "isPure": false, @@ -4785,27 +5059,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4676:40:13", + "src": "4909:40:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4646:70:13" + "src": "4879:70:14" }, { "assignments": [ - 8184 + 8723 ], "declarations": [ { "constant": false, - "id": 8184, + "id": 8723, "name": "userValue", "nodeType": "VariableDeclaration", - "scope": 8214, - "src": "4726:14:13", + "scope": 8753, + "src": "4959:14:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4813,10 +5087,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8183, + "id": 8722, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4726:4:13", + "src": "4959:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4826,18 +5100,18 @@ "visibility": "internal" } ], - "id": 8189, + "id": 8728, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8187, + "id": 8726, "name": "superblockSubmitterFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8177, - "src": "4753:22:13", + "referencedDeclaration": 8716, + "src": "4986:22:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4853,32 +5127,32 @@ ], "expression": { "argumentTypes": null, - "id": 8185, + "id": 8724, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8090, - "src": "4743:5:13", + "referencedDeclaration": 8629, + "src": "4976:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8186, + "id": 8725, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8792, - "src": "4743:9:13", + "referencedDeclaration": 9411, + "src": "4976:9:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8188, + "id": 8727, "isConstant": false, "isLValue": false, "isPure": false, @@ -4886,14 +5160,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4743:33:13", + "src": "4976:33:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4726:50:13" + "src": "4959:50:14" }, { "expression": { @@ -4901,12 +5175,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8193, + "id": 8732, "name": "superblockSubmitterAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8094, - "src": "4825:26:13", + "referencedDeclaration": 8633, + "src": "5062:26:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4914,12 +5188,12 @@ }, { "argumentTypes": null, - "id": 8194, + "id": 8733, "name": "superblockSubmitterFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8177, - "src": "4853:22:13", + "referencedDeclaration": 8716, + "src": "5090:22:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4939,32 +5213,32 @@ ], "expression": { "argumentTypes": null, - "id": 8190, + "id": 8729, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8106, - "src": "4810:5:13", + "referencedDeclaration": 8645, + "src": "5043:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, - "id": 8192, + "id": 8731, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "transfer", + "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 9422, - "src": "4810:14:13", + "referencedDeclaration": 10120, + "src": "5043:18:14", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10087_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10087_$", + "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 8195, + "id": 8734, "isConstant": false, "isLValue": false, "isPure": false, @@ -4972,15 +5246,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4810:66:13", + "src": "5043:70:14", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8196, + "id": 8735, "nodeType": "ExpressionStatement", - "src": "4810:66:13" + "src": "5043:70:14" }, { "eventCall": { @@ -4988,12 +5262,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8198, + "id": 8737, "name": "superblockSubmitterAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8094, - "src": "4908:26:13", + "referencedDeclaration": 8633, + "src": "5145:26:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5001,12 +5275,12 @@ }, { "argumentTypes": null, - "id": 8199, + "id": 8738, "name": "superblockSubmitterFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8177, - "src": "4936:22:13", + "referencedDeclaration": 8716, + "src": "5173:22:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5024,18 +5298,18 @@ "typeString": "uint256" } ], - "id": 8197, + "id": 8736, "name": "TokenUnfreezeFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7913, - "src": "4891:16:13", + "referencedDeclaration": 8434, + "src": "5128:16:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 8200, + "id": 8739, "isConstant": false, "isLValue": false, "isPure": false, @@ -5043,15 +5317,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4891:68:13", + "src": "5128:68:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8201, + "id": 8740, "nodeType": "EmitStatement", - "src": "4886:73:13" + "src": "5123:73:14" }, { "expression": { @@ -5059,12 +5333,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8205, + "id": 8744, "name": "destinationAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8092, - "src": "5011:18:13", + "referencedDeclaration": 8631, + "src": "5252:18:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5072,12 +5346,12 @@ }, { "argumentTypes": null, - "id": 8206, + "id": 8745, "name": "userValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8184, - "src": "5031:9:13", + "referencedDeclaration": 8723, + "src": "5272:9:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5097,32 +5371,32 @@ ], "expression": { "argumentTypes": null, - "id": 8202, + "id": 8741, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8106, - "src": "4996:5:13", + "referencedDeclaration": 8645, + "src": "5233:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, - "id": 8204, + "id": 8743, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "transfer", + "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 9422, - "src": "4996:14:13", + "referencedDeclaration": 10120, + "src": "5233:18:14", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10087_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10087_$", + "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 8207, + "id": 8746, "isConstant": false, "isLValue": false, "isPure": false, @@ -5130,15 +5404,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4996:45:13", + "src": "5233:49:14", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8208, + "id": 8747, "nodeType": "ExpressionStatement", - "src": "4996:45:13" + "src": "5233:49:14" }, { "eventCall": { @@ -5146,12 +5420,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8210, + "id": 8749, "name": "destinationAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8092, - "src": "5070:18:13", + "referencedDeclaration": 8631, + "src": "5311:18:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5159,12 +5433,12 @@ }, { "argumentTypes": null, - "id": 8211, + "id": 8750, "name": "userValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8184, - "src": "5090:9:13", + "referencedDeclaration": 8723, + "src": "5331:9:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5182,18 +5456,18 @@ "typeString": "uint256" } ], - "id": 8209, + "id": 8748, "name": "TokenUnfreeze", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7907, - "src": "5056:13:13", + "referencedDeclaration": 8428, + "src": "5297:13:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 8212, + "id": 8751, "isConstant": false, "isLValue": false, "isPure": false, @@ -5201,56 +5475,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5056:44:13", + "src": "5297:44:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8213, + "id": 8752, "nodeType": "EmitStatement", - "src": "5051:49:13" + "src": "5292:49:14" } ] }, "documentation": null, - "id": 8215, + "id": 8754, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 8103, + "id": 8642, "modifierName": { "argumentTypes": null, - "id": 8102, + "id": 8641, "name": "onlyTrustedRelayer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8007, - "src": "3948:18:13", + "referencedDeclaration": 8546, + "src": "4181:18:14", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3948:18:13" + "src": "4181:18:14" } ], "name": "processTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 8101, + "id": 8640, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8088, + "id": 8627, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3734:11:13", + "scope": 8754, + "src": "3967:11:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5258,10 +5532,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8087, + "id": 8626, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3734:4:13", + "src": "3967:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5272,11 +5546,11 @@ }, { "constant": false, - "id": 8090, + "id": 8629, "name": "value", "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3755:10:13", + "scope": 8754, + "src": "3988:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5284,10 +5558,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8089, + "id": 8628, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3755:4:13", + "src": "3988:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5298,11 +5572,11 @@ }, { "constant": false, - "id": 8092, + "id": 8631, "name": "destinationAddress", "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3775:26:13", + "scope": 8754, + "src": "4008:26:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5310,10 +5584,10 @@ "typeString": "address" }, "typeName": { - "id": 8091, + "id": 8630, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3775:7:13", + "src": "4008:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5325,11 +5599,11 @@ }, { "constant": false, - "id": 8094, + "id": 8633, "name": "superblockSubmitterAddress", "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3811:34:13", + "scope": 8754, + "src": "4044:34:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5337,10 +5611,10 @@ "typeString": "address" }, "typeName": { - "id": 8093, + "id": 8632, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3811:7:13", + "src": "4044:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5352,11 +5626,11 @@ }, { "constant": false, - "id": 8096, + "id": 8635, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3855:28:13", + "scope": 8754, + "src": "4088:28:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5364,10 +5638,10 @@ "typeString": "address" }, "typeName": { - "id": 8095, + "id": 8634, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3855:7:13", + "src": "4088:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5379,11 +5653,11 @@ }, { "constant": false, - "id": 8098, + "id": 8637, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3893:16:13", + "scope": 8754, + "src": "4126:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5391,10 +5665,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8097, + "id": 8636, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3893:6:13", + "src": "4126:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -5405,11 +5679,11 @@ }, { "constant": false, - "id": 8100, + "id": 8639, "name": "precision", "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3919:15:13", + "scope": 8754, + "src": "4152:15:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5417,10 +5691,10 @@ "typeString": "uint8" }, "typeName": { - "id": 8099, + "id": 8638, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3919:5:13", + "src": "4152:5:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5430,104 +5704,26 @@ "visibility": "internal" } ], - "src": "3724:216:13" + "src": "3957:216:14" }, "returnParameters": { - "id": 8104, + "id": 8643, "nodeType": "ParameterList", "parameters": [], - "src": "3967:0:13" + "src": "4200:0:14" }, - "scope": 8587, - "src": "3697:1410:13", + "scope": 9203, + "src": "3930:1418:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 8298, + "id": 8798, "nodeType": "Block", - "src": "5188:1606:13", + "src": "5520:509:14", "statements": [ - { - "assignments": [ - 8221 - ], - "declarations": [ - { - "constant": false, - "id": 8221, - "name": "bridgeTransfer", - "nodeType": "VariableDeclaration", - "scope": 8298, - "src": "5242:37:13", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer" - }, - "typeName": { - "contractScope": null, - "id": 8220, - "name": "BridgeTransfer", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7887, - "src": "5242:14:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8225, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8222, - "name": "bridgeTransfers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7891, - "src": "5282:15:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", - "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" - } - }, - "id": 8224, - "indexExpression": { - "argumentTypes": null, - "id": 8223, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8217, - "src": "5298:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5282:33:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5242:73:13" - }, { "expression": { "argumentTypes": null, @@ -5535,10 +5731,10 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, - "id": 8231, + "id": 8773, "isConstant": false, "isLValue": false, "isPure": false, @@ -5547,63 +5743,74 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8227, - "name": "bridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8221, - "src": "5363:14:13", + "baseExpression": { + "argumentTypes": null, + "id": 8768, + "name": "assetRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8469, + "src": "5592:13:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_AssetRegistryItem_$8465_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.AssetRegistryItem storage ref)" + } + }, + "id": 8770, + "indexExpression": { + "argumentTypes": null, + "id": 8769, + "name": "_assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8758, + "src": "5606:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5592:25:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + "typeIdentifier": "t_struct$_AssetRegistryItem_$8465_storage", + "typeString": "struct SyscoinERC20Manager.AssetRegistryItem storage ref" } }, - "id": 8228, + "id": 8771, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "status", + "memberName": "height", "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "5363:21:13", + "referencedDeclaration": 8464, + "src": "5592:32:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "nodeType": "BinaryOperation", - "operator": "==", + "operator": "<", "rightExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8229, - "name": "BridgeTransferStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "5388:20:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", - "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" - } - }, - "id": 8230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Ok", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5388:23:13", + "id": 8772, + "name": "_height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8760, + "src": "5627:7:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "src": "5363:48:13", + "src": "5592:42:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5611,21 +5818,21 @@ }, { "argumentTypes": null, - "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a20537461747573206f6620627269646765207472616e73666572206d757374206265204f6b", - "id": 8232, + "hexValue": "486569676874206d75737420696e637265617365207768656e207570646174696e67206173736574207265676973747279", + "id": 8774, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5425:84:13", + "src": "5636:51:14", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_23fd56563ec5895eb94fc75c219809c7f4f96815cdcdf621b5228b3871365031", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Status of bridge transfer must be Ok\"" + "typeIdentifier": "t_stringliteral_e7b9e6b058c2b3878eba53e095d1db51fd9ae6eaac71f50d8863f991bec1d727", + "typeString": "literal_string \"Height must increase when updating asset registry\"" }, - "value": "#SyscoinERC20Manager cancelTransferRequest(): Status of bridge transfer must be Ok" + "value": "Height must increase when updating asset registry" } ], "expression": { @@ -5635,25 +5842,25 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_23fd56563ec5895eb94fc75c219809c7f4f96815cdcdf621b5228b3871365031", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Status of bridge transfer must be Ok\"" + "typeIdentifier": "t_stringliteral_e7b9e6b058c2b3878eba53e095d1db51fd9ae6eaac71f50d8863f991bec1d727", + "typeString": "literal_string \"Height must increase when updating asset registry\"" } ], - "id": 8226, + "id": 8767, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "5355:7:13", + "referencedDeclaration": 11102, + "src": "5584:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8233, + "id": 8775, "isConstant": false, "isLValue": false, "isPure": false, @@ -5661,15 +5868,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5355:155:13", + "src": "5584:104:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8234, + "id": 8776, "nodeType": "ExpressionStatement", - "src": "5355:155:13" + "src": "5584:104:14" }, { "expression": { @@ -5677,76 +5884,48 @@ "arguments": [ { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { + "arguments": [ + { "argumentTypes": null, - "id": 8236, - "name": "msg", + "id": 8779, + "name": "_txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "5709:3:13", + "referencedDeclaration": 8756, + "src": "5809:7:14", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 8237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5709:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8238, - "name": "bridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8221, - "src": "5723:14:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 8239, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenFreezerAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 7882, - "src": "5723:34:13", + ], + "id": 8778, + "name": "insert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8512, + "src": "5802:6:14", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) returns (bool)" } }, - "src": "5709:48:13", + "id": 8780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5802:15:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5754,21 +5933,21 @@ }, { "argumentTypes": null, - "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a204f6e6c79206d73672e73656e64657220697320616c6c6f77656420746f2063616e63656c", - "id": 8241, + "hexValue": "545820616c72656164792070726f636573736564", + "id": 8781, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5759:84:13", + "src": "5819:22:14", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_91a8c7f090f8720a0a1def5e4dd2feebddf01525fa895f6c34aa9fab995e97a4", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Only msg.sender is allowed to cancel\"" + "typeIdentifier": "t_stringliteral_83877e4c1c00f18272fe8b607bcdef70396d3468cac4cb53db86825873dee26e", + "typeString": "literal_string \"TX already processed\"" }, - "value": "#SyscoinERC20Manager cancelTransferRequest(): Only msg.sender is allowed to cancel" + "value": "TX already processed" } ], "expression": { @@ -5778,25 +5957,25 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_91a8c7f090f8720a0a1def5e4dd2feebddf01525fa895f6c34aa9fab995e97a4", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Only msg.sender is allowed to cancel\"" + "typeIdentifier": "t_stringliteral_83877e4c1c00f18272fe8b607bcdef70396d3468cac4cb53db86825873dee26e", + "typeString": "literal_string \"TX already processed\"" } ], - "id": 8235, + "id": 8777, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "5701:7:13", + "referencedDeclaration": 11102, + "src": "5794:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8242, + "id": 8782, "isConstant": false, "isLValue": false, "isPure": false, @@ -5804,301 +5983,199 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5701:143:13", + "src": "5794:48:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8243, + "id": 8783, "nodeType": "ExpressionStatement", - "src": "5701:143:13" + "src": "5794:48:14" }, { "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 8791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "id": 8784, + "name": "assetRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8469, + "src": "5852:13:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_AssetRegistryItem_$8465_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.AssetRegistryItem storage ref)" + } + }, + "id": 8786, + "indexExpression": { + "argumentTypes": null, + "id": 8785, + "name": "_assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8758, + "src": "5866:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5852:25:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetRegistryItem_$8465_storage", + "typeString": "struct SyscoinERC20Manager.AssetRegistryItem storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8788, + "name": "_erc20ContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8762, + "src": "5920:21:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "id": 8259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8245, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "6047:5:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 8246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6047:15:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8247, - "name": "bridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8221, - "src": "6065:14:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" - } - }, - "id": 8248, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7876, - "src": "6065:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6047:42:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 8250, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6046:44:13", + "id": 8789, + "name": "_height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8760, + "src": "5950:7:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Network_$7899", - "typeString": "enum SyscoinERC20Manager.Network" - }, - "id": 8254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8251, - "name": "net", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7901, - "src": "6094:3:13", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", - "typeString": "enum SyscoinERC20Manager.Network" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8252, - "name": "Network", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7899, - "src": "6101:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Network_$7899_$", - "typeString": "type(enum SyscoinERC20Manager.Network)" - } - }, - "id": 8253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "MAINNET", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6101:15:13", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", - "typeString": "enum SyscoinERC20Manager.Network" - } - }, - "src": "6094:22:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "3336303030", - "id": 8256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6139:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_36000_by_1", - "typeString": "int_const 36000" - }, - "value": "36000" - }, - "id": 8257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "6094:50:13", - "trueExpression": { - "argumentTypes": null, - "id": 8255, - "name": "CANCEL_MINT_TIMEOUT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7856, - "src": "6118:19:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 8258, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6093:52:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" } - }, - "src": "6046:99:13", + ], + "id": 8787, + "name": "AssetRegistryItem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8465, + "src": "5880:17:14", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_type$_t_struct$_AssetRegistryItem_$8465_storage_ptr_$", + "typeString": "type(struct SyscoinERC20Manager.AssetRegistryItem storage pointer)" + } + }, + "id": 8790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "erc20ContractAddress", + "height" + ], + "nodeType": "FunctionCall", + "src": "5880:79:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetRegistryItem_$8465_memory", + "typeString": "struct SyscoinERC20Manager.AssetRegistryItem memory" + } + }, + "src": "5852:107:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetRegistryItem_$8465_storage", + "typeString": "struct SyscoinERC20Manager.AssetRegistryItem storage ref" + } + }, + "id": 8792, + "nodeType": "ExpressionStatement", + "src": "5852:107:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8794, + "name": "_assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8758, + "src": "5988:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, { "argumentTypes": null, - "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a205472616e73666572206d757374206265206174206c6561737420312e35207765656b206f6c64", - "id": 8260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6147:86:13", - "subdenomination": null, + "id": 8795, + "name": "_erc20ContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8762, + "src": "6000:21:14", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8c0d9055ec316d60256550cd5e09754f3bd90a283c12a178561c66ac1c562319", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Transfer must be at least 1.5 week old\"" - }, - "value": "#SyscoinERC20Manager cancelTransferRequest(): Transfer must be at least 1.5 week old" + "typeIdentifier": "t_address", + "typeString": "address" + } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, { - "typeIdentifier": "t_stringliteral_8c0d9055ec316d60256550cd5e09754f3bd90a283c12a178561c66ac1c562319", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Transfer must be at least 1.5 week old\"" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 8244, - "name": "require", + "id": 8793, + "name": "TokenRegistry", "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10188, - "src": "6038:7:13", + "overloadedDeclarations": [], + "referencedDeclaration": 8475, + "src": "5974:13:14", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_event_nonpayable$_t_uint32_$_t_address_$returns$__$", + "typeString": "function (uint32,address)" } }, - "id": 8261, + "id": 8796, "isConstant": false, "isLValue": false, "isPure": false, @@ -6106,27 +6183,264 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6038:196:13", + "src": "5974:48:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8262, - "nodeType": "ExpressionStatement", - "src": "6038:196:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "id": 8797, + "nodeType": "EmitStatement", + "src": "5969:53:14" + } + ] + }, + "documentation": null, + "id": 8799, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 8765, + "modifierName": { + "argumentTypes": null, + "id": 8764, + "name": "onlyTrustedRelayer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8546, + "src": "5501:18:14", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5501:18:14" + } + ], + "name": "processAsset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8756, + "name": "_txHash", + "nodeType": "VariableDeclaration", + "scope": 8799, + "src": "5385:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8755, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5385:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8758, + "name": "_assetGUID", + "nodeType": "VariableDeclaration", + "scope": 8799, + "src": "5407:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8757, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "5407:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8760, + "name": "_height", + "nodeType": "VariableDeclaration", + "scope": 8799, + "src": "5434:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8759, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "5434:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8762, + "name": "_erc20ContractAddress", + "nodeType": "VariableDeclaration", + "scope": 8799, + "src": "5458:29:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8761, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5458:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5375:118:14" + }, + "returnParameters": { + "id": 8766, + "nodeType": "ParameterList", + "parameters": [], + "src": "5520:0:14" + }, + "scope": 9203, + "src": "5354:675:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8882, + "nodeType": "Block", + "src": "6110:1606:14", + "statements": [ + { + "assignments": [ + 8805 + ], + "declarations": [ + { + "constant": false, + "id": 8805, + "name": "bridgeTransfer", + "nodeType": "VariableDeclaration", + "scope": 8882, + "src": "6164:37:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer" + }, + "typeName": { + "contractScope": null, + "id": 8804, + "name": "BridgeTransfer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8408, + "src": "6164:14:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8809, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8806, + "name": "bridgeTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8412, + "src": "6204:15:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" + } + }, + "id": 8808, + "indexExpression": { + "argumentTypes": null, + "id": 8807, + "name": "bridgeTransferId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8801, + "src": "6220:16:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6204:33:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6164:73:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" }, - "id": 8267, + "id": 8815, "isConstant": false, "isLValue": false, "isPure": false, @@ -6135,47 +6449,63 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8264, - "name": "msg", + "id": 8811, + "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "6287:3:13", + "referencedDeclaration": 8805, + "src": "6285:14:14", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8265, + "id": 8812, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "value", + "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6287:9:13", + "referencedDeclaration": 8407, + "src": "6285:21:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, "nodeType": "BinaryOperation", - "operator": ">=", + "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8266, - "name": "MIN_CANCEL_DEPOSIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7850, - "src": "6300:18:13", + "expression": { + "argumentTypes": null, + "id": 8813, + "name": "BridgeTransferStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8395, + "src": "6310:20:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", + "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" + } + }, + "id": 8814, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Ok", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6310:23:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, - "src": "6287:31:13", + "src": "6285:48:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6183,21 +6513,21 @@ }, { "argumentTypes": null, - "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a2043616e63656c206465706f73697420696e636f7272656374", - "id": 8268, + "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a20537461747573206f6620627269646765207472616e73666572206d757374206265204f6b", + "id": 8816, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6332:72:13", + "src": "6347:84:14", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7cf567a60f68f2d3e8d8875743d46238d07284420472912d4fcc2d90fb913b3c", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Cancel deposit incorrect\"" + "typeIdentifier": "t_stringliteral_23fd56563ec5895eb94fc75c219809c7f4f96815cdcdf621b5228b3871365031", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Status of bridge transfer must be Ok\"" }, - "value": "#SyscoinERC20Manager cancelTransferRequest(): Cancel deposit incorrect" + "value": "#SyscoinERC20Manager cancelTransferRequest(): Status of bridge transfer must be Ok" } ], "expression": { @@ -6207,25 +6537,25 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_7cf567a60f68f2d3e8d8875743d46238d07284420472912d4fcc2d90fb913b3c", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Cancel deposit incorrect\"" + "typeIdentifier": "t_stringliteral_23fd56563ec5895eb94fc75c219809c7f4f96815cdcdf621b5228b3871365031", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Status of bridge transfer must be Ok\"" } ], - "id": 8263, + "id": 8810, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "6279:7:13", + "referencedDeclaration": 11102, + "src": "6277:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8269, + "id": 8817, "isConstant": false, "isLValue": false, "isPure": false, @@ -6233,331 +6563,444 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6279:126:13", + "src": "6277:155:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8270, + "id": 8818, "nodeType": "ExpressionStatement", - "src": "6279:126:13" + "src": "6277:155:14" }, { "expression": { "argumentTypes": null, - "id": 8276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { + "arguments": [ + { "argumentTypes": null, - "id": 8271, - "name": "deposits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "6415:8:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", - "typeString": "mapping(uint32 => uint256)" - } - }, - "id": 8273, - "indexExpression": { - "argumentTypes": null, - "id": 8272, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8217, - "src": "6424:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6415:26:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8274, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "6444:3:13", + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 8824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8820, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "6631:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6631:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8822, + "name": "bridgeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8805, + "src": "6645:14:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + } + }, + "id": 8823, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenFreezerAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 8403, + "src": "6645:34:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6631:48:14", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 8275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6444:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6415:38:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8277, - "nodeType": "ExpressionStatement", - "src": "6415:38:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 8283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { + { "argumentTypes": null, - "id": 8278, - "name": "bridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8221, - "src": "6550:14:13", + "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a204f6e6c79206d73672e73656e64657220697320616c6c6f77656420746f2063616e63656c", + "id": 8825, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6681:84:14", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" - } - }, - "id": 8280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7876, - "src": "6550:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_stringliteral_91a8c7f090f8720a0a1def5e4dd2feebddf01525fa895f6c34aa9fab995e97a4", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Only msg.sender is allowed to cancel\"" + }, + "value": "#SyscoinERC20Manager cancelTransferRequest(): Only msg.sender is allowed to cancel" } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8281, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "6577:5:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_91a8c7f090f8720a0a1def5e4dd2feebddf01525fa895f6c34aa9fab995e97a4", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Only msg.sender is allowed to cancel\"" } - }, - "id": 8282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6577:15:13", + ], + "id": 8819, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "6623:7:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "src": "6550:42:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8284, - "nodeType": "ExpressionStatement", - "src": "6550:42:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 8290, + "id": 8826, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8285, - "name": "bridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8221, - "src": "6661:14:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" - } - }, - "id": 8287, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "6661:21:13", - "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8288, - "name": "BridgeTransferStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "6685:20:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", - "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" - } - }, - "id": 8289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CancelRequested", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6685:36:13", - "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" - } - }, - "src": "6661:60:13", + "names": [], + "nodeType": "FunctionCall", + "src": "6623:143:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8291, + "id": 8827, "nodeType": "ExpressionStatement", - "src": "6661:60:13" + "src": "6623:143:14" }, { - "eventCall": { + "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8293, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "6758:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 8294, + "id": 8843, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6758:10:13", + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8829, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11088, + "src": "6969:5:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 8830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6969:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8831, + "name": "bridgeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8805, + "src": "6987:14:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + } + }, + "id": 8832, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8397, + "src": "6987:24:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6969:42:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8834, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6968:44:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Network_$8420", + "typeString": "enum SyscoinERC20Manager.Network" + }, + "id": 8838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8835, + "name": "net", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8422, + "src": "7016:3:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Network_$8420", + "typeString": "enum SyscoinERC20Manager.Network" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8836, + "name": "Network", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8420, + "src": "7023:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Network_$8420_$", + "typeString": "type(enum SyscoinERC20Manager.Network)" + } + }, + "id": 8837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "MAINNET", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7023:15:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Network_$8420", + "typeString": "enum SyscoinERC20Manager.Network" + } + }, + "src": "7016:22:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "hexValue": "3336303030", + "id": 8840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7061:5:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_36000_by_1", + "typeString": "int_const 36000" + }, + "value": "36000" + }, + "id": 8841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "7016:50:14", + "trueExpression": { + "argumentTypes": null, + "id": 8839, + "name": "CANCEL_MINT_TIMEOUT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "7040:19:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8842, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7015:52:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6968:99:14", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, { "argumentTypes": null, - "id": 8295, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8217, - "src": "6770:16:13", + "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a205472616e73666572206d757374206265206174206c6561737420312e35207765656b206f6c64", + "id": 8844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7069:86:14", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } + "typeIdentifier": "t_stringliteral_8c0d9055ec316d60256550cd5e09754f3bd90a283c12a178561c66ac1c562319", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Transfer must be at least 1.5 week old\"" + }, + "value": "#SyscoinERC20Manager cancelTransferRequest(): Transfer must be at least 1.5 week old" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_bool", + "typeString": "bool" }, { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_stringliteral_8c0d9055ec316d60256550cd5e09754f3bd90a283c12a178561c66ac1c562319", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Transfer must be at least 1.5 week old\"" } ], - "id": 8292, - "name": "CancelTransferRequest", + "id": 8828, + "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7927, - "src": "6736:21:13", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "6960:7:14", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint32_$returns$__$", - "typeString": "function (address,uint32)" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "id": 8296, + "id": 8845, "isConstant": false, "isLValue": false, "isPure": false, @@ -6565,154 +7008,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6736:51:13", + "src": "6960:196:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8297, - "nodeType": "EmitStatement", - "src": "6731:56:13" - } - ] - }, - "documentation": null, - "id": 8299, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "cancelTransferRequest", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8217, - "name": "bridgeTransferId", - "nodeType": "VariableDeclaration", - "scope": 8299, - "src": "5148:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 8216, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "5148:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5147:25:13" - }, - "returnParameters": { - "id": 8219, - "nodeType": "ParameterList", - "parameters": [], - "src": "5188:0:13" - }, - "scope": 8587, - "src": "5117:1677:13", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 8396, - "nodeType": "Block", - "src": "6863:1500:13", - "statements": [ - { - "assignments": [ - 8305 - ], - "declarations": [ - { - "constant": false, - "id": 8305, - "name": "bridgeTransfer", - "nodeType": "VariableDeclaration", - "scope": 8396, - "src": "6917:37:13", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer" - }, - "typeName": { - "contractScope": null, - "id": 8304, - "name": "BridgeTransfer", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7887, - "src": "6917:14:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8309, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8306, - "name": "bridgeTransfers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7891, - "src": "6957:15:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", - "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" - } - }, - "id": 8308, - "indexExpression": { - "argumentTypes": null, - "id": 8307, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8301, - "src": "6973:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6957:33:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6917:73:13" - }, + "id": 8846, + "nodeType": "ExpressionStatement", + "src": "6960:196:14" + }, { "expression": { "argumentTypes": null, @@ -6720,10 +7025,10 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 8315, + "id": 8851, "isConstant": false, "isLValue": false, "isPure": false, @@ -6732,63 +7037,47 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8311, - "name": "bridgeTransfer", + "id": 8848, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7160:14:13", + "referencedDeclaration": 11098, + "src": "7209:3:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - "id": 8312, + "id": 8849, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "status", + "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "7160:21:13", + "referencedDeclaration": null, + "src": "7209:9:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "==", + "operator": ">=", "rightExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8313, - "name": "BridgeTransferStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "7185:20:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", - "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" - } - }, - "id": 8314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CancelRequested", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7185:36:13", + "id": 8850, + "name": "MIN_CANCEL_DEPOSIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8371, + "src": "7222:18:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "7160:61:13", + "src": "7209:31:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6796,21 +7085,21 @@ }, { "argumentTypes": null, - "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c526571756573746564", - "id": 8316, + "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a2043616e63656c206465706f73697420696e636f7272656374", + "id": 8852, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7235:78:13", + "src": "7254:72:14", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f444e1bde40d3c2f72fb42c98b3346aa734ac3a3dbb19aee9f2e7b676e8a9020", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested\"" + "typeIdentifier": "t_stringliteral_7cf567a60f68f2d3e8d8875743d46238d07284420472912d4fcc2d90fb913b3c", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Cancel deposit incorrect\"" }, - "value": "#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested" + "value": "#SyscoinERC20Manager cancelTransferRequest(): Cancel deposit incorrect" } ], "expression": { @@ -6820,25 +7109,25 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_f444e1bde40d3c2f72fb42c98b3346aa734ac3a3dbb19aee9f2e7b676e8a9020", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested\"" + "typeIdentifier": "t_stringliteral_7cf567a60f68f2d3e8d8875743d46238d07284420472912d4fcc2d90fb913b3c", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Cancel deposit incorrect\"" } ], - "id": 8310, + "id": 8847, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "7152:7:13", + "referencedDeclaration": 11102, + "src": "7201:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8317, + "id": 8853, "isConstant": false, "isLValue": false, "isPure": false, @@ -6846,613 +7135,612 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7152:162:13", + "src": "7201:126:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8318, + "id": 8854, "nodeType": "ExpressionStatement", - "src": "7152:162:13" + "src": "7201:126:14" }, { "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 8860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8320, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "7422:5:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 8321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7422:15:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8322, - "name": "bridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7440:14:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" - } - }, - "id": 8323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7876, - "src": "7440:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7422:42:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 8325, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7421:44:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 8326, - "name": "CANCEL_TRANSFER_TIMEOUT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "7468:23:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7421:70:13", + "id": 8855, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8416, + "src": "7337:8:14", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", + "typeString": "mapping(uint32 => uint256)" } }, - { + "id": 8857, + "indexExpression": { "argumentTypes": null, - "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a203120686f75722074696d656f7574206973207265717569726564", - "id": 8328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7493:74:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b1b63fa2c1e27f771de102063f0d1706513a3dec180f960944df36068b9bf482", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): 1 hour timeout is required\"" - }, - "value": "#SyscoinERC20Manager cancelTransferSuccess(): 1 hour timeout is required" + "id": 8856, + "name": "bridgeTransferId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8801, + "src": "7346:16:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7337:26:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b1b63fa2c1e27f771de102063f0d1706513a3dec180f960944df36068b9bf482", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): 1 hour timeout is required\"" + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8858, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "7366:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" } - ], - "id": 8319, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10188, - "src": "7413:7:13", + }, + "id": 8859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7366:9:14", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 8329, + "src": "7337:38:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8861, + "nodeType": "ExpressionStatement", + "src": "7337:38:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 8867, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7413:155:13", + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8862, + "name": "bridgeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8805, + "src": "7472:14:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + } + }, + "id": 8864, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8397, + "src": "7472:24:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8865, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11088, + "src": "7499:5:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 8866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7499:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7472:42:14", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 8330, + "id": 8868, "nodeType": "ExpressionStatement", - "src": "7413:155:13" + "src": "7472:42:14" }, { - "assignments": [ - 8332 - ], - "declarations": [ - { - "constant": false, - "id": 8332, - "name": "erc20", - "nodeType": "VariableDeclaration", - "scope": 8396, - "src": "7629:19:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", - "typeString": "contract SyscoinERC20I" + "expression": { + "argumentTypes": null, + "id": 8874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8869, + "name": "bridgeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8805, + "src": "7583:14:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + } }, - "typeName": { - "contractScope": null, - "id": 8331, - "name": "SyscoinERC20I", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7608, - "src": "7629:13:13", + "id": 8871, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8407, + "src": "7583:21:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8872, + "name": "BridgeTransferStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8395, + "src": "7607:20:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", - "typeString": "contract SyscoinERC20I" + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", + "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" } }, - "value": null, - "visibility": "internal" + "id": 8873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CancelRequested", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7607:36:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + } + }, + "src": "7583:60:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } - ], - "id": 8337, - "initialValue": { + }, + "id": 8875, + "nodeType": "ExpressionStatement", + "src": "7583:60:14" + }, + { + "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8334, - "name": "bridgeTransfer", + "id": 8877, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7665:14:13", + "referencedDeclaration": 11098, + "src": "7680:3:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - "id": 8335, + "id": 8878, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "erc20ContractAddress", + "memberName": "sender", "nodeType": "MemberAccess", - "referencedDeclaration": 7880, - "src": "7665:35:13", + "referencedDeclaration": null, + "src": "7680:10:14", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 8879, + "name": "bridgeTransferId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8801, + "src": "7692:16:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" } ], - "id": 8333, - "name": "SyscoinERC20I", + "id": 8876, + "name": "CancelTransferRequest", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7608, - "src": "7651:13:13", + "referencedDeclaration": 8448, + "src": "7658:21:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$7608_$", - "typeString": "type(contract SyscoinERC20I)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint32_$returns$__$", + "typeString": "function (address,uint32)" } }, - "id": 8336, + "id": 8880, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "typeConversion", + "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7651:50:13", + "src": "7658:51:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", - "typeString": "contract SyscoinERC20I" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "7629:72:13" - }, + "id": 8881, + "nodeType": "EmitStatement", + "src": "7653:56:14" + } + ] + }, + "documentation": null, + "id": 8883, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "cancelTransferRequest", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8802, + "nodeType": "ParameterList", + "parameters": [ { - "expression": { + "constant": false, + "id": 8801, + "name": "bridgeTransferId", + "nodeType": "VariableDeclaration", + "scope": 8883, + "src": "6070:23:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8800, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "6070:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6069:25:14" + }, + "returnParameters": { + "id": 8803, + "nodeType": "ParameterList", + "parameters": [], + "src": "6110:0:14" + }, + "scope": 9203, + "src": "6039:1677:14", + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8988, + "nodeType": "Block", + "src": "7785:1608:14", + "statements": [ + { + "assignments": [ + 8889 + ], + "declarations": [ + { + "constant": false, + "id": 8889, + "name": "bridgeTransfer", + "nodeType": "VariableDeclaration", + "scope": 8988, + "src": "7839:37:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer" + }, + "typeName": { + "contractScope": null, + "id": 8888, + "name": "BridgeTransfer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8408, + "src": "7839:14:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8893, + "initialValue": { "argumentTypes": null, - "id": 8350, + "baseExpression": { + "argumentTypes": null, + "id": 8890, + "name": "bridgeTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8412, + "src": "7879:15:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" + } + }, + "id": 8892, + "indexExpression": { + "argumentTypes": null, + "id": 8891, + "name": "bridgeTransferId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8885, + "src": "7895:16:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8338, - "name": "assetBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "7711:13:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", - "typeString": "mapping(uint32 => uint256)" - } - }, - "id": 8341, - "indexExpression": { + "nodeType": "IndexAccess", + "src": "7879:33:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7839:73:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8339, - "name": "bridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7725:14:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" - } + "commonType": { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" }, - "id": 8340, + "id": 8899, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "assetGUID", - "nodeType": "MemberAccess", - "referencedDeclaration": 7884, - "src": "7725:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7711:39:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { + "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8347, + "id": 8895, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7797:14:13", + "referencedDeclaration": 8889, + "src": "8082:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8348, + "id": 8896, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "value", + "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7878, - "src": "7797:20:13", + "referencedDeclaration": 8407, + "src": "8082:21:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } - ], - "expression": { + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { "argumentTypes": null, - "baseExpression": { + "expression": { "argumentTypes": null, - "id": 8342, - "name": "assetBalances", + "id": 8897, + "name": "BridgeTransferStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "7753:13:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", - "typeString": "mapping(uint32 => uint256)" - } - }, - "id": 8345, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8343, - "name": "bridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7767:14:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" - } - }, - "id": 8344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "assetGUID", - "nodeType": "MemberAccess", - "referencedDeclaration": 7884, - "src": "7767:24:13", + "referencedDeclaration": 8395, + "src": "8107:20:14", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", + "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" } }, + "id": 8898, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": false, + "isPure": true, "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7753:39:13", + "memberName": "CancelRequested", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8107:36:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, - "id": 8346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8792, - "src": "7753:43:13", + "src": "8082:61:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 8349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7753:65:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7711:107:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8351, - "nodeType": "ExpressionStatement", - "src": "7711:107:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8355, - "name": "bridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7843:14:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" - } - }, - "id": 8356, + "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c526571756573746564", + "id": 8900, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": false, + "isPure": true, + "kind": "string", "lValueRequested": false, - "memberName": "tokenFreezerAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 7882, - "src": "7843:34:13", + "nodeType": "Literal", + "src": "8157:78:14", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8357, - "name": "bridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7879:14:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" - } + "typeIdentifier": "t_stringliteral_f444e1bde40d3c2f72fb42c98b3346aa734ac3a3dbb19aee9f2e7b676e8a9020", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested\"" }, - "id": 8358, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 7878, - "src": "7879:20:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "value": "#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_stringliteral_f444e1bde40d3c2f72fb42c98b3346aa734ac3a3dbb19aee9f2e7b676e8a9020", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested\"" } ], - "expression": { - "argumentTypes": null, - "id": 8352, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8332, - "src": "7828:5:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", - "typeString": "contract SyscoinERC20I" - } - }, - "id": 8354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9422, - "src": "7828:14:13", + "id": 8894, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "8074:7:14", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "id": 8359, + "id": 8901, "isConstant": false, "isLValue": false, "isPure": false, @@ -7460,320 +7748,212 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7828:72:13", + "src": "8074:162:14", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8360, + "id": 8902, "nodeType": "ExpressionStatement", - "src": "7828:72:13" + "src": "8074:162:14" }, { - "assignments": [ - 8362 - ], - "declarations": [ - { - "constant": false, - "id": 8362, - "name": "tokenFreezeAddressPayable", - "nodeType": "VariableDeclaration", - "scope": 8396, - "src": "7938:41:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 8361, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7938:15:13", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8369, - "initialValue": { + "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { "argumentTypes": null, - "id": 8365, - "name": "bridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7998:14:13", + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8904, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11088, + "src": "8344:5:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 8905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8344:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8906, + "name": "bridgeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8889, + "src": "8362:14:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + } + }, + "id": 8907, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8397, + "src": "8362:24:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8344:42:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 8366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenFreezerAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 7882, - "src": "7998:34:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" } ], - "id": 8364, + "id": 8909, "isConstant": false, + "isInlineArray": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7990:7:13", + "nodeType": "TupleExpression", + "src": "8343:44:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": "uint160" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 8910, + "name": "CANCEL_TRANSFER_TIMEOUT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8374, + "src": "8390:23:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "id": 8367, + "src": "8343:70:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a203120686f75722074696d656f7574206973207265717569726564", + "id": 8912, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "typeConversion", + "isPure": true, + "kind": "string", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7990:43:13", + "nodeType": "Literal", + "src": "8415:74:14", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } + "typeIdentifier": "t_stringliteral_b1b63fa2c1e27f771de102063f0d1706513a3dec180f960944df36068b9bf482", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): 1 hour timeout is required\"" + }, + "value": "#SyscoinERC20Manager cancelTransferSuccess(): 1 hour timeout is required" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint160", - "typeString": "uint160" + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b1b63fa2c1e27f771de102063f0d1706513a3dec180f960944df36068b9bf482", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): 1 hour timeout is required\"" } ], - "id": 8363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7982:7:13", + "id": 8903, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "8335:7:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } }, - "id": 8368, + "id": 8913, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "typeConversion", + "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7982:52:13", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7938:96:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8373, - "name": "deposits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "8079:8:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", - "typeString": "mapping(uint32 => uint256)" - } - }, - "id": 8375, - "indexExpression": { - "argumentTypes": null, - "id": 8374, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8301, - "src": "8088:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8079:26:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8370, - "name": "tokenFreezeAddressPayable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8362, - "src": "8044:25:13", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 8372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8044:34:13", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 8376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8044:62:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8377, - "nodeType": "ExpressionStatement", - "src": "8044:62:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 8381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "8116:33:13", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8378, - "name": "deposits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "8123:8:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", - "typeString": "mapping(uint32 => uint256)" - } - }, - "id": 8380, - "indexExpression": { - "argumentTypes": null, - "id": 8379, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8301, - "src": "8132:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8123:26:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "src": "8335:155:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8382, + "id": 8914, "nodeType": "ExpressionStatement", - "src": "8116:33:13" + "src": "8335:155:14" }, { "expression": { "argumentTypes": null, - "id": 8388, + "id": 8920, "isConstant": false, "isLValue": false, "isPure": false, @@ -7782,28 +7962,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8383, + "id": 8915, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "8211:14:13", + "referencedDeclaration": 8889, + "src": "8552:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8385, + "id": 8917, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "8211:21:13", + "referencedDeclaration": 8407, + "src": "8552:21:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, @@ -7813,18 +7993,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8386, + "id": 8918, "name": "BridgeTransferStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "8235:20:13", + "referencedDeclaration": 8395, + "src": "8576:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" } }, - "id": 8387, + "id": 8919, "isConstant": false, "isLValue": false, "isPure": true, @@ -7832,67 +8012,88 @@ "memberName": "CancelOk", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8235:29:13", + "src": "8576:29:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, - "src": "8211:53:13", + "src": "8552:53:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, - "id": 8389, + "id": 8921, "nodeType": "ExpressionStatement", - "src": "8211:53:13" + "src": "8552:53:14" }, { - "eventCall": { + "assignments": [ + 8923 + ], + "declarations": [ + { + "constant": false, + "id": 8923, + "name": "erc20", + "nodeType": "VariableDeclaration", + "scope": 8988, + "src": "8666:19:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" + }, + "typeName": { + "contractScope": null, + "id": 8922, + "name": "SyscoinERC20I", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8109, + "src": "8666:13:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8928, + "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8391, + "id": 8925, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "8303:14:13", + "referencedDeclaration": 8889, + "src": "8702:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8392, + "id": 8926, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "tokenFreezerAddress", + "memberName": "erc20ContractAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 7882, - "src": "8303:34:13", + "referencedDeclaration": 8401, + "src": "8702:35:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } - }, - { - "argumentTypes": null, - "id": 8393, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8301, - "src": "8339:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } } ], "expression": { @@ -7900,321 +8101,235 @@ { "typeIdentifier": "t_address", "typeString": "address" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" } ], - "id": 8390, - "name": "CancelTransferSucceeded", + "id": 8924, + "name": "SyscoinERC20I", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7933, - "src": "8279:23:13", + "referencedDeclaration": 8109, + "src": "8688:13:14", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint32_$returns$__$", - "typeString": "function (address,uint32)" + "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$8109_$", + "typeString": "type(contract SyscoinERC20I)" } }, - "id": 8394, + "id": 8927, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8279:77:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8395, - "nodeType": "EmitStatement", - "src": "8274:82:13" - } - ] - }, - "documentation": null, - "id": 8397, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "cancelTransferSuccess", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8302, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8301, - "name": "bridgeTransferId", - "nodeType": "VariableDeclaration", - "scope": 8397, - "src": "6831:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 8300, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "6831:6:13", + "src": "8688:50:14", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" } }, - "value": null, - "visibility": "internal" - } - ], - "src": "6830:25:13" - }, - "returnParameters": { - "id": 8303, - "nodeType": "ParameterList", - "parameters": [], - "src": "6863:0:13" - }, - "scope": 8587, - "src": "6800:1563:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 8447, - "nodeType": "Block", - "src": "8510:734:13", - "statements": [ + "nodeType": "VariableDeclarationStatement", + "src": "8666:72:14" + }, { - "assignments": [ - 8407 - ], - "declarations": [ - { - "constant": false, - "id": 8407, - "name": "bridgeTransfer", - "nodeType": "VariableDeclaration", - "scope": 8447, - "src": "8564:37:13", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer" - }, - "typeName": { - "contractScope": null, - "id": 8406, - "name": "BridgeTransfer", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7887, - "src": "8564:14:13", + "expression": { + "argumentTypes": null, + "id": 8941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8929, + "name": "assetBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8383, + "src": "8748:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer" + "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", + "typeString": "mapping(uint32 => uint256)" } }, - "value": null, - "visibility": "internal" - } - ], - "id": 8411, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8408, - "name": "bridgeTransfers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7891, - "src": "8604:15:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", - "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" - } - }, - "id": 8410, - "indexExpression": { - "argumentTypes": null, - "id": 8409, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "8620:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8604:33:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8564:73:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { + "id": 8932, + "indexExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "expression": { + "argumentTypes": null, + "id": 8930, + "name": "bridgeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8889, + "src": "8762:14:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + } }, - "id": 8417, + "id": 8931, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "leftExpression": { + "memberName": "assetGUID", + "nodeType": "MemberAccess", + "referencedDeclaration": 8405, + "src": "8762:24:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8748:39:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8413, + "id": 8938, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8407, - "src": "8698:14:13", + "referencedDeclaration": 8889, + "src": "8834:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8414, + "id": 8939, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "status", + "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "8698:21:13", + "referencedDeclaration": 8399, + "src": "8834:20:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { "argumentTypes": null, - "expression": { + "baseExpression": { "argumentTypes": null, - "id": 8415, - "name": "BridgeTransferStatus", + "id": 8933, + "name": "assetBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "8723:20:13", + "referencedDeclaration": 8383, + "src": "8790:13:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", - "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" + "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", + "typeString": "mapping(uint32 => uint256)" + } + }, + "id": 8936, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8934, + "name": "bridgeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8889, + "src": "8804:14:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + } + }, + "id": 8935, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "assetGUID", + "nodeType": "MemberAccess", + "referencedDeclaration": 8405, + "src": "8804:24:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 8416, "isConstant": false, - "isLValue": false, - "isPure": true, + "isLValue": true, + "isPure": false, "lValueRequested": false, - "memberName": "CancelRequested", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8723:36:13", + "nodeType": "IndexAccess", + "src": "8790:39:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "8698:61:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c52657175657374656420746f204661696c20746865207472616e73666572", - "id": 8418, + "id": 8937, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "string", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "8773:99:13", - "subdenomination": null, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 9411, + "src": "8790:43:14", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_26d3cb8ece308e29ce5729466635b0cb05be11479477abc640daadf8cdca6ba4", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested to Fail the transfer\"" - }, - "value": "#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested to Fail the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_26d3cb8ece308e29ce5729466635b0cb05be11479477abc640daadf8cdca6ba4", - "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested to Fail the transfer\"" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" } - ], - "id": 8412, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10188, - "src": "8690:7:13", + }, + "id": 8940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8790:65:14", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 8419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8690:183:13", + "src": "8748:107:14", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 8420, + "id": 8942, "nodeType": "ExpressionStatement", - "src": "8690:183:13" + "src": "8748:107:14" }, { "expression": { @@ -8222,39 +8337,57 @@ "arguments": [ { "argumentTypes": null, - "baseExpression": { + "expression": { "argumentTypes": null, - "id": 8424, - "name": "deposits", + "id": 8946, + "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "8947:8:13", + "referencedDeclaration": 8889, + "src": "8884:14:14", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", - "typeString": "mapping(uint32 => uint256)" + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8426, - "indexExpression": { + "id": 8947, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenFreezerAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 8403, + "src": "8884:34:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 8425, - "name": "bridgeTransferId", + "id": 8948, + "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "8956:16:13", + "referencedDeclaration": 8889, + "src": "8920:14:14", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, + "id": 8949, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8947:26:13", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 8399, + "src": "8920:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8263,6 +8396,10 @@ ], "expression": { "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8270,32 +8407,32 @@ ], "expression": { "argumentTypes": null, - "id": 8421, - "name": "challengerAddress", + "id": 8943, + "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8401, - "src": "8920:17:13", + "referencedDeclaration": 8923, + "src": "8865:5:14", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" } }, - "id": 8423, + "id": 8945, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "transfer", + "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8920:26:13", + "referencedDeclaration": 10120, + "src": "8865:18:14", "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10087_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10087_$", + "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 8427, + "id": 8950, "isConstant": false, "isLValue": false, "isPure": false, @@ -8303,183 +8440,450 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8920:54:13", + "src": "8865:76:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8428, + "id": 8951, "nodeType": "ExpressionStatement", - "src": "8920:54:13" + "src": "8865:76:14" }, { - "expression": { - "argumentTypes": null, - "id": 8432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "8984:33:13", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8429, - "name": "deposits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "8991:8:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", - "typeString": "mapping(uint32 => uint256)" - } - }, - "id": 8431, - "indexExpression": { - "argumentTypes": null, - "id": 8430, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "9000:16:13", + "assignments": [ + 8953 + ], + "declarations": [ + { + "constant": false, + "id": 8953, + "name": "tokenFreezeAddressPayable", + "nodeType": "VariableDeclaration", + "scope": 8988, + "src": "8979:41:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 8952, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8979:15:14", + "stateMutability": "payable", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, + "value": null, + "visibility": "internal" + } + ], + "id": 8960, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8956, + "name": "bridgeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8889, + "src": "9039:14:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + } + }, + "id": 8957, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenFreezerAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 8403, + "src": "9039:34:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 8955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9031:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": "uint160" + }, + "id": 8958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9031:43:14", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 8954, "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8991:26:13", + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9023:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 8959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9023:52:14", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8979:96:14" + }, + { + "assignments": [ + 8962 + ], + "declarations": [ + { + "constant": false, + "id": 8962, + "name": "d", + "nodeType": "VariableDeclaration", + "scope": 8988, + "src": "9085:6:14", + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" + }, + "typeName": { + "id": 8961, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9085:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8966, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8963, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8416, + "src": "9094:8:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", + "typeString": "mapping(uint32 => uint256)" + } + }, + "id": 8965, + "indexExpression": { + "argumentTypes": null, + "id": 8964, + "name": "bridgeTransferId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8885, + "src": "9103:16:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9094:26:14", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 8433, - "nodeType": "ExpressionStatement", - "src": "8984:33:13" + "nodeType": "VariableDeclarationStatement", + "src": "9085:35:14" }, { "expression": { "argumentTypes": null, - "id": 8439, + "id": 8970, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "9130:33:14", + "subExpression": { "argumentTypes": null, - "expression": { + "baseExpression": { "argumentTypes": null, - "id": 8434, - "name": "bridgeTransfer", + "id": 8967, + "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8407, - "src": "9087:14:13", + "referencedDeclaration": 8416, + "src": "9137:8:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", + "typeString": "mapping(uint32 => uint256)" } }, - "id": 8436, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "9087:21:13", - "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { + "id": 8969, + "indexExpression": { "argumentTypes": null, - "id": 8437, - "name": "BridgeTransferStatus", + "id": 8968, + "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "9111:20:13", + "referencedDeclaration": 8885, + "src": "9146:16:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", - "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 8438, "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CancelChallenged", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9111:37:13", + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9137:26:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "9087:61:13", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8440, + "id": 8971, "nodeType": "ExpressionStatement", - "src": "9087:61:13" + "src": "9130:33:14" }, { - "eventCall": { + "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "expression": { + "hexValue": "", + "id": 8979, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9291:2:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "arguments": [ + { "argumentTypes": null, - "id": 8442, - "name": "bridgeTransfer", + "id": 8977, + "name": "d", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8407, - "src": "9184:14:13", + "referencedDeclaration": 8962, + "src": "9288:1:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 8443, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenFreezerAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 7882, - "src": "9184:34:13", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8972, + "name": "tokenFreezeAddressPayable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8953, + "src": "9251:25:14", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 8975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9251:30:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 8976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9251:36:14", + "typeDescriptions": { + "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", + "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" + } + }, + "id": 8978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9251:39:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 8980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9251:43:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "id": 8981, + "nodeType": "ExpressionStatement", + "src": "9251:43:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8983, + "name": "bridgeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8889, + "src": "9333:14:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + } + }, + "id": 8984, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenFreezerAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 8403, + "src": "9333:34:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8487,12 +8891,12 @@ }, { "argumentTypes": null, - "id": 8444, + "id": 8985, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "9220:16:13", + "referencedDeclaration": 8885, + "src": "9369:16:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8510,18 +8914,18 @@ "typeString": "uint32" } ], - "id": 8441, - "name": "CancelTransferFailed", + "id": 8982, + "name": "CancelTransferSucceeded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7939, - "src": "9163:20:13", + "referencedDeclaration": 8454, + "src": "9309:23:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint32_$returns$__$", "typeString": "function (address,uint32)" } }, - "id": 8445, + "id": 8986, "isConstant": false, "isLValue": false, "isPure": false, @@ -8529,56 +8933,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9163:74:13", + "src": "9309:77:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8446, + "id": 8987, "nodeType": "EmitStatement", - "src": "9158:79:13" + "src": "9304:82:14" } ] }, "documentation": null, - "id": 8448, + "id": 8989, "implemented": true, "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8404, - "modifierName": { - "argumentTypes": null, - "id": 8403, - "name": "onlyTrustedRelayer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8007, - "src": "8487:18:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8487:18:13" - } - ], - "name": "processCancelTransferFail", + "modifiers": [], + "name": "cancelTransferSuccess", "nodeType": "FunctionDefinition", "parameters": { - "id": 8402, + "id": 8886, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8399, + "id": 8885, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 8448, - "src": "8404:23:13", + "scope": 8989, + "src": "7753:23:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8586,10 +8970,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8398, + "id": 8884, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "8404:6:13", + "src": "7753:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8597,55 +8981,106 @@ }, "value": null, "visibility": "internal" - }, - { - "constant": false, - "id": 8401, - "name": "challengerAddress", - "nodeType": "VariableDeclaration", - "scope": 8448, - "src": "8429:33:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 8400, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8429:15:13", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" } ], - "src": "8403:60:13" + "src": "7752:25:14" }, "returnParameters": { - "id": 8405, + "id": 8887, "nodeType": "ParameterList", "parameters": [], - "src": "8510:0:13" + "src": "7785:0:14" }, - "scope": 8587, - "src": "8369:875:13", + "scope": 9203, + "src": "7722:1671:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 8547, + "id": 9047, "nodeType": "Block", - "src": "9574:1119:13", + "src": "9540:838:14", "statements": [ + { + "assignments": [ + 8999 + ], + "declarations": [ + { + "constant": false, + "id": 8999, + "name": "bridgeTransfer", + "nodeType": "VariableDeclaration", + "scope": 9047, + "src": "9594:37:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer" + }, + "typeName": { + "contractScope": null, + "id": 8998, + "name": "BridgeTransfer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8408, + "src": "9594:14:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9003, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9000, + "name": "bridgeTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8412, + "src": "9634:15:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" + } + }, + "id": 9002, + "indexExpression": { + "argumentTypes": null, + "id": 9001, + "name": "bridgeTransferId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8991, + "src": "9650:16:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9634:33:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9594:73:14" + }, { "expression": { "argumentTypes": null, @@ -8653,10 +9088,10 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" }, - "id": 8471, + "id": 9009, "isConstant": false, "isLValue": false, "isPure": false, @@ -8665,52 +9100,63 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8468, - "name": "syscoinAddress", + "id": 9005, + "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8458, - "src": "9592:14:13", + "referencedDeclaration": 8999, + "src": "9728:14:14", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8469, + "id": 9006, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "length", + "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9592:21:13", + "referencedDeclaration": 8407, + "src": "9728:21:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, "nodeType": "BinaryOperation", - "operator": ">", + "operator": "==", "rightExpression": { "argumentTypes": null, - "hexValue": "30", - "id": 8470, + "expression": { + "argumentTypes": null, + "id": 9007, + "name": "BridgeTransferStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8395, + "src": "9753:20:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", + "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" + } + }, + "id": 9008, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", "lValueRequested": false, - "nodeType": "Literal", - "src": "9616:1:13", - "subdenomination": null, + "memberName": "CancelRequested", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9753:36:14", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + } }, - "src": "9592:25:13", + "src": "9728:61:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8718,21 +9164,21 @@ }, { "argumentTypes": null, - "hexValue": "737973636f696e416464726573732063616e6e6f74206265207a65726f", - "id": 8472, + "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c52657175657374656420746f204661696c20746865207472616e73666572", + "id": 9010, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9619:31:13", + "src": "9803:99:14", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0b67a3f9ef585ea953b1562bd4de087af045e9e10c087c7d74396dc32c41243e", - "typeString": "literal_string \"syscoinAddress cannot be zero\"" + "typeIdentifier": "t_stringliteral_26d3cb8ece308e29ce5729466635b0cb05be11479477abc640daadf8cdca6ba4", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested to Fail the transfer\"" }, - "value": "syscoinAddress cannot be zero" + "value": "#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested to Fail the transfer" } ], "expression": { @@ -8742,25 +9188,25 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_0b67a3f9ef585ea953b1562bd4de087af045e9e10c087c7d74396dc32c41243e", - "typeString": "literal_string \"syscoinAddress cannot be zero\"" + "typeIdentifier": "t_stringliteral_26d3cb8ece308e29ce5729466635b0cb05be11479477abc640daadf8cdca6ba4", + "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested to Fail the transfer\"" } ], - "id": 8467, + "id": 9004, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "9584:7:13", + "referencedDeclaration": 11102, + "src": "9720:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8473, + "id": 9011, "isConstant": false, "isLValue": false, "isPure": false, @@ -8768,218 +9214,230 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9584:67:13", + "src": "9720:183:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8474, + "id": 9012, "nodeType": "ExpressionStatement", - "src": "9584:67:13" + "src": "9720:183:14" }, { "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 9018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 8478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8476, - "name": "assetGUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8452, - "src": "9669:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9681:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9669:13:13", + "id": 9013, + "name": "bridgeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8999, + "src": "9973:14:14", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - { + "id": 9015, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8407, + "src": "9973:21:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "hexValue": "41737365742047554944206d757374206e6f742062652030", - "id": 8479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9684:26:13", - "subdenomination": null, + "id": 9016, + "name": "BridgeTransferStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8395, + "src": "9997:20:14", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30eeed46334432d1d1159231617e71ae2a0761ac46a6fc717142d08aba6c306f", - "typeString": "literal_string \"Asset GUID must not be 0\"" - }, - "value": "Asset GUID must not be 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_30eeed46334432d1d1159231617e71ae2a0761ac46a6fc717142d08aba6c306f", - "typeString": "literal_string \"Asset GUID must not be 0\"" + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", + "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" } - ], - "id": 8475, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10188, - "src": "9661:7:13", + }, + "id": 9017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CancelChallenged", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9997:37:14", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, - "id": 8480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9661:50:13", + "src": "9973:61:14", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, - "id": 8481, + "id": 9019, "nodeType": "ExpressionStatement", - "src": "9661:50:13" + "src": "9973:61:14" }, { "assignments": [ - 8483 + 9021 ], "declarations": [ { "constant": false, - "id": 8483, - "name": "erc20", + "id": 9021, + "name": "d", "nodeType": "VariableDeclaration", - "scope": 8547, - "src": "9731:19:13", + "scope": 9047, + "src": "10081:6:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", - "typeString": "contract SyscoinERC20I" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "contractScope": null, - "id": 8482, - "name": "SyscoinERC20I", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7608, - "src": "9731:13:13", + "id": 9020, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10081:4:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", - "typeString": "contract SyscoinERC20I" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "id": 8487, + "id": 9025, "initialValue": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8485, - "name": "erc20ContractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8454, - "src": "9767:20:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "baseExpression": { + "argumentTypes": null, + "id": 9022, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8416, + "src": "10090:8:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", + "typeString": "mapping(uint32 => uint256)" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8484, - "name": "SyscoinERC20I", + }, + "id": 9024, + "indexExpression": { + "argumentTypes": null, + "id": 9023, + "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7608, - "src": "9753:13:13", + "referencedDeclaration": 8991, + "src": "10099:16:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$7608_$", - "typeString": "type(contract SyscoinERC20I)" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 8486, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "typeConversion", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9753:35:13", + "nodeType": "IndexAccess", + "src": "10090:26:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", - "typeString": "contract SyscoinERC20I" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "9731:57:13" + "src": "10081:35:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 9029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "10126:33:14", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9026, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8416, + "src": "10133:8:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", + "typeString": "mapping(uint32 => uint256)" + } + }, + "id": 9028, + "indexExpression": { + "argumentTypes": null, + "id": 9027, + "name": "bridgeTransferId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8991, + "src": "10142:16:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10133:26:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9030, + "nodeType": "ExpressionStatement", + "src": "10126:33:14" }, { "expression": { @@ -8987,127 +9445,110 @@ "arguments": [ { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 8493, + "hexValue": "", + "id": 9038, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "string", "lValueRequested": false, - "leftExpression": { + "nodeType": "Literal", + "src": "10279:2:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "arguments": [ + { "argumentTypes": null, - "id": 8489, - "name": "precision", + "id": 9036, + "name": "d", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8456, - "src": "9806:9:13", + "referencedDeclaration": 9021, + "src": "10276:1:14", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { "argumentTypes": null, - "arguments": [], "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 8490, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8483, - "src": "9819:5:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", - "typeString": "contract SyscoinERC20I" - } - }, - "id": 8491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 7607, - "src": "9819:14:13", + "argumentTypes": null, + "id": 9031, + "name": "challengerAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8993, + "src": "10247:17:14", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", - "typeString": "function () view external returns (uint8)" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "id": 8492, + "id": 9034, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9819:16:13", + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10247:22:14", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "src": "9806:29:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "446563696d616c732077657265206e6f742070726f766964656420776974682074686520636f72726563742076616c7565", - "id": 8494, + "id": 9035, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "string", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "9837:51:13", - "subdenomination": null, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10247:28:14", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07c3c35b3e4eeb831a6214ae55b4b048c49535a47a1ebfcb2528c95a96e7290e", - "typeString": "literal_string \"Decimals were not provided with the correct value\"" - }, - "value": "Decimals were not provided with the correct value" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_07c3c35b3e4eeb831a6214ae55b4b048c49535a47a1ebfcb2528c95a96e7290e", - "typeString": "literal_string \"Decimals were not provided with the correct value\"" + "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", + "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } - ], - "id": 8488, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10188, - "src": "9798:7:13", + }, + "id": 9037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10247:31:14", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 8495, + "id": 9039, "isConstant": false, "isLValue": false, "isPure": false, @@ -9115,95 +9556,44 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9798:91:13", + "src": "10247:35:14", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" } }, - "id": 8496, + "id": 9040, "nodeType": "ExpressionStatement", - "src": "9798:91:13" + "src": "10247:35:14" }, { - "expression": { + "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8500, - "name": "msg", + "id": 9042, + "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "9918:3:13", + "referencedDeclaration": 8999, + "src": "10318:14:14", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8501, + "id": 9043, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "sender", + "memberName": "tokenFreezerAddress", "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9918:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8503, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10238, - "src": "9938:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20Manager_$8587", - "typeString": "contract SyscoinERC20Manager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_SyscoinERC20Manager_$8587", - "typeString": "contract SyscoinERC20Manager" - } - ], - "id": 8502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9930:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 8504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9930:13:13", + "referencedDeclaration": 8403, + "src": "10318:34:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9211,61 +9601,41 @@ }, { "argumentTypes": null, - "id": 8505, - "name": "value", + "id": 9044, + "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8450, - "src": "9945:5:13", + "referencedDeclaration": 8991, + "src": "10354:16:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } } ], "expression": { "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, { "typeIdentifier": "t_address", "typeString": "address" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } ], - "expression": { - "argumentTypes": null, - "id": 8497, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8483, - "src": "9899:5:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", - "typeString": "contract SyscoinERC20I" - } - }, - "id": 8499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9451, - "src": "9899:18:13", + "id": 9041, + "name": "CancelTransferFailed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8460, + "src": "10297:20:14", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint32_$returns$__$", + "typeString": "function (address,uint32)" } }, - "id": 8506, + "id": 9045, "isConstant": false, "isLValue": false, "isPure": false, @@ -9273,538 +9643,354 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9899:52:13", + "src": "10297:74:14", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8507, - "nodeType": "ExpressionStatement", - "src": "9899:52:13" + "id": 9046, + "nodeType": "EmitStatement", + "src": "10292:79:14" + } + ] + }, + "documentation": null, + "id": 9048, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 8996, + "modifierName": { + "argumentTypes": null, + "id": 8995, + "name": "onlyTrustedRelayer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8546, + "src": "9517:18:14", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "9517:18:14" + } + ], + "name": "processCancelTransferFail", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8994, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8991, + "name": "bridgeTransferId", + "nodeType": "VariableDeclaration", + "scope": 9048, + "src": "9434:23:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8990, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "9434:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" }, + { + "constant": false, + "id": 8993, + "name": "challengerAddress", + "nodeType": "VariableDeclaration", + "scope": 9048, + "src": "9459:33:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 8992, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9459:15:14", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9433:60:14" + }, + "returnParameters": { + "id": 8997, + "nodeType": "ParameterList", + "parameters": [], + "src": "9540:0:14" + }, + "scope": 9203, + "src": "9399:979:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9163, + "nodeType": "Block", + "src": "10708:1327:14", + "statements": [ { "expression": { "argumentTypes": null, - "id": 8517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { + "arguments": [ + { "argumentTypes": null, - "id": 8508, - "name": "assetBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "9961:13:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", - "typeString": "mapping(uint32 => uint256)" - } - }, - "id": 8510, - "indexExpression": { - "argumentTypes": null, - "id": 8509, - "name": "assetGUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8452, - "src": "9975:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9961:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8515, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8450, - "src": "10017:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8511, - "name": "assetBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "9988:13:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", - "typeString": "mapping(uint32 => uint256)" - } - }, - "id": 8513, - "indexExpression": { + "expression": { "argumentTypes": null, - "id": 8512, - "name": "assetGUID", + "id": 9068, + "name": "syscoinAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8452, - "src": "10002:9:13", + "referencedDeclaration": 9058, + "src": "10726:14:14", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, + "id": 9069, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9988:24:13", + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10726:21:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8514, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 9070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10750:1:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10726:25:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "737973636f696e416464726573732063616e6e6f74206265207a65726f", + "id": 9072, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "string", "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "9988:28:13", + "nodeType": "Literal", + "src": "10753:31:14", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_stringliteral_0b67a3f9ef585ea953b1562bd4de087af045e9e10c087c7d74396dc32c41243e", + "typeString": "literal_string \"syscoinAddress cannot be zero\"" + }, + "value": "syscoinAddress cannot be zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0b67a3f9ef585ea953b1562bd4de087af045e9e10c087c7d74396dc32c41243e", + "typeString": "literal_string \"syscoinAddress cannot be zero\"" } - }, - "id": 8516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9988:35:13", + ], + "id": 9067, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "10718:7:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "src": "9961:62:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8518, - "nodeType": "ExpressionStatement", - "src": "9961:62:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 8520, + "id": 9073, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "10251:23:13", - "subExpression": { - "argumentTypes": null, - "id": 8519, - "name": "bridgeTransferIdCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7868, - "src": "10251:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, + "names": [], + "nodeType": "FunctionCall", + "src": "10718:67:14", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8521, + "id": 9074, "nodeType": "ExpressionStatement", - "src": "10251:23:13" + "src": "10718:67:14" }, { "expression": { "argumentTypes": null, - "id": 8536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8522, - "name": "bridgeTransfers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7891, - "src": "10284:15:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", - "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" - } - }, - "id": 8524, - "indexExpression": { + "arguments": [ + { "argumentTypes": null, - "id": 8523, - "name": "bridgeTransferIdCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7868, - "src": "10300:21:13", - "typeDescriptions": { + "commonType": { "typeIdentifier": "t_uint32", "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10284:38:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8526, - "name": "BridgeTransferStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "10362:20:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", - "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" - } - }, - "id": 8527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Ok", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10362:23:13", - "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" - } }, - { + "id": 9078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "id": 8528, - "name": "value", + "id": 9076, + "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8450, - "src": "10406:5:13", + "referencedDeclaration": 9052, + "src": "10803:9:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - { + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { "argumentTypes": null, - "id": 8529, - "name": "erc20ContractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8454, - "src": "10447:20:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8530, - "name": "assetGUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8452, - "src": "10492:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8531, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "10526:5:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 8532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10526:15:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8533, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "10576:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8534, + "hexValue": "30", + "id": 9077, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10576:10:13", + "nodeType": "Literal", + "src": "10815:1:14", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 8525, - "name": "BridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7887, - "src": "10325:14:13", + "value": "0" + }, + "src": "10803:13:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_BridgeTransfer_$7887_storage_ptr_$", - "typeString": "type(struct SyscoinERC20Manager.BridgeTransfer storage pointer)" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 8535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "status", - "value", - "erc20ContractAddress", - "assetGUID", - "timestamp", - "tokenFreezerAddress" - ], - "nodeType": "FunctionCall", - "src": "10325:272:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_memory", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer memory" - } - }, - "src": "10284:313:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" - } - }, - "id": 8537, - "nodeType": "ExpressionStatement", - "src": "10284:313:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8539, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "10624:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8540, + "hexValue": "41737365742047554944206d757374206e6f742062652030", + "id": 9079, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "string", "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10624:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8541, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8450, - "src": "10636:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8542, - "name": "bridgeTransferIdCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7868, - "src": "10643:21:13", + "nodeType": "Literal", + "src": "10818:26:14", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } + "typeIdentifier": "t_stringliteral_30eeed46334432d1d1159231617e71ae2a0761ac46a6fc717142d08aba6c306f", + "typeString": "literal_string \"Asset GUID must not be 0\"" + }, + "value": "Asset GUID must not be 0" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_stringliteral_30eeed46334432d1d1159231617e71ae2a0761ac46a6fc717142d08aba6c306f", + "typeString": "literal_string \"Asset GUID must not be 0\"" } ], - "id": 8538, - "name": "TokenFreeze", + "id": 9075, + "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7921, - "src": "10612:11:13", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "10795:7:14", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint32_$returns$__$", - "typeString": "function (address,uint256,uint32)" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "id": 8543, + "id": 9080, "isConstant": false, "isLValue": false, "isPure": false, @@ -9812,57 +9998,1213 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10612:53:13", + "src": "10795:50:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8544, - "nodeType": "EmitStatement", - "src": "10607:58:13" + "id": 9081, + "nodeType": "ExpressionStatement", + "src": "10795:50:14" }, { - "expression": { + "condition": { "argumentTypes": null, - "hexValue": "74727565", - "id": 8545, + "commonType": { + "typeIdentifier": "t_enum$_Network_$8420", + "typeString": "enum SyscoinERC20Manager.Network" + }, + "id": 9085, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "bool", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "10682:4:13", - "subdenomination": null, + "leftExpression": { + "argumentTypes": null, + "id": 9082, + "name": "net", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8422, + "src": "10859:3:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Network_$8420", + "typeString": "enum SyscoinERC20Manager.Network" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9083, + "name": "Network", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8420, + "src": "10866:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Network_$8420_$", + "typeString": "type(enum SyscoinERC20Manager.Network)" + } + }, + "id": 9084, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REGTEST", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10866:15:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Network_$8420", + "typeString": "enum SyscoinERC20Manager.Network" + } + }, + "src": "10859:22:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" - }, - "value": "true" + } }, - "functionReturnParameters": 8466, - "id": 8546, - "nodeType": "Return", - "src": "10675:11:13" - } - ] - }, - "documentation": null, - "id": 8548, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { + "falseBody": null, + "id": 9097, + "nodeType": "IfStatement", + "src": "10855:204:14", + "trueBody": { + "id": 9096, + "nodeType": "Block", + "src": "10883:176:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9087, + "name": "assetRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8469, + "src": "10905:13:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_AssetRegistryItem_$8465_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.AssetRegistryItem storage ref)" + } + }, + "id": 9089, + "indexExpression": { + "argumentTypes": null, + "id": 9088, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9052, + "src": "10919:9:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10905:24:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetRegistryItem_$8465_storage", + "typeString": "struct SyscoinERC20Manager.AssetRegistryItem storage ref" + } + }, + "id": 9090, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "erc20ContractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "10905:45:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 9091, + "name": "erc20ContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9054, + "src": "10954:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10905:69:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "417373657420726567697374727920636f6e747261637420646f6573206e6f74206d617463682077686174207761732070726f766964656420746f20746869732063616c6c", + "id": 9093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10976:71:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a27c2d539f8e168bc3f8085f0c87621ba225f0512629550efe66eae5af088a23", + "typeString": "literal_string \"Asset registry contract does not match what was provided to this call\"" + }, + "value": "Asset registry contract does not match what was provided to this call" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a27c2d539f8e168bc3f8085f0c87621ba225f0512629550efe66eae5af088a23", + "typeString": "literal_string \"Asset registry contract does not match what was provided to this call\"" + } + ], + "id": 9086, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "10897:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10897:151:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9095, + "nodeType": "ExpressionStatement", + "src": "10897:151:14" + } + ] + } + }, + { + "assignments": [ + 9099 + ], + "declarations": [ + { + "constant": false, + "id": 9099, + "name": "erc20", + "nodeType": "VariableDeclaration", + "scope": 9163, + "src": "11069:19:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" + }, + "typeName": { + "contractScope": null, + "id": 9098, + "name": "SyscoinERC20I", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8109, + "src": "11069:13:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9103, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9101, + "name": "erc20ContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9054, + "src": "11105:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9100, + "name": "SyscoinERC20I", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8109, + "src": "11091:13:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$8109_$", + "typeString": "type(contract SyscoinERC20I)" + } + }, + "id": 9102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11091:35:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11069:57:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 9109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9105, + "name": "precision", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9056, + "src": "11144:9:14", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 9106, + "name": "erc20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9099, + "src": "11157:5:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" + } + }, + "id": 9107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 8108, + "src": "11157:14:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", + "typeString": "function () view external returns (uint8)" + } + }, + "id": 9108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11157:16:14", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "11144:29:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "446563696d616c732077657265206e6f742070726f766964656420776974682074686520636f72726563742076616c7565", + "id": 9110, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11175:51:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_07c3c35b3e4eeb831a6214ae55b4b048c49535a47a1ebfcb2528c95a96e7290e", + "typeString": "literal_string \"Decimals were not provided with the correct value\"" + }, + "value": "Decimals were not provided with the correct value" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_07c3c35b3e4eeb831a6214ae55b4b048c49535a47a1ebfcb2528c95a96e7290e", + "typeString": "literal_string \"Decimals were not provided with the correct value\"" + } + ], + "id": 9104, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "11136:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11136:91:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9112, + "nodeType": "ExpressionStatement", + "src": "11136:91:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9116, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "11260:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11260:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9119, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11158, + "src": "11280:4:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinERC20Manager_$9203", + "typeString": "contract SyscoinERC20Manager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SyscoinERC20Manager_$9203", + "typeString": "contract SyscoinERC20Manager" + } + ], + "id": 9118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11272:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 9120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11272:13:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 9121, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9050, + "src": "11287:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 9113, + "name": "erc20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9099, + "src": "11237:5:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" + } + }, + "id": 9115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 10145, + "src": "11237:22:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10087_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10087_$", + "typeString": "function (contract IERC20,address,address,uint256)" + } + }, + "id": 9122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11237:56:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9123, + "nodeType": "ExpressionStatement", + "src": "11237:56:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 9133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9124, + "name": "assetBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8383, + "src": "11303:13:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", + "typeString": "mapping(uint32 => uint256)" + } + }, + "id": 9126, + "indexExpression": { + "argumentTypes": null, + "id": 9125, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9052, + "src": "11317:9:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11303:24:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9131, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9050, + "src": "11359:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9127, + "name": "assetBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8383, + "src": "11330:13:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", + "typeString": "mapping(uint32 => uint256)" + } + }, + "id": 9129, + "indexExpression": { + "argumentTypes": null, + "id": 9128, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9052, + "src": "11344:9:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11330:24:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 9395, + "src": "11330:28:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 9132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11330:35:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11303:62:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9134, + "nodeType": "ExpressionStatement", + "src": "11303:62:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 9136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11593:23:14", + "subExpression": { + "argumentTypes": null, + "id": 9135, + "name": "bridgeTransferIdCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8389, + "src": "11593:21:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 9137, + "nodeType": "ExpressionStatement", + "src": "11593:23:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 9152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9138, + "name": "bridgeTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8412, + "src": "11626:15:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" + } + }, + "id": 9140, + "indexExpression": { + "argumentTypes": null, + "id": 9139, + "name": "bridgeTransferIdCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8389, + "src": "11642:21:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11626:38:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9142, + "name": "BridgeTransferStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8395, + "src": "11704:20:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", + "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" + } + }, + "id": 9143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Ok", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11704:23:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + } + }, + { + "argumentTypes": null, + "id": 9144, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9050, + "src": "11748:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9145, + "name": "erc20ContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9054, + "src": "11789:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 9146, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9052, + "src": "11834:9:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9147, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11088, + "src": "11868:5:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 9148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11868:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9149, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "11918:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11918:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 9141, + "name": "BridgeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8408, + "src": "11667:14:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_BridgeTransfer_$8408_storage_ptr_$", + "typeString": "type(struct SyscoinERC20Manager.BridgeTransfer storage pointer)" + } + }, + "id": 9151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "status", + "value", + "erc20ContractAddress", + "assetGUID", + "timestamp", + "tokenFreezerAddress" + ], + "nodeType": "FunctionCall", + "src": "11667:272:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_memory", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer memory" + } + }, + "src": "11626:313:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" + } + }, + "id": 9153, + "nodeType": "ExpressionStatement", + "src": "11626:313:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9155, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "11966:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11966:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 9157, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9050, + "src": "11978:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9158, + "name": "bridgeTransferIdCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8389, + "src": "11985:21:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + ], + "id": 9154, + "name": "TokenFreeze", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8442, + "src": "11954:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint32_$returns$__$", + "typeString": "function (address,uint256,uint32)" + } + }, + "id": 9159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11954:53:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9160, + "nodeType": "EmitStatement", + "src": "11949:58:14" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12024:4:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 9066, + "id": 9162, + "nodeType": "Return", + "src": "12017:11:14" + } + ] + }, + "documentation": null, + "id": 9164, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { "argumentTypes": null, - "id": 8461, + "id": 9061, "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8454, - "src": "9518:20:13", + "referencedDeclaration": 9054, + "src": "10652:20:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9870,49 +11212,49 @@ }, { "argumentTypes": null, - "id": 8462, + "id": 9062, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8450, - "src": "9540:5:13", + "referencedDeclaration": 9050, + "src": "10674:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8463, + "id": 9063, "modifierName": { "argumentTypes": null, - "id": 8460, + "id": 9060, "name": "minimumValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8038, - "src": "9505:12:13", + "referencedDeclaration": 8577, + "src": "10639:12:14", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$_t_uint256_$", "typeString": "modifier (address,uint256)" } }, "nodeType": "ModifierInvocation", - "src": "9505:41:13" + "src": "10639:41:14" } ], "name": "freezeBurnERC20", "nodeType": "FunctionDefinition", "parameters": { - "id": 8459, + "id": 9059, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8450, + "id": 9050, "name": "value", "nodeType": "VariableDeclaration", - "scope": 8548, - "src": "9339:10:13", + "scope": 9164, + "src": "10473:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9920,10 +11262,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8449, + "id": 9049, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "9339:4:13", + "src": "10473:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9934,11 +11276,11 @@ }, { "constant": false, - "id": 8452, + "id": 9052, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 8548, - "src": "9359:16:13", + "scope": 9164, + "src": "10493:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9946,10 +11288,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8451, + "id": 9051, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "9359:6:13", + "src": "10493:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9960,11 +11302,11 @@ }, { "constant": false, - "id": 8454, + "id": 9054, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 8548, - "src": "9385:28:13", + "scope": 9164, + "src": "10519:28:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9972,10 +11314,10 @@ "typeString": "address" }, "typeName": { - "id": 8453, + "id": 9053, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9385:7:13", + "src": "10519:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9987,11 +11329,11 @@ }, { "constant": false, - "id": 8456, + "id": 9056, "name": "precision", "nodeType": "VariableDeclaration", - "scope": 8548, - "src": "9423:15:13", + "scope": 9164, + "src": "10557:15:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9999,10 +11341,10 @@ "typeString": "uint8" }, "typeName": { - "id": 8455, + "id": 9055, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "9423:5:13", + "src": "10557:5:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10013,11 +11355,11 @@ }, { "constant": false, - "id": 8458, + "id": 9058, "name": "syscoinAddress", "nodeType": "VariableDeclaration", - "scope": 8548, - "src": "9448:27:13", + "scope": 9164, + "src": "10582:27:14", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -10025,10 +11367,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8457, + "id": 9057, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9448:5:13", + "src": "10582:5:14", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -10038,19 +11380,19 @@ "visibility": "internal" } ], - "src": "9329:152:13" + "src": "10463:152:14" }, "returnParameters": { - "id": 8466, + "id": 9066, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8465, + "id": 9065, "name": "", "nodeType": "VariableDeclaration", - "scope": 8548, - "src": "9564:4:13", + "scope": 9164, + "src": "10698:4:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10058,10 +11400,10 @@ "typeString": "bool" }, "typeName": { - "id": 8464, + "id": 9064, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "9564:4:13", + "src": "10698:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10071,47 +11413,47 @@ "visibility": "internal" } ], - "src": "9563:6:13" + "src": "10697:6:14" }, - "scope": 8587, - "src": "9305:1388:13", + "scope": 9203, + "src": "10439:1596:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 8585, + "id": 9201, "nodeType": "Block", - "src": "11058:359:13", + "src": "12400:359:14", "statements": [ { "assignments": [ - 8566 + 9182 ], "declarations": [ { "constant": false, - "id": 8566, + "id": 9182, "name": "bridgeTransfer", "nodeType": "VariableDeclaration", - "scope": 8585, - "src": "11068:37:13", + "scope": 9201, + "src": "12410:37:14", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer" }, "typeName": { "contractScope": null, - "id": 8565, + "id": 9181, "name": "BridgeTransfer", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7887, - "src": "11068:14:13", + "referencedDeclaration": 8408, + "src": "12410:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer" } }, @@ -10119,31 +11461,31 @@ "visibility": "internal" } ], - "id": 8570, + "id": 9186, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8567, + "id": 9183, "name": "bridgeTransfers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7891, - "src": "11108:15:13", + "referencedDeclaration": 8412, + "src": "12450:15:14", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" } }, - "id": 8569, + "id": 9185, "indexExpression": { "argumentTypes": null, - "id": 8568, + "id": 9184, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8550, - "src": "11124:16:13", + "referencedDeclaration": 9166, + "src": "12466:16:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -10154,14 +11496,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11108:33:13", + "src": "12450:33:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "11068:73:13" + "src": "12410:73:14" }, { "expression": { @@ -10171,26 +11513,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8571, + "id": 9187, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, - "src": "11172:14:13", + "referencedDeclaration": 9182, + "src": "12514:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8572, + "id": 9188, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7876, - "src": "11172:24:13", + "referencedDeclaration": 8397, + "src": "12514:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10200,26 +11542,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8573, + "id": 9189, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, - "src": "11210:14:13", + "referencedDeclaration": 9182, + "src": "12552:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8574, + "id": 9190, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 7878, - "src": "11210:20:13", + "referencedDeclaration": 8399, + "src": "12552:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10229,26 +11571,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8575, + "id": 9191, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, - "src": "11244:14:13", + "referencedDeclaration": 9182, + "src": "12586:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8576, + "id": 9192, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "erc20ContractAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 7880, - "src": "11244:35:13", + "referencedDeclaration": 8401, + "src": "12586:35:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10258,26 +11600,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8577, + "id": 9193, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, - "src": "11293:14:13", + "referencedDeclaration": 9182, + "src": "12635:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8578, + "id": 9194, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "tokenFreezerAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 7882, - "src": "11293:34:13", + "referencedDeclaration": 8403, + "src": "12635:34:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10287,26 +11629,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8579, + "id": 9195, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, - "src": "11341:14:13", + "referencedDeclaration": 9182, + "src": "12683:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8580, + "id": 9196, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "assetGUID", "nodeType": "MemberAccess", - "referencedDeclaration": 7884, - "src": "11341:24:13", + "referencedDeclaration": 8405, + "src": "12683:24:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -10316,70 +11658,70 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8581, + "id": 9197, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, - "src": "11379:14:13", + "referencedDeclaration": 9182, + "src": "12721:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8582, + "id": 9198, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "11379:21:13", + "referencedDeclaration": 8407, + "src": "12721:21:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } } ], - "id": 8583, + "id": 9199, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "11158:252:13", + "src": "12500:252:14", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_uint32_$_t_enum$_BridgeTransferStatus_$7874_$", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_uint32_$_t_enum$_BridgeTransferStatus_$8395_$", "typeString": "tuple(uint256,uint256,address,address,uint32,enum SyscoinERC20Manager.BridgeTransferStatus)" } }, - "functionReturnParameters": 8564, - "id": 8584, + "functionReturnParameters": 9180, + "id": 9200, "nodeType": "Return", - "src": "11151:259:13" + "src": "12493:259:14" } ] }, "documentation": null, - "id": 8586, + "id": 9202, "implemented": true, "kind": "function", "modifiers": [], "name": "getBridgeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 8551, + "id": 9167, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8550, + "id": 9166, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "10816:23:13", + "scope": 9202, + "src": "12158:23:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10387,10 +11729,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8549, + "id": 9165, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "10816:6:13", + "src": "12158:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -10400,19 +11742,19 @@ "visibility": "internal" } ], - "src": "10815:25:13" + "src": "12157:25:14" }, "returnParameters": { - "id": 8564, + "id": 9180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8553, + "id": 9169, "name": "_timestamp", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "10873:15:13", + "scope": 9202, + "src": "12215:15:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10420,10 +11762,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8552, + "id": 9168, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "10873:4:13", + "src": "12215:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10434,11 +11776,11 @@ }, { "constant": false, - "id": 8555, + "id": 9171, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "10898:11:13", + "scope": 9202, + "src": "12240:11:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10446,10 +11788,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8554, + "id": 9170, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "10898:4:13", + "src": "12240:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10460,11 +11802,11 @@ }, { "constant": false, - "id": 8557, + "id": 9173, "name": "_erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "10919:29:13", + "scope": 9202, + "src": "12261:29:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10472,10 +11814,10 @@ "typeString": "address" }, "typeName": { - "id": 8556, + "id": 9172, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10919:7:13", + "src": "12261:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10487,11 +11829,11 @@ }, { "constant": false, - "id": 8559, + "id": 9175, "name": "_tokenFreezerAddress", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "10958:28:13", + "scope": 9202, + "src": "12300:28:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10499,10 +11841,10 @@ "typeString": "address" }, "typeName": { - "id": 8558, + "id": 9174, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10958:7:13", + "src": "12300:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10514,11 +11856,11 @@ }, { "constant": false, - "id": 8561, + "id": 9177, "name": "_assetGUID", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "10996:17:13", + "scope": 9202, + "src": "12338:17:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10526,10 +11868,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8560, + "id": 9176, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "10996:6:13", + "src": "12338:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -10540,26 +11882,26 @@ }, { "constant": false, - "id": 8563, + "id": 9179, "name": "_status", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "11023:28:13", + "scope": 9202, + "src": "12365:28:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" }, "typeName": { "contractScope": null, - "id": 8562, + "id": 9178, "name": "BridgeTransferStatus", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7874, - "src": "11023:20:13", + "referencedDeclaration": 8395, + "src": "12365:20:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, @@ -10567,33 +11909,33 @@ "visibility": "internal" } ], - "src": "10863:194:13" + "src": "12205:194:14" }, - "scope": 8587, - "src": "10789:628:13", + "scope": 9203, + "src": "12131:628:14", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 8588, - "src": "235:11184:13" + "scope": 9204, + "src": "190:12571:14" } ], - "src": "0:11420:13" + "src": "0:12762:14" }, "legacyAST": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20Manager.sol", "exportedSymbols": { "SyscoinERC20Manager": [ - 8587 + 9203 ] }, - "id": 8588, + "id": 9204, "nodeType": "SourceUnit", "nodes": [ { - "id": 7829, + "id": 8351, "literals": [ "solidity", "^", @@ -10601,49 +11943,38 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:13" - }, - { - "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol", - "file": "../SyscoinTransactionProcessor.sol", - "id": 7830, - "nodeType": "ImportDirective", - "scope": 8588, - "sourceUnit": 7548, - "src": "26:44:13", - "symbolAliases": [], - "unitAlias": "" + "src": "0:24:14" }, { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", - "id": 7831, + "id": 8352, "nodeType": "ImportDirective", - "scope": 8588, - "sourceUnit": 8937, - "src": "71:59:13", + "scope": 9204, + "sourceUnit": 9556, + "src": "26:59:14", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinERC20I.sol", "file": "../interfaces/SyscoinERC20I.sol", - "id": 7832, + "id": 8353, "nodeType": "ImportDirective", - "scope": 8588, - "sourceUnit": 7609, - "src": "131:41:13", + "scope": 9204, + "sourceUnit": 8110, + "src": "86:41:14", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/upgrades/contracts/Initializable.sol", "file": "@openzeppelin/upgrades/contracts/Initializable.sol", - "id": 7833, + "id": 8354, "nodeType": "ImportDirective", - "scope": 8588, - "sourceUnit": 8723, - "src": "173:60:13", + "scope": 9204, + "sourceUnit": 9342, + "src": "128:60:14", "symbolAliases": [], "unitAlias": "" }, @@ -10653,56 +11984,56 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 7834, + "id": 8355, "name": "Initializable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8722, - "src": "267:13:13", + "referencedDeclaration": 9341, + "src": "222:13:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_Initializable_$8722", + "typeIdentifier": "t_contract$_Initializable_$9341", "typeString": "contract Initializable" } }, - "id": 7835, + "id": 8356, "nodeType": "InheritanceSpecifier", - "src": "267:13:13" + "src": "222:13:14" } ], "contractDependencies": [ - 8722 + 9341 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 8587, + "id": 9203, "linearizedBaseContracts": [ - 8587, - 8722 + 9203, + 9341 ], "name": "SyscoinERC20Manager", "nodeType": "ContractDefinition", "nodes": [ { - "id": 7838, + "id": 8359, "libraryName": { "contractScope": null, - "id": 7836, + "id": 8357, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8936, - "src": "294:8:13", + "referencedDeclaration": 9555, + "src": "248:8:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8936", + "typeIdentifier": "t_contract$_SafeMath_$9555", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "288:24:13", + "src": "242:24:14", "typeName": { - "id": 7837, + "id": 8358, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "307:4:13", + "src": "261:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10710,26 +12041,26 @@ } }, { - "id": 7841, + "id": 8362, "libraryName": { "contractScope": null, - "id": 7839, + "id": 8360, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8936, - "src": "323:8:13", + "referencedDeclaration": 9555, + "src": "277:8:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8936", + "typeIdentifier": "t_contract$_SafeMath_$9555", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "317:25:13", + "src": "271:25:14", "typeName": { - "id": 7840, + "id": 8361, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "336:5:13", + "src": "290:5:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10738,11 +12069,11 @@ }, { "constant": true, - "id": 7844, + "id": 8365, "name": "MIN_LOCK_VALUE", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "370:41:13", + "scope": 9203, + "src": "324:41:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10750,10 +12081,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7842, + "id": 8363, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "370:4:13", + "src": "324:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10762,14 +12093,14 @@ "value": { "argumentTypes": null, "hexValue": "3130", - "id": 7843, + "id": 8364, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "409:2:13", + "src": "363:2:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -10781,11 +12112,11 @@ }, { "constant": true, - "id": 7847, + "id": 8368, "name": "SUPERBLOCK_SUBMITTER_LOCK_FEE", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "430:59:13", + "scope": 9203, + "src": "384:59:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10793,10 +12124,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7845, + "id": 8366, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "430:4:13", + "src": "384:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10805,14 +12136,14 @@ "value": { "argumentTypes": null, "hexValue": "3130303030", - "id": 7846, + "id": 8367, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "484:5:13", + "src": "438:5:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10000_by_1", @@ -10824,11 +12155,11 @@ }, { "constant": true, - "id": 7850, + "id": 8371, "name": "MIN_CANCEL_DEPOSIT", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "512:62:13", + "scope": 9203, + "src": "466:62:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10836,10 +12167,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7848, + "id": 8369, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "512:4:13", + "src": "466:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10848,14 +12179,14 @@ "value": { "argumentTypes": null, "hexValue": "33303030303030303030303030303030303030", - "id": 7849, + "id": 8370, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "555:19:13", + "src": "509:19:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3000000000000000000_by_1", @@ -10867,11 +12198,11 @@ }, { "constant": true, - "id": 7853, + "id": 8374, "name": "CANCEL_TRANSFER_TIMEOUT", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "589:52:13", + "scope": 9203, + "src": "543:52:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10879,10 +12210,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7851, + "id": 8372, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "589:4:13", + "src": "543:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10891,14 +12222,14 @@ "value": { "argumentTypes": null, "hexValue": "33363030", - "id": 7852, + "id": 8373, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "637:4:13", + "src": "591:4:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -10910,11 +12241,11 @@ }, { "constant": true, - "id": 7856, + "id": 8377, "name": "CANCEL_MINT_TIMEOUT", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "668:50:13", + "scope": 9203, + "src": "622:50:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10922,10 +12253,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7854, + "id": 8375, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "668:4:13", + "src": "622:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10934,14 +12265,14 @@ "value": { "argumentTypes": null, "hexValue": "393037323030", - "id": 7855, + "id": 8376, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "712:6:13", + "src": "666:6:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_907200_by_1", @@ -10953,11 +12284,11 @@ }, { "constant": false, - "id": 7858, + "id": 8379, "name": "trustedRelayerContract", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "937:37:13", + "scope": 9203, + "src": "891:37:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10965,10 +12296,10 @@ "typeString": "address" }, "typeName": { - "id": 7857, + "id": 8378, "name": "address", "nodeType": "ElementaryTypeName", - "src": "937:7:13", + "src": "891:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10980,11 +12311,11 @@ }, { "constant": false, - "id": 7862, + "id": 8383, "name": "assetBalances", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "982:47:13", + "scope": 9203, + "src": "936:47:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10992,28 +12323,28 @@ "typeString": "mapping(uint32 => uint256)" }, "typeName": { - "id": 7861, + "id": 8382, "keyType": { - "id": 7859, + "id": 8380, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "990:6:13", + "src": "944:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "Mapping", - "src": "982:26:13", + "src": "936:26:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" }, "valueType": { - "id": 7860, + "id": 8381, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1000:7:13", + "src": "954:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11025,11 +12356,11 @@ }, { "constant": false, - "id": 7866, + "id": 8387, "name": "syscoinTxHashesAlreadyProcessed", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "1115:61:13", + "scope": 9203, + "src": "1069:61:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -11037,28 +12368,28 @@ "typeString": "mapping(uint256 => bool)" }, "typeName": { - "id": 7865, + "id": 8386, "keyType": { - "id": 7863, + "id": 8384, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1123:4:13", + "src": "1077:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1115:21:13", + "src": "1069:21:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" }, "valueType": { - "id": 7864, + "id": 8385, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1131:4:13", + "src": "1085:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11070,11 +12401,11 @@ }, { "constant": false, - "id": 7868, + "id": 8389, "name": "bridgeTransferIdCount", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "1183:28:13", + "scope": 9203, + "src": "1137:28:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -11082,10 +12413,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7867, + "id": 8388, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1183:6:13", + "src": "1137:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -11096,54 +12427,54 @@ }, { "canonicalName": "SyscoinERC20Manager.BridgeTransferStatus", - "id": 7874, + "id": 8395, "members": [ { - "id": 7869, + "id": 8390, "name": "Uninitialized", "nodeType": "EnumValue", - "src": "1250:13:13" + "src": "1204:13:14" }, { - "id": 7870, + "id": 8391, "name": "Ok", "nodeType": "EnumValue", - "src": "1265:2:13" + "src": "1219:2:14" }, { - "id": 7871, + "id": 8392, "name": "CancelRequested", "nodeType": "EnumValue", - "src": "1269:15:13" + "src": "1223:15:14" }, { - "id": 7872, + "id": 8393, "name": "CancelChallenged", "nodeType": "EnumValue", - "src": "1286:16:13" + "src": "1240:16:14" }, { - "id": 7873, + "id": 8394, "name": "CancelOk", "nodeType": "EnumValue", - "src": "1304:8:13" + "src": "1258:8:14" } ], "name": "BridgeTransferStatus", "nodeType": "EnumDefinition", - "src": "1222:92:13" + "src": "1176:92:14" }, { "canonicalName": "SyscoinERC20Manager.BridgeTransfer", - "id": 7887, + "id": 8408, "members": [ { "constant": false, - "id": 7876, + "id": 8397, "name": "timestamp", "nodeType": "VariableDeclaration", - "scope": 7887, - "src": "1356:14:13", + "scope": 8408, + "src": "1310:14:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11151,10 +12482,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7875, + "id": 8396, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1356:4:13", + "src": "1310:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11165,11 +12496,11 @@ }, { "constant": false, - "id": 7878, + "id": 8399, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7887, - "src": "1380:10:13", + "scope": 8408, + "src": "1334:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11177,10 +12508,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7877, + "id": 8398, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1380:4:13", + "src": "1334:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11191,11 +12522,11 @@ }, { "constant": false, - "id": 7880, + "id": 8401, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 7887, - "src": "1400:28:13", + "scope": 8408, + "src": "1354:28:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11203,10 +12534,10 @@ "typeString": "address" }, "typeName": { - "id": 7879, + "id": 8400, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1400:7:13", + "src": "1354:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11218,11 +12549,11 @@ }, { "constant": false, - "id": 7882, + "id": 8403, "name": "tokenFreezerAddress", "nodeType": "VariableDeclaration", - "scope": 7887, - "src": "1438:27:13", + "scope": 8408, + "src": "1392:27:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11230,10 +12561,10 @@ "typeString": "address" }, "typeName": { - "id": 7881, + "id": 8402, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1438:7:13", + "src": "1392:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11245,11 +12576,11 @@ }, { "constant": false, - "id": 7884, + "id": 8405, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 7887, - "src": "1475:16:13", + "scope": 8408, + "src": "1429:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11257,10 +12588,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7883, + "id": 8404, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1475:6:13", + "src": "1429:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -11271,26 +12602,26 @@ }, { "constant": false, - "id": 7886, + "id": 8407, "name": "status", "nodeType": "VariableDeclaration", - "scope": 7887, - "src": "1501:27:13", + "scope": 8408, + "src": "1455:27:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" }, "typeName": { "contractScope": null, - "id": 7885, + "id": 8406, "name": "BridgeTransferStatus", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7874, - "src": "1501:20:13", + "referencedDeclaration": 8395, + "src": "1455:20:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, @@ -11300,50 +12631,50 @@ ], "name": "BridgeTransfer", "nodeType": "StructDefinition", - "scope": 8587, - "src": "1324:222:13", + "scope": 9203, + "src": "1278:222:14", "visibility": "public" }, { "constant": false, - "id": 7891, + "id": 8412, "name": "bridgeTransfers", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "1552:57:13", + "scope": 9203, + "src": "1506:57:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer)" }, "typeName": { - "id": 7890, + "id": 8411, "keyType": { - "id": 7888, + "id": 8409, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1560:6:13", + "src": "1514:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "Mapping", - "src": "1552:33:13", + "src": "1506:33:14", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer)" }, "valueType": { "contractScope": null, - "id": 7889, + "id": 8410, "name": "BridgeTransfer", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7887, - "src": "1570:14:13", + "referencedDeclaration": 8408, + "src": "1524:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer" } } @@ -11353,11 +12684,11 @@ }, { "constant": false, - "id": 7895, + "id": 8416, "name": "deposits", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "1615:40:13", + "scope": 9203, + "src": "1569:40:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -11365,28 +12696,28 @@ "typeString": "mapping(uint32 => uint256)" }, "typeName": { - "id": 7894, + "id": 8415, "keyType": { - "id": 7892, + "id": 8413, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1623:6:13", + "src": "1577:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "Mapping", - "src": "1615:23:13", + "src": "1569:23:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" }, "valueType": { - "id": 7893, + "id": 8414, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1633:4:13", + "src": "1587:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11398,53 +12729,53 @@ }, { "canonicalName": "SyscoinERC20Manager.Network", - "id": 7899, + "id": 8420, "members": [ { - "id": 7896, + "id": 8417, "name": "MAINNET", "nodeType": "EnumValue", - "src": "1725:7:13" + "src": "1679:7:14" }, { - "id": 7897, + "id": 8418, "name": "TESTNET", "nodeType": "EnumValue", - "src": "1734:7:13" + "src": "1688:7:14" }, { - "id": 7898, + "id": 8419, "name": "REGTEST", "nodeType": "EnumValue", - "src": "1743:7:13" + "src": "1697:7:14" } ], "name": "Network", "nodeType": "EnumDefinition", - "src": "1710:42:13" + "src": "1664:42:14" }, { "constant": false, - "id": 7901, + "id": 8422, "name": "net", "nodeType": "VariableDeclaration", - "scope": 8587, - "src": "1757:19:13", + "scope": 9203, + "src": "1711:19:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" }, "typeName": { "contractScope": null, - "id": 7900, + "id": 8421, "name": "Network", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7899, - "src": "1757:7:13", + "referencedDeclaration": 8420, + "src": "1711:7:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" } }, @@ -11454,21 +12785,21 @@ { "anonymous": false, "documentation": null, - "id": 7907, + "id": 8428, "name": "TokenUnfreeze", "nodeType": "EventDefinition", "parameters": { - "id": 7906, + "id": 8427, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7903, + "id": 8424, "indexed": false, "name": "receipient", "nodeType": "VariableDeclaration", - "scope": 7907, - "src": "1803:18:13", + "scope": 8428, + "src": "1757:18:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11476,10 +12807,10 @@ "typeString": "address" }, "typeName": { - "id": 7902, + "id": 8423, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1803:7:13", + "src": "1757:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11491,12 +12822,12 @@ }, { "constant": false, - "id": 7905, + "id": 8426, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7907, - "src": "1823:10:13", + "scope": 8428, + "src": "1777:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11504,10 +12835,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7904, + "id": 8425, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1823:4:13", + "src": "1777:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11517,28 +12848,28 @@ "visibility": "internal" } ], - "src": "1802:32:13" + "src": "1756:32:14" }, - "src": "1783:52:13" + "src": "1737:52:14" }, { "anonymous": false, "documentation": null, - "id": 7913, + "id": 8434, "name": "TokenUnfreezeFee", "nodeType": "EventDefinition", "parameters": { - "id": 7912, + "id": 8433, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7909, + "id": 8430, "indexed": false, "name": "receipient", "nodeType": "VariableDeclaration", - "scope": 7913, - "src": "1863:18:13", + "scope": 8434, + "src": "1817:18:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11546,10 +12877,10 @@ "typeString": "address" }, "typeName": { - "id": 7908, + "id": 8429, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1863:7:13", + "src": "1817:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11561,12 +12892,12 @@ }, { "constant": false, - "id": 7911, + "id": 8432, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7913, - "src": "1883:10:13", + "scope": 8434, + "src": "1837:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11574,10 +12905,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7910, + "id": 8431, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1883:4:13", + "src": "1837:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11587,28 +12918,28 @@ "visibility": "internal" } ], - "src": "1862:32:13" + "src": "1816:32:14" }, - "src": "1840:55:13" + "src": "1794:55:14" }, { "anonymous": false, "documentation": null, - "id": 7921, + "id": 8442, "name": "TokenFreeze", "nodeType": "EventDefinition", "parameters": { - "id": 7920, + "id": 8441, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7915, + "id": 8436, "indexed": false, "name": "freezer", "nodeType": "VariableDeclaration", - "scope": 7921, - "src": "1918:15:13", + "scope": 8442, + "src": "1872:15:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11616,10 +12947,10 @@ "typeString": "address" }, "typeName": { - "id": 7914, + "id": 8435, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1918:7:13", + "src": "1872:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11631,12 +12962,12 @@ }, { "constant": false, - "id": 7917, + "id": 8438, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7921, - "src": "1935:10:13", + "scope": 8442, + "src": "1889:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11644,10 +12975,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7916, + "id": 8437, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1935:4:13", + "src": "1889:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11658,12 +12989,82 @@ }, { "constant": false, - "id": 7919, + "id": 8440, + "indexed": false, + "name": "bridgetransferid", + "nodeType": "VariableDeclaration", + "scope": 8442, + "src": "1901:23:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8439, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1901:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1871:54:14" + }, + "src": "1854:72:14" + }, + { + "anonymous": false, + "documentation": null, + "id": 8448, + "name": "CancelTransferRequest", + "nodeType": "EventDefinition", + "parameters": { + "id": 8447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8444, + "indexed": false, + "name": "canceller", + "nodeType": "VariableDeclaration", + "scope": 8448, + "src": "1959:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8443, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1959:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8446, "indexed": false, "name": "bridgetransferid", "nodeType": "VariableDeclaration", - "scope": 7921, - "src": "1947:23:13", + "scope": 8448, + "src": "1978:23:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11671,10 +13072,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7918, + "id": 8445, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1947:6:13", + "src": "1978:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -11684,28 +13085,28 @@ "visibility": "internal" } ], - "src": "1917:54:13" + "src": "1958:44:14" }, - "src": "1900:72:13" + "src": "1931:72:14" }, { "anonymous": false, "documentation": null, - "id": 7927, - "name": "CancelTransferRequest", + "id": 8454, + "name": "CancelTransferSucceeded", "nodeType": "EventDefinition", "parameters": { - "id": 7926, + "id": 8453, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7923, + "id": 8450, "indexed": false, "name": "canceller", "nodeType": "VariableDeclaration", - "scope": 7927, - "src": "2005:17:13", + "scope": 8454, + "src": "2038:17:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11713,10 +13114,10 @@ "typeString": "address" }, "typeName": { - "id": 7922, + "id": 8449, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2005:7:13", + "src": "2038:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11728,12 +13129,12 @@ }, { "constant": false, - "id": 7925, + "id": 8452, "indexed": false, "name": "bridgetransferid", "nodeType": "VariableDeclaration", - "scope": 7927, - "src": "2024:23:13", + "scope": 8454, + "src": "2057:23:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11741,10 +13142,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7924, + "id": 8451, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "2024:6:13", + "src": "2057:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -11754,28 +13155,28 @@ "visibility": "internal" } ], - "src": "2004:44:13" + "src": "2037:44:14" }, - "src": "1977:72:13" + "src": "2008:74:14" }, { "anonymous": false, "documentation": null, - "id": 7933, - "name": "CancelTransferSucceeded", + "id": 8460, + "name": "CancelTransferFailed", "nodeType": "EventDefinition", "parameters": { - "id": 7932, + "id": 8459, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7929, + "id": 8456, "indexed": false, "name": "canceller", "nodeType": "VariableDeclaration", - "scope": 7933, - "src": "2084:17:13", + "scope": 8460, + "src": "2114:17:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11783,10 +13184,10 @@ "typeString": "address" }, "typeName": { - "id": 7928, + "id": 8455, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2084:7:13", + "src": "2114:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11798,12 +13199,12 @@ }, { "constant": false, - "id": 7931, + "id": 8458, "indexed": false, "name": "bridgetransferid", "nodeType": "VariableDeclaration", - "scope": 7933, - "src": "2103:23:13", + "scope": 8460, + "src": "2133:23:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11811,10 +13212,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7930, + "id": 8457, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "2103:6:13", + "src": "2133:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -11824,43 +13225,153 @@ "visibility": "internal" } ], - "src": "2083:44:13" + "src": "2113:44:14" + }, + "src": "2087:71:14" + }, + { + "canonicalName": "SyscoinERC20Manager.AssetRegistryItem", + "id": 8465, + "members": [ + { + "constant": false, + "id": 8462, + "name": "erc20ContractAddress", + "nodeType": "VariableDeclaration", + "scope": 8465, + "src": "2199:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8461, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2199:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8464, + "name": "height", + "nodeType": "VariableDeclaration", + "scope": 8465, + "src": "2237:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8463, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "2237:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "AssetRegistryItem", + "nodeType": "StructDefinition", + "scope": 9203, + "src": "2164:98:14", + "visibility": "public" + }, + { + "constant": false, + "id": 8469, + "name": "assetRegistry", + "nodeType": "VariableDeclaration", + "scope": 9203, + "src": "2267:57:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_AssetRegistryItem_$8465_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.AssetRegistryItem)" + }, + "typeName": { + "id": 8468, + "keyType": { + "id": 8466, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "2275:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Mapping", + "src": "2267:36:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_AssetRegistryItem_$8465_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.AssetRegistryItem)" + }, + "valueType": { + "contractScope": null, + "id": 8467, + "name": "AssetRegistryItem", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8465, + "src": "2285:17:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetRegistryItem_$8465_storage_ptr", + "typeString": "struct SyscoinERC20Manager.AssetRegistryItem" + } + } }, - "src": "2054:74:13" + "value": null, + "visibility": "public" }, { "anonymous": false, "documentation": null, - "id": 7939, - "name": "CancelTransferFailed", + "id": 8475, + "name": "TokenRegistry", "nodeType": "EventDefinition", "parameters": { - "id": 7938, + "id": 8474, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7935, + "id": 8471, "indexed": false, - "name": "canceller", + "name": "assetGuid", "nodeType": "VariableDeclaration", - "scope": 7939, - "src": "2160:17:13", + "scope": 8475, + "src": "2350:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, "typeName": { - "id": 7934, - "name": "address", + "id": 8470, + "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "2160:7:13", - "stateMutability": "nonpayable", + "src": "2350:6:14", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "value": null, @@ -11868,67 +13379,97 @@ }, { "constant": false, - "id": 7937, + "id": 8473, "indexed": false, - "name": "bridgetransferid", + "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 7939, - "src": "2179:23:13", + "scope": 8475, + "src": "2368:28:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 7936, - "name": "uint32", + "id": 8472, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "2179:6:13", + "src": "2368:7:14", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "2159:44:13" + "src": "2349:48:14" + }, + "src": "2330:68:14" + }, + { + "id": 8478, + "libraryName": { + "contractScope": null, + "id": 8476, + "name": "SafeERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 10307, + "src": "2409:9:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeERC20_$10307", + "typeString": "library SafeERC20" + } }, - "src": "2133:71:13" + "nodeType": "UsingForDirective", + "src": "2403:34:14", + "typeName": { + "contractScope": null, + "id": 8477, + "name": "SyscoinERC20I", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8109, + "src": "2423:13:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" + } + } }, { "body": { - "id": 7950, + "id": 8489, "nodeType": "Block", - "src": "2267:62:13", + "src": "2500:62:14", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7946, + "id": 8485, "name": "syscoinTxHashesAlreadyProcessed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7866, - "src": "2284:31:13", + "referencedDeclaration": 8387, + "src": "2517:31:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 7948, + "id": 8487, "indexExpression": { "argumentTypes": null, - "id": 7947, + "id": 8486, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7941, - "src": "2316:5:13", + "referencedDeclaration": 8480, + "src": "2549:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11939,37 +13480,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2284:38:13", + "src": "2517:38:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 7945, - "id": 7949, + "functionReturnParameters": 8484, + "id": 8488, "nodeType": "Return", - "src": "2277:45:13" + "src": "2510:45:14" } ] }, "documentation": null, - "id": 7951, + "id": 8490, "implemented": true, "kind": "function", "modifiers": [], "name": "contains", "nodeType": "FunctionDefinition", "parameters": { - "id": 7942, + "id": 8481, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7941, + "id": 8480, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7951, - "src": "2227:10:13", + "scope": 8490, + "src": "2460:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11977,10 +13518,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7940, + "id": 8479, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2227:4:13", + "src": "2460:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11990,19 +13531,19 @@ "visibility": "internal" } ], - "src": "2226:12:13" + "src": "2459:12:14" }, "returnParameters": { - "id": 7945, + "id": 8484, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7944, + "id": 8483, "name": "", "nodeType": "VariableDeclaration", - "scope": 7951, - "src": "2261:4:13", + "scope": 8490, + "src": "2494:4:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12010,10 +13551,10 @@ "typeString": "bool" }, "typeName": { - "id": 7943, + "id": 8482, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2261:4:13", + "src": "2494:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12023,19 +13564,19 @@ "visibility": "internal" } ], - "src": "2260:6:13" + "src": "2493:6:14" }, - "scope": 8587, - "src": "2209:120:13", + "scope": 9203, + "src": "2442:120:14", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 7972, + "id": 8511, "nodeType": "Block", - "src": "2386:155:13", + "src": "2619:155:14", "statements": [ { "condition": { @@ -12043,12 +13584,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7959, + "id": 8498, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7953, - "src": "2409:5:13", + "referencedDeclaration": 8492, + "src": "2642:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12062,18 +13603,18 @@ "typeString": "uint256" } ], - "id": 7958, + "id": 8497, "name": "contains", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "2400:8:13", + "referencedDeclaration": 8490, + "src": "2633:8:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 7960, + "id": 8499, "isConstant": false, "isLValue": false, "isPure": false, @@ -12081,28 +13622,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2400:15:13", + "src": "2633:15:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7963, + "id": 8502, "nodeType": "IfStatement", - "src": "2396:45:13", + "src": "2629:45:14", "trueBody": { "expression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 7961, + "id": 8500, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2436:5:13", + "src": "2669:5:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12110,16 +13651,16 @@ }, "value": "false" }, - "functionReturnParameters": 7957, - "id": 7962, + "functionReturnParameters": 8496, + "id": 8501, "nodeType": "Return", - "src": "2429:12:13" + "src": "2662:12:14" } }, { "expression": { "argumentTypes": null, - "id": 7968, + "id": 8507, "isConstant": false, "isLValue": false, "isPure": false, @@ -12128,26 +13669,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7964, + "id": 8503, "name": "syscoinTxHashesAlreadyProcessed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7866, - "src": "2468:31:13", + "referencedDeclaration": 8387, + "src": "2701:31:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 7966, + "id": 8505, "indexExpression": { "argumentTypes": null, - "id": 7965, + "id": 8504, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7953, - "src": "2500:5:13", + "referencedDeclaration": 8492, + "src": "2733:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12158,7 +13699,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2468:38:13", + "src": "2701:38:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12169,14 +13710,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 7967, + "id": 8506, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2509:4:13", + "src": "2742:4:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12184,28 +13725,28 @@ }, "value": "true" }, - "src": "2468:45:13", + "src": "2701:45:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7969, + "id": 8508, "nodeType": "ExpressionStatement", - "src": "2468:45:13" + "src": "2701:45:14" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 7970, + "id": 8509, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2530:4:13", + "src": "2763:4:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12213,31 +13754,31 @@ }, "value": "true" }, - "functionReturnParameters": 7957, - "id": 7971, + "functionReturnParameters": 8496, + "id": 8510, "nodeType": "Return", - "src": "2523:11:13" + "src": "2756:11:14" } ] }, "documentation": null, - "id": 7973, + "id": 8512, "implemented": true, "kind": "function", "modifiers": [], "name": "insert", "nodeType": "FunctionDefinition", "parameters": { - "id": 7954, + "id": 8493, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7953, + "id": 8492, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7973, - "src": "2351:10:13", + "scope": 8512, + "src": "2584:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12245,10 +13786,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7952, + "id": 8491, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2351:4:13", + "src": "2584:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12258,19 +13799,19 @@ "visibility": "internal" } ], - "src": "2350:12:13" + "src": "2583:12:14" }, "returnParameters": { - "id": 7957, + "id": 8496, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7956, + "id": 8495, "name": "", "nodeType": "VariableDeclaration", - "scope": 7973, - "src": "2380:4:13", + "scope": 8512, + "src": "2613:4:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12278,10 +13819,10 @@ "typeString": "bool" }, "typeName": { - "id": 7955, + "id": 8494, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2380:4:13", + "src": "2613:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12291,38 +13832,38 @@ "visibility": "internal" } ], - "src": "2379:6:13" + "src": "2612:6:14" }, - "scope": 8587, - "src": "2335:206:13", + "scope": 9203, + "src": "2568:206:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 7994, + "id": 8533, "nodeType": "Block", - "src": "2635:124:13", + "src": "2868:124:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 7984, + "id": 8523, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7982, + "id": 8521, "name": "net", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7901, - "src": "2645:3:13", + "referencedDeclaration": 8422, + "src": "2878:3:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" } }, @@ -12330,43 +13871,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7983, + "id": 8522, "name": "_network", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7975, - "src": "2651:8:13", + "referencedDeclaration": 8514, + "src": "2884:8:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" } }, - "src": "2645:14:13", + "src": "2878:14:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" } }, - "id": 7985, + "id": 8524, "nodeType": "ExpressionStatement", - "src": "2645:14:13" + "src": "2878:14:14" }, { "expression": { "argumentTypes": null, - "id": 7988, + "id": 8527, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7986, + "id": 8525, "name": "trustedRelayerContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7858, - "src": "2669:22:13", + "referencedDeclaration": 8379, + "src": "2902:22:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12376,43 +13917,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7987, + "id": 8526, "name": "_trustedRelayerContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7977, - "src": "2694:23:13", + "referencedDeclaration": 8516, + "src": "2927:23:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2669:48:13", + "src": "2902:48:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 7989, + "id": 8528, "nodeType": "ExpressionStatement", - "src": "2669:48:13" + "src": "2902:48:14" }, { "expression": { "argumentTypes": null, - "id": 7992, + "id": 8531, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7990, + "id": 8529, "name": "bridgeTransferIdCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7868, - "src": "2727:21:13", + "referencedDeclaration": 8389, + "src": "2960:21:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -12423,14 +13964,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 7991, + "id": 8530, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2751:1:13", + "src": "2984:1:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12438,71 +13979,71 @@ }, "value": "0" }, - "src": "2727:25:13", + "src": "2960:25:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "id": 7993, + "id": 8532, "nodeType": "ExpressionStatement", - "src": "2727:25:13" + "src": "2960:25:14" } ] }, "documentation": null, - "id": 7995, + "id": 8534, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 7980, + "id": 8519, "modifierName": { "argumentTypes": null, - "id": 7979, + "id": 8518, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8703, - "src": "2623:11:13", + "referencedDeclaration": 9322, + "src": "2856:11:14", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2623:11:13" + "src": "2856:11:14" } ], "name": "init", "nodeType": "FunctionDefinition", "parameters": { - "id": 7978, + "id": 8517, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7975, + "id": 8514, "name": "_network", "nodeType": "VariableDeclaration", - "scope": 7995, - "src": "2565:16:13", + "scope": 8534, + "src": "2798:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" }, "typeName": { "contractScope": null, - "id": 7974, + "id": 8513, "name": "Network", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7899, - "src": "2565:7:13", + "referencedDeclaration": 8420, + "src": "2798:7:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" } }, @@ -12511,11 +14052,11 @@ }, { "constant": false, - "id": 7977, + "id": 8516, "name": "_trustedRelayerContract", "nodeType": "VariableDeclaration", - "scope": 7995, - "src": "2583:31:13", + "scope": 8534, + "src": "2816:31:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12523,10 +14064,10 @@ "typeString": "address" }, "typeName": { - "id": 7976, + "id": 8515, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2583:7:13", + "src": "2816:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12537,25 +14078,25 @@ "visibility": "internal" } ], - "src": "2564:51:13" + "src": "2797:51:14" }, "returnParameters": { - "id": 7981, + "id": 8520, "nodeType": "ParameterList", "parameters": [], - "src": "2635:0:13" + "src": "2868:0:14" }, - "scope": 8587, - "src": "2551:208:13", + "scope": 9203, + "src": "2784:208:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 8006, + "id": 8545, "nodeType": "Block", - "src": "2795:110:13", + "src": "3028:110:14", "statements": [ { "expression": { @@ -12567,7 +14108,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8001, + "id": 8540, "isConstant": false, "isLValue": false, "isPure": false, @@ -12576,18 +14117,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7998, + "id": 8537, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "2813:3:13", + "referencedDeclaration": 11098, + "src": "3046:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 7999, + "id": 8538, "isConstant": false, "isLValue": false, "isPure": false, @@ -12595,7 +14136,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2813:10:13", + "src": "3046:10:14", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -12605,18 +14146,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8000, + "id": 8539, "name": "trustedRelayerContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7858, - "src": "2827:22:13", + "referencedDeclaration": 8379, + "src": "3060:22:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2813:36:13", + "src": "3046:36:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12625,14 +14166,14 @@ { "argumentTypes": null, "hexValue": "43616c6c206d7573742062652066726f6d20747275737465642072656c61796572", - "id": 8002, + "id": 8541, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2851:35:13", + "src": "3084:35:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_969c561d633a9f7e8b9e09aa9d9a9b227caf12b0f2577922288ab020afc86cd7", @@ -12652,21 +14193,21 @@ "typeString": "literal_string \"Call must be from trusted relayer\"" } ], - "id": 7997, + "id": 8536, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "2805:7:13", + "referencedDeclaration": 11102, + "src": "3038:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8003, + "id": 8542, "isConstant": false, "isLValue": false, "isPure": false, @@ -12674,54 +14215,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2805:82:13", + "src": "3038:82:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8004, + "id": 8543, "nodeType": "ExpressionStatement", - "src": "2805:82:13" + "src": "3038:82:14" }, { - "id": 8005, + "id": 8544, "nodeType": "PlaceholderStatement", - "src": "2897:1:13" + "src": "3130:1:14" } ] }, "documentation": null, - "id": 8007, + "id": 8546, "name": "onlyTrustedRelayer", "nodeType": "ModifierDefinition", "parameters": { - "id": 7996, + "id": 8535, "nodeType": "ParameterList", "parameters": [], - "src": "2792:2:13" + "src": "3025:2:14" }, - "src": "2765:140:13", + "src": "2998:140:14", "visibility": "internal" }, { "body": { - "id": 8037, + "id": 8576, "nodeType": "Block", - "src": "2975:248:13", + "src": "3208:248:14", "statements": [ { "assignments": [ - 8014 + 8553 ], "declarations": [ { "constant": false, - "id": 8014, + "id": 8553, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 8037, - "src": "2985:16:13", + "scope": 8576, + "src": "3218:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12729,10 +14270,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8013, + "id": 8552, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2985:7:13", + "src": "3218:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12742,7 +14283,7 @@ "visibility": "internal" } ], - "id": 8020, + "id": 8559, "initialValue": { "argumentTypes": null, "arguments": [], @@ -12753,12 +14294,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8016, + "id": 8555, "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8009, - "src": "3018:20:13", + "referencedDeclaration": 8548, + "src": "3251:20:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12772,18 +14313,18 @@ "typeString": "address" } ], - "id": 8015, + "id": 8554, "name": "SyscoinERC20I", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7608, - "src": "3004:13:13", + "referencedDeclaration": 8109, + "src": "3237:13:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$7608_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$8109_$", "typeString": "type(contract SyscoinERC20I)" } }, - "id": 8017, + "id": 8556, "isConstant": false, "isLValue": false, "isPure": false, @@ -12791,27 +14332,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3004:35:13", + "src": "3237:35:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, - "id": 8018, + "id": 8557, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 7607, - "src": "3004:44:13", + "referencedDeclaration": 8108, + "src": "3237:44:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" } }, - "id": 8019, + "id": 8558, "isConstant": false, "isLValue": false, "isPure": false, @@ -12819,14 +14360,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3004:46:13", + "src": "3237:46:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "2985:65:13" + "src": "3218:65:14" }, { "expression": { @@ -12838,19 +14379,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8032, + "id": 8571, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8022, + "id": 8561, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8011, - "src": "3081:5:13", + "referencedDeclaration": 8550, + "src": "3314:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12863,12 +14404,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8030, + "id": 8569, "name": "MIN_LOCK_VALUE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7844, - "src": "3120:14:13", + "referencedDeclaration": 8365, + "src": "3353:14:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12891,7 +14432,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8027, + "id": 8566, "isConstant": false, "isLValue": false, "isPure": false, @@ -12902,14 +14443,14 @@ { "argumentTypes": null, "hexValue": "3130", - "id": 8024, + "id": 8563, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3099:2:13", + "src": "3332:2:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -12925,20 +14466,20 @@ "typeString": "int_const 10" } ], - "id": 8023, + "id": 8562, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3091:7:13", + "src": "3324:7:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 8025, + "id": 8564, "isConstant": false, "isLValue": false, "isPure": true, @@ -12946,7 +14487,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3091:11:13", + "src": "3324:11:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12956,52 +14497,52 @@ "operator": "**", "rightExpression": { "argumentTypes": null, - "id": 8026, + "id": 8565, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8014, - "src": "3106:8:13", + "referencedDeclaration": 8553, + "src": "3339:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3091:23:13", + "src": "3324:23:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8028, + "id": 8567, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3090:25:13", + "src": "3323:25:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8029, + "id": 8568, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 8869, - "src": "3090:29:13", + "referencedDeclaration": 9488, + "src": "3323:29:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8031, + "id": 8570, "isConstant": false, "isLValue": false, "isPure": false, @@ -13009,13 +14550,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3090:45:13", + "src": "3323:45:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3081:54:13", + "src": "3314:54:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13024,14 +14565,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d75737420626520626967676572206f7220657175616c204d494e5f4c4f434b5f56414c5545", - "id": 8033, + "id": 8572, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3149:46:13", + "src": "3382:46:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_18862e85535407d5180b1642991b362be6d5b2c71e74b596fde9034947716652", @@ -13051,21 +14592,21 @@ "typeString": "literal_string \"Value must be bigger or equal MIN_LOCK_VALUE\"" } ], - "id": 8021, + "id": 8560, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "3060:7:13", + "referencedDeclaration": 11102, + "src": "3293:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8034, + "id": 8573, "isConstant": false, "isLValue": false, "isPure": false, @@ -13073,38 +14614,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3060:145:13", + "src": "3293:145:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8035, + "id": 8574, "nodeType": "ExpressionStatement", - "src": "3060:145:13" + "src": "3293:145:14" }, { - "id": 8036, + "id": 8575, "nodeType": "PlaceholderStatement", - "src": "3215:1:13" + "src": "3448:1:14" } ] }, "documentation": null, - "id": 8038, + "id": 8577, "name": "minimumValue", "nodeType": "ModifierDefinition", "parameters": { - "id": 8012, + "id": 8551, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8009, + "id": 8548, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 8038, - "src": "2933:28:13", + "scope": 8577, + "src": "3166:28:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13112,10 +14653,10 @@ "typeString": "address" }, "typeName": { - "id": 8008, + "id": 8547, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2933:7:13", + "src": "3166:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13127,11 +14668,11 @@ }, { "constant": false, - "id": 8011, + "id": 8550, "name": "value", "nodeType": "VariableDeclaration", - "scope": 8038, - "src": "2963:10:13", + "scope": 8577, + "src": "3196:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13139,10 +14680,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8010, + "id": 8549, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2963:4:13", + "src": "3196:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13152,29 +14693,29 @@ "visibility": "internal" } ], - "src": "2932:42:13" + "src": "3165:42:14" }, - "src": "2911:312:13", + "src": "3144:312:14", "visibility": "internal" }, { "body": { - "id": 8073, + "id": 8612, "nodeType": "Block", - "src": "3301:273:13", + "src": "3534:273:14", "statements": [ { "assignments": [ - 8046 + 8585 ], "declarations": [ { "constant": false, - "id": 8046, + "id": 8585, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 8073, - "src": "3311:16:13", + "scope": 8612, + "src": "3544:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13182,10 +14723,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8045, + "id": 8584, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3311:7:13", + "src": "3544:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13195,18 +14736,18 @@ "visibility": "internal" } ], - "id": 8050, + "id": 8589, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8048, + "id": 8587, "name": "decimalsIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8040, - "src": "3338:10:13", + "referencedDeclaration": 8579, + "src": "3571:10:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13220,20 +14761,20 @@ "typeString": "uint8" } ], - "id": 8047, + "id": 8586, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3330:7:13", + "src": "3563:7:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 8049, + "id": 8588, "isConstant": false, "isLValue": false, "isPure": false, @@ -13241,14 +14782,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3330:19:13", + "src": "3563:19:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3311:38:13" + "src": "3544:38:14" }, { "expression": { @@ -13260,19 +14801,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8054, + "id": 8593, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8052, + "id": 8591, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8042, - "src": "3367:5:13", + "referencedDeclaration": 8581, + "src": "3600:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13283,14 +14824,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8053, + "id": 8592, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3375:1:13", + "src": "3608:1:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13298,7 +14839,7 @@ }, "value": "0" }, - "src": "3367:9:13", + "src": "3600:9:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13307,14 +14848,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d75737420626520706f736974697665", - "id": 8055, + "id": 8594, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3378:24:13", + "src": "3611:24:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6b17df485e9fb24391f0a5f6e971ff9213a414eba780dcd7eaae085293f2e1e6", @@ -13334,21 +14875,21 @@ "typeString": "literal_string \"Value must be positive\"" } ], - "id": 8051, + "id": 8590, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "3359:7:13", + "referencedDeclaration": 11102, + "src": "3592:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8056, + "id": 8595, "isConstant": false, "isLValue": false, "isPure": false, @@ -13356,15 +14897,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3359:44:13", + "src": "3592:44:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8057, + "id": 8596, "nodeType": "ExpressionStatement", - "src": "3359:44:13" + "src": "3592:44:14" }, { "expression": { @@ -13376,19 +14917,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8069, + "id": 8608, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8059, + "id": 8598, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8042, - "src": "3434:5:13", + "referencedDeclaration": 8581, + "src": "3667:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13401,12 +14942,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8067, + "id": 8606, "name": "MIN_LOCK_VALUE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7844, - "src": "3473:14:13", + "referencedDeclaration": 8365, + "src": "3706:14:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13429,7 +14970,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8064, + "id": 8603, "isConstant": false, "isLValue": false, "isPure": false, @@ -13440,14 +14981,14 @@ { "argumentTypes": null, "hexValue": "3130", - "id": 8061, + "id": 8600, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3452:2:13", + "src": "3685:2:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -13463,20 +15004,20 @@ "typeString": "int_const 10" } ], - "id": 8060, + "id": 8599, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3444:7:13", + "src": "3677:7:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 8062, + "id": 8601, "isConstant": false, "isLValue": false, "isPure": true, @@ -13484,7 +15025,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3444:11:13", + "src": "3677:11:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13494,52 +15035,52 @@ "operator": "**", "rightExpression": { "argumentTypes": null, - "id": 8063, + "id": 8602, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8046, - "src": "3459:8:13", + "referencedDeclaration": 8585, + "src": "3692:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3444:23:13", + "src": "3677:23:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8065, + "id": 8604, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3443:25:13", + "src": "3676:25:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8066, + "id": 8605, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 8869, - "src": "3443:29:13", + "referencedDeclaration": 9488, + "src": "3676:29:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8068, + "id": 8607, "isConstant": false, "isLValue": false, "isPure": false, @@ -13547,13 +15088,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3443:45:13", + "src": "3676:45:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3434:54:13", + "src": "3667:54:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13562,14 +15103,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d75737420626520626967676572206f7220657175616c204d494e5f4c4f434b5f56414c5545", - "id": 8070, + "id": 8609, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3502:46:13", + "src": "3735:46:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_18862e85535407d5180b1642991b362be6d5b2c71e74b596fde9034947716652", @@ -13589,21 +15130,21 @@ "typeString": "literal_string \"Value must be bigger or equal MIN_LOCK_VALUE\"" } ], - "id": 8058, + "id": 8597, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "3413:7:13", + "referencedDeclaration": 11102, + "src": "3646:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8071, + "id": 8610, "isConstant": false, "isLValue": false, "isPure": false, @@ -13611,36 +15152,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3413:145:13", + "src": "3646:145:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8072, + "id": 8611, "nodeType": "ExpressionStatement", - "src": "3413:145:13" + "src": "3646:145:14" } ] }, "documentation": null, - "id": 8074, + "id": 8613, "implemented": true, "kind": "function", "modifiers": [], "name": "requireMinimumValue", "nodeType": "FunctionDefinition", "parameters": { - "id": 8043, + "id": 8582, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8040, + "id": 8579, "name": "decimalsIn", "nodeType": "VariableDeclaration", - "scope": 8074, - "src": "3258:16:13", + "scope": 8613, + "src": "3491:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13648,10 +15189,10 @@ "typeString": "uint8" }, "typeName": { - "id": 8039, + "id": 8578, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3258:5:13", + "src": "3491:5:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13662,11 +15203,11 @@ }, { "constant": false, - "id": 8042, + "id": 8581, "name": "value", "nodeType": "VariableDeclaration", - "scope": 8074, - "src": "3276:10:13", + "scope": 8613, + "src": "3509:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13674,10 +15215,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8041, + "id": 8580, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3276:4:13", + "src": "3509:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13687,25 +15228,25 @@ "visibility": "internal" } ], - "src": "3257:30:13" + "src": "3490:30:14" }, "returnParameters": { - "id": 8044, + "id": 8583, "nodeType": "ParameterList", "parameters": [], - "src": "3301:0:13" + "src": "3534:0:14" }, - "scope": 8587, - "src": "3229:345:13", + "scope": 9203, + "src": "3462:345:14", "stateMutability": "pure", "superFunction": null, "visibility": "private" }, { "body": { - "id": 8085, + "id": 8624, "nodeType": "Block", - "src": "3651:40:13", + "src": "3884:40:14", "statements": [ { "expression": { @@ -13713,12 +15254,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8082, + "id": 8621, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8076, - "src": "3677:6:13", + "referencedDeclaration": 8615, + "src": "3910:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13732,18 +15273,18 @@ "typeString": "uint256" } ], - "id": 8081, + "id": 8620, "name": "contains", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "3668:8:13", + "referencedDeclaration": 8490, + "src": "3901:8:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 8083, + "id": 8622, "isConstant": false, "isLValue": false, "isPure": false, @@ -13751,37 +15292,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3668:16:13", + "src": "3901:16:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 8080, - "id": 8084, + "functionReturnParameters": 8619, + "id": 8623, "nodeType": "Return", - "src": "3661:23:13" + "src": "3894:23:14" } ] }, "documentation": null, - "id": 8086, + "id": 8625, "implemented": true, "kind": "function", "modifiers": [], "name": "wasSyscoinTxProcessed", "nodeType": "FunctionDefinition", "parameters": { - "id": 8077, + "id": 8616, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8076, + "id": 8615, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 8086, - "src": "3611:11:13", + "scope": 8625, + "src": "3844:11:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13789,10 +15330,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8075, + "id": 8614, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3611:4:13", + "src": "3844:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13802,19 +15343,19 @@ "visibility": "internal" } ], - "src": "3610:13:13" + "src": "3843:13:14" }, "returnParameters": { - "id": 8080, + "id": 8619, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8079, + "id": 8618, "name": "", "nodeType": "VariableDeclaration", - "scope": 8086, - "src": "3645:4:13", + "scope": 8625, + "src": "3878:4:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13822,10 +15363,10 @@ "typeString": "bool" }, "typeName": { - "id": 8078, + "id": 8617, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3645:4:13", + "src": "3878:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13835,47 +15376,47 @@ "visibility": "internal" } ], - "src": "3644:6:13" + "src": "3877:6:14" }, - "scope": 8587, - "src": "3580:111:13", + "scope": 9203, + "src": "3813:111:14", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 8214, + "id": 8753, "nodeType": "Block", - "src": "3967:1140:13", + "src": "4200:1148:14", "statements": [ { "assignments": [ - 8106 + 8645 ], "declarations": [ { "constant": false, - "id": 8106, + "id": 8645, "name": "erc20", "nodeType": "VariableDeclaration", - "scope": 8214, - "src": "3977:19:13", + "scope": 8753, + "src": "4210:19:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" }, "typeName": { "contractScope": null, - "id": 8105, + "id": 8644, "name": "SyscoinERC20I", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7608, - "src": "3977:13:13", + "referencedDeclaration": 8109, + "src": "4210:13:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, @@ -13883,18 +15424,18 @@ "visibility": "internal" } ], - "id": 8110, + "id": 8649, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8108, + "id": 8647, "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8096, - "src": "4013:20:13", + "referencedDeclaration": 8635, + "src": "4246:20:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13908,18 +15449,18 @@ "typeString": "address" } ], - "id": 8107, + "id": 8646, "name": "SyscoinERC20I", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7608, - "src": "3999:13:13", + "referencedDeclaration": 8109, + "src": "4232:13:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$7608_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$8109_$", "typeString": "type(contract SyscoinERC20I)" } }, - "id": 8109, + "id": 8648, "isConstant": false, "isLValue": false, "isPure": false, @@ -13927,27 +15468,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3999:35:13", + "src": "4232:35:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, "nodeType": "VariableDeclarationStatement", - "src": "3977:57:13" + "src": "4210:57:14" }, { "assignments": [ - 8112 + 8651 ], "declarations": [ { "constant": false, - "id": 8112, + "id": 8651, "name": "nLocalPrecision", "nodeType": "VariableDeclaration", - "scope": 8214, - "src": "4044:21:13", + "scope": 8753, + "src": "4277:21:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13955,10 +15496,10 @@ "typeString": "uint8" }, "typeName": { - "id": 8111, + "id": 8650, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "4044:5:13", + "src": "4277:5:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13968,7 +15509,7 @@ "visibility": "internal" } ], - "id": 8116, + "id": 8655, "initialValue": { "argumentTypes": null, "arguments": [], @@ -13976,32 +15517,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 8113, + "id": 8652, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8106, - "src": "4068:5:13", + "referencedDeclaration": 8645, + "src": "4301:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, - "id": 8114, + "id": 8653, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 7607, - "src": "4068:14:13", + "referencedDeclaration": 8108, + "src": "4301:14:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" } }, - "id": 8115, + "id": 8654, "isConstant": false, "isLValue": false, "isPure": false, @@ -14009,14 +15550,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4068:16:13", + "src": "4301:16:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "4044:40:13" + "src": "4277:40:14" }, { "condition": { @@ -14025,19 +15566,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 8119, + "id": 8658, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8117, + "id": 8656, "name": "nLocalPrecision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8112, - "src": "4134:15:13", + "referencedDeclaration": 8651, + "src": "4367:15:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14047,18 +15588,18 @@ "operator": ">", "rightExpression": { "argumentTypes": null, - "id": 8118, + "id": 8657, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "4152:9:13", + "referencedDeclaration": 8639, + "src": "4385:9:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "4134:27:13", + "src": "4367:27:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14071,19 +15612,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 8136, + "id": 8675, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8134, + "id": 8673, "name": "nLocalPrecision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8112, - "src": "4249:15:13", + "referencedDeclaration": 8651, + "src": "4482:15:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14093,48 +15634,48 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 8135, + "id": 8674, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "4267:9:13", + "referencedDeclaration": 8639, + "src": "4500:9:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "4249:27:13", + "src": "4482:27:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 8151, + "id": 8690, "nodeType": "IfStatement", - "src": "4246:110:13", + "src": "4479:110:14", "trueBody": { - "id": 8150, + "id": 8689, "nodeType": "Block", - "src": "4277:79:13", + "src": "4510:79:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 8148, + "id": 8687, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8137, + "id": 8676, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8090, - "src": "4291:5:13", + "referencedDeclaration": 8629, + "src": "4524:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14148,7 +15689,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8147, + "id": 8686, "isConstant": false, "isLValue": false, "isPure": false, @@ -14159,14 +15700,14 @@ { "argumentTypes": null, "hexValue": "3130", - "id": 8139, + "id": 8678, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4305:2:13", + "src": "4538:2:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -14182,20 +15723,20 @@ "typeString": "int_const 10" } ], - "id": 8138, + "id": 8677, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4300:4:13", + "src": "4533:4:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 8140, + "id": 8679, "isConstant": false, "isLValue": false, "isPure": true, @@ -14203,7 +15744,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4300:8:13", + "src": "4533:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14223,19 +15764,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 8144, + "id": 8683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8142, + "id": 8681, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "4316:9:13", + "referencedDeclaration": 8639, + "src": "4549:9:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14245,18 +15786,18 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 8143, + "id": 8682, "name": "nLocalPrecision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8112, - "src": "4328:15:13", + "referencedDeclaration": 8651, + "src": "4561:15:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "4316:27:13", + "src": "4549:27:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14270,20 +15811,20 @@ "typeString": "uint8" } ], - "id": 8141, + "id": 8680, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4311:4:13", + "src": "4544:4:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 8145, + "id": 8684, "isConstant": false, "isLValue": false, "isPure": false, @@ -14291,69 +15832,69 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4311:33:13", + "src": "4544:33:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8146, + "id": 8685, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4310:35:13", + "src": "4543:35:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4300:45:13", + "src": "4533:45:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4291:54:13", + "src": "4524:54:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8149, + "id": 8688, "nodeType": "ExpressionStatement", - "src": "4291:54:13" + "src": "4524:54:14" } ] } }, - "id": 8152, + "id": 8691, "nodeType": "IfStatement", - "src": "4131:225:13", + "src": "4364:225:14", "trueBody": { - "id": 8133, + "id": 8672, "nodeType": "Block", - "src": "4162:79:13", + "src": "4395:79:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 8131, + "id": 8670, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8120, + "id": 8659, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8090, - "src": "4176:5:13", + "referencedDeclaration": 8629, + "src": "4409:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14367,7 +15908,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8130, + "id": 8669, "isConstant": false, "isLValue": false, "isPure": false, @@ -14378,14 +15919,14 @@ { "argumentTypes": null, "hexValue": "3130", - "id": 8122, + "id": 8661, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4190:2:13", + "src": "4423:2:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -14401,20 +15942,20 @@ "typeString": "int_const 10" } ], - "id": 8121, + "id": 8660, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4185:4:13", + "src": "4418:4:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 8123, + "id": 8662, "isConstant": false, "isLValue": false, "isPure": true, @@ -14422,7 +15963,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4185:8:13", + "src": "4418:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14442,19 +15983,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 8127, + "id": 8666, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8125, + "id": 8664, "name": "nLocalPrecision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8112, - "src": "4201:15:13", + "referencedDeclaration": 8651, + "src": "4434:15:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14464,18 +16005,18 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 8126, + "id": 8665, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "4219:9:13", + "referencedDeclaration": 8639, + "src": "4452:9:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "4201:27:13", + "src": "4434:27:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14489,20 +16030,20 @@ "typeString": "uint8" } ], - "id": 8124, + "id": 8663, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4196:4:13", + "src": "4429:4:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 8128, + "id": 8667, "isConstant": false, "isLValue": false, "isPure": false, @@ -14510,70 +16051,528 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4196:33:13", + "src": "4429:33:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8129, + "id": 8668, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4195:35:13", + "src": "4428:35:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4185:45:13", + "src": "4418:45:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4409:54:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8671, + "nodeType": "ExpressionStatement", + "src": "4409:54:14" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8693, + "name": "nLocalPrecision", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8651, + "src": "4618:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 8694, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8629, + "src": "4635:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8692, + "name": "requireMinimumValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8613, + "src": "4598:19:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$returns$__$", + "typeString": "function (uint8,uint256) pure" + } + }, + "id": 8695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4598:43:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8696, + "nodeType": "ExpressionStatement", + "src": "4598:43:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8699, + "name": "txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8627, + "src": "4762:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8698, + "name": "insert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8512, + "src": "4755:6:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) returns (bool)" + } + }, + "id": 8700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4755:14:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "545820616c72656164792070726f636573736564", + "id": 8701, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4771:22:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_83877e4c1c00f18272fe8b607bcdef70396d3468cac4cb53db86825873dee26e", + "typeString": "literal_string \"TX already processed\"" + }, + "value": "TX already processed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_83877e4c1c00f18272fe8b607bcdef70396d3468cac4cb53db86825873dee26e", + "typeString": "literal_string \"TX already processed\"" + } + ], + "id": 8697, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "4747:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4747:47:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8703, + "nodeType": "ExpressionStatement", + "src": "4747:47:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 8713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8704, + "name": "assetBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8383, + "src": "4806:13:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", + "typeString": "mapping(uint32 => uint256)" + } + }, + "id": 8706, + "indexExpression": { + "argumentTypes": null, + "id": 8705, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8637, + "src": "4820:9:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4806:24:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8711, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8629, + "src": "4862:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8707, + "name": "assetBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8383, + "src": "4833:13:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", + "typeString": "mapping(uint32 => uint256)" + } + }, + "id": 8709, + "indexExpression": { + "argumentTypes": null, + "id": 8708, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8637, + "src": "4847:9:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "src": "4176:54:13", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4833:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8132, - "nodeType": "ExpressionStatement", - "src": "4176:54:13" + "id": 8710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 9411, + "src": "4833:28:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4833:35:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ] - } + }, + "src": "4806:62:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8714, + "nodeType": "ExpressionStatement", + "src": "4806:62:14" + }, + { + "assignments": [ + 8716 + ], + "declarations": [ + { + "constant": false, + "id": 8716, + "name": "superblockSubmitterFee", + "nodeType": "VariableDeclaration", + "scope": 8753, + "src": "4879:27:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8715, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4879:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8721, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8719, + "name": "SUPERBLOCK_SUBMITTER_LOCK_FEE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8368, + "src": "4919:29:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 8717, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8629, + "src": "4909:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 9488, + "src": "4909:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4909:40:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4879:70:14" }, { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8154, - "name": "nLocalPrecision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8112, - "src": "4385:15:13", + "assignments": [ + 8723 + ], + "declarations": [ + { + "constant": false, + "id": 8723, + "name": "userValue", + "nodeType": "VariableDeclaration", + "scope": 8753, + "src": "4959:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8722, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4959:4:14", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, + "value": null, + "visibility": "internal" + } + ], + "id": 8728, + "initialValue": { + "argumentTypes": null, + "arguments": [ { "argumentTypes": null, - "id": 8155, - "name": "value", + "id": 8726, + "name": "superblockSubmitterFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8090, - "src": "4402:5:13", + "referencedDeclaration": 8716, + "src": "4986:22:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14582,27 +16581,39 @@ ], "expression": { "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], - "id": 8153, - "name": "requireMinimumValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8074, - "src": "4365:19:13", + "expression": { + "argumentTypes": null, + "id": 8724, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8629, + "src": "4976:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 9411, + "src": "4976:9:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$returns$__$", - "typeString": "function (uint8,uint256) pure" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8156, + "id": 8727, "isConstant": false, "isLValue": false, "isPure": false, @@ -14610,15 +16621,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4365:43:13", + "src": "4976:33:14", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 8157, - "nodeType": "ExpressionStatement", - "src": "4365:43:13" + "nodeType": "VariableDeclarationStatement", + "src": "4959:50:14" }, { "expression": { @@ -14626,98 +16636,70 @@ "arguments": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8160, - "name": "txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8088, - "src": "4529:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8159, - "name": "insert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7973, - "src": "4522:6:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 8161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4522:14:13", + "id": 8732, + "name": "superblockSubmitterAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8633, + "src": "5062:26:14", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "hexValue": "545820616c72656164792070726f636573736564", - "id": 8162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4538:22:13", - "subdenomination": null, + "id": 8733, + "name": "superblockSubmitterFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8716, + "src": "5090:22:14", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_83877e4c1c00f18272fe8b607bcdef70396d3468cac4cb53db86825873dee26e", - "typeString": "literal_string \"TX already processed\"" - }, - "value": "TX already processed" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_stringliteral_83877e4c1c00f18272fe8b607bcdef70396d3468cac4cb53db86825873dee26e", - "typeString": "literal_string \"TX already processed\"" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 8158, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10188, - "src": "4514:7:13", + "expression": { + "argumentTypes": null, + "id": 8729, + "name": "erc20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8645, + "src": "5043:5:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" + } + }, + "id": 8731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "safeTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 10120, + "src": "5043:18:14", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10087_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10087_$", + "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 8163, + "id": 8734, "isConstant": false, "isLValue": false, "isPure": false, @@ -14725,212 +16707,112 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4514:47:13", + "src": "5043:70:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8164, + "id": 8735, "nodeType": "ExpressionStatement", - "src": "4514:47:13" + "src": "5043:70:14" }, { - "expression": { + "eventCall": { "argumentTypes": null, - "id": 8174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { + "arguments": [ + { "argumentTypes": null, - "id": 8165, - "name": "assetBalances", + "id": 8737, + "name": "superblockSubmitterAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "4573:13:13", + "referencedDeclaration": 8633, + "src": "5145:26:14", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", - "typeString": "mapping(uint32 => uint256)" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 8167, - "indexExpression": { + { "argumentTypes": null, - "id": 8166, - "name": "assetGUID", + "id": 8738, + "name": "superblockSubmitterFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8098, - "src": "4587:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4573:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8172, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8090, - "src": "4629:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8168, - "name": "assetBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "4600:13:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", - "typeString": "mapping(uint32 => uint256)" - } - }, - "id": 8170, - "indexExpression": { - "argumentTypes": null, - "id": 8169, - "name": "assetGUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8098, - "src": "4614:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4600:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8792, - "src": "4600:28:13", + "referencedDeclaration": 8716, + "src": "5173:22:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 8173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4600:35:13", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8736, + "name": "TokenUnfreezeFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8434, + "src": "5128:16:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" } }, - "src": "4573:62:13", + "id": 8739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5128:68:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8175, - "nodeType": "ExpressionStatement", - "src": "4573:62:13" + "id": 8740, + "nodeType": "EmitStatement", + "src": "5123:73:14" }, { - "assignments": [ - 8177 - ], - "declarations": [ - { - "constant": false, - "id": 8177, - "name": "superblockSubmitterFee", - "nodeType": "VariableDeclaration", - "scope": 8214, - "src": "4646:27:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8176, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4646:4:13", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8744, + "name": "destinationAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8631, + "src": "5252:18:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "value": null, - "visibility": "internal" - } - ], - "id": 8182, - "initialValue": { - "argumentTypes": null, - "arguments": [ { "argumentTypes": null, - "id": 8180, - "name": "SUPERBLOCK_SUBMITTER_LOCK_FEE", + "id": 8745, + "name": "userValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7847, - "src": "4686:29:13", + "referencedDeclaration": 8723, + "src": "5272:9:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14939,6 +16821,10 @@ ], "expression": { "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14946,32 +16832,103 @@ ], "expression": { "argumentTypes": null, - "id": 8178, - "name": "value", + "id": 8741, + "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8090, - "src": "4676:5:13", + "referencedDeclaration": 8645, + "src": "5233:5:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" } }, - "id": 8179, + "id": 8743, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "div", + "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 8869, - "src": "4676:9:13", + "referencedDeclaration": 10120, + "src": "5233:18:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10087_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10087_$", + "typeString": "function (contract IERC20,address,uint256)" + } + }, + "id": 8746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5233:49:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8747, + "nodeType": "ExpressionStatement", + "src": "5233:49:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8749, + "name": "destinationAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8631, + "src": "5311:18:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 8750, + "name": "userValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8723, + "src": "5331:9:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8748, + "name": "TokenUnfreeze", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8428, + "src": "5297:13:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" } }, - "id": 8181, + "id": 8751, "isConstant": false, "isLValue": false, "isPure": false, @@ -14979,186 +16936,392 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4676:40:13", + "src": "5297:44:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8752, + "nodeType": "EmitStatement", + "src": "5292:49:14" + } + ] + }, + "documentation": null, + "id": 8754, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 8642, + "modifierName": { + "argumentTypes": null, + "id": 8641, + "name": "onlyTrustedRelayer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8546, + "src": "4181:18:14", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4181:18:14" + } + ], + "name": "processTransaction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8627, + "name": "txHash", + "nodeType": "VariableDeclaration", + "scope": 8754, + "src": "3967:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8626, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3967:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8629, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 8754, + "src": "3988:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8628, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3988:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8631, + "name": "destinationAddress", + "nodeType": "VariableDeclaration", + "scope": 8754, + "src": "4008:26:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8630, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4008:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8633, + "name": "superblockSubmitterAddress", + "nodeType": "VariableDeclaration", + "scope": 8754, + "src": "4044:34:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4044:7:14", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "VariableDeclarationStatement", - "src": "4646:70:13" + "value": null, + "visibility": "internal" }, { - "assignments": [ - 8184 - ], - "declarations": [ - { - "constant": false, - "id": 8184, - "name": "userValue", - "nodeType": "VariableDeclaration", - "scope": 8214, - "src": "4726:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8183, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4726:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" + "constant": false, + "id": 8635, + "name": "erc20ContractAddress", + "nodeType": "VariableDeclaration", + "scope": 8754, + "src": "4088:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4088:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "id": 8189, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8187, - "name": "superblockSubmitterFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8177, - "src": "4753:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8185, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8090, - "src": "4743:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8792, - "src": "4743:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4743:33:13", + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8637, + "name": "assetGUID", + "nodeType": "VariableDeclaration", + "scope": 8754, + "src": "4126:16:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8636, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "4126:6:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "nodeType": "VariableDeclarationStatement", - "src": "4726:50:13" + "value": null, + "visibility": "internal" }, + { + "constant": false, + "id": 8639, + "name": "precision", + "nodeType": "VariableDeclaration", + "scope": 8754, + "src": "4152:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 8638, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4152:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3957:216:14" + }, + "returnParameters": { + "id": 8643, + "nodeType": "ParameterList", + "parameters": [], + "src": "4200:0:14" + }, + "scope": 9203, + "src": "3930:1418:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8798, + "nodeType": "Block", + "src": "5520:509:14", + "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8193, - "name": "superblockSubmitterAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8094, - "src": "4825:26:13", + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 8773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8768, + "name": "assetRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8469, + "src": "5592:13:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_AssetRegistryItem_$8465_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.AssetRegistryItem storage ref)" + } + }, + "id": 8770, + "indexExpression": { + "argumentTypes": null, + "id": 8769, + "name": "_assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8758, + "src": "5606:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5592:25:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetRegistryItem_$8465_storage", + "typeString": "struct SyscoinERC20Manager.AssetRegistryItem storage ref" + } + }, + "id": 8771, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "height", + "nodeType": "MemberAccess", + "referencedDeclaration": 8464, + "src": "5592:32:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8772, + "name": "_height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8760, + "src": "5627:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "5592:42:14", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, { "argumentTypes": null, - "id": 8194, - "name": "superblockSubmitterFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8177, - "src": "4853:22:13", + "hexValue": "486569676874206d75737420696e637265617365207768656e207570646174696e67206173736574207265676973747279", + "id": 8774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5636:51:14", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_stringliteral_e7b9e6b058c2b3878eba53e095d1db51fd9ae6eaac71f50d8863f991bec1d727", + "typeString": "literal_string \"Height must increase when updating asset registry\"" + }, + "value": "Height must increase when updating asset registry" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_stringliteral_e7b9e6b058c2b3878eba53e095d1db51fd9ae6eaac71f50d8863f991bec1d727", + "typeString": "literal_string \"Height must increase when updating asset registry\"" } ], - "expression": { - "argumentTypes": null, - "id": 8190, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8106, - "src": "4810:5:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", - "typeString": "contract SyscoinERC20I" - } - }, - "id": 8192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9422, - "src": "4810:14:13", + "id": 8767, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "5584:7:14", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "id": 8195, + "id": 8775, "isConstant": false, "isLValue": false, "isPure": false, @@ -15166,70 +17329,114 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4810:66:13", + "src": "5584:104:14", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8196, + "id": 8776, "nodeType": "ExpressionStatement", - "src": "4810:66:13" + "src": "5584:104:14" }, { - "eventCall": { + "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8198, - "name": "superblockSubmitterAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8094, - "src": "4908:26:13", + "arguments": [ + { + "argumentTypes": null, + "id": 8779, + "name": "_txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8756, + "src": "5809:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8778, + "name": "insert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8512, + "src": "5802:6:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) returns (bool)" + } + }, + "id": 8780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5802:15:14", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, { "argumentTypes": null, - "id": 8199, - "name": "superblockSubmitterFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8177, - "src": "4936:22:13", + "hexValue": "545820616c72656164792070726f636573736564", + "id": 8781, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5819:22:14", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_stringliteral_83877e4c1c00f18272fe8b607bcdef70396d3468cac4cb53db86825873dee26e", + "typeString": "literal_string \"TX already processed\"" + }, + "value": "TX already processed" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_stringliteral_83877e4c1c00f18272fe8b607bcdef70396d3468cac4cb53db86825873dee26e", + "typeString": "literal_string \"TX already processed\"" } ], - "id": 8197, - "name": "TokenUnfreezeFee", + "id": 8777, + "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7913, - "src": "4891:16:13", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "5794:7:14", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "id": 8200, + "id": 8782, "isConstant": false, "isLValue": false, "isPure": false, @@ -15237,102 +17444,144 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4891:68:13", + "src": "5794:48:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8201, - "nodeType": "EmitStatement", - "src": "4886:73:13" + "id": 8783, + "nodeType": "ExpressionStatement", + "src": "5794:48:14" }, { "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 8791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "id": 8205, - "name": "destinationAddress", + "id": 8784, + "name": "assetRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8092, - "src": "5011:18:13", + "referencedDeclaration": 8469, + "src": "5852:13:14", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_AssetRegistryItem_$8465_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.AssetRegistryItem storage ref)" } }, - { + "id": 8786, + "indexExpression": { "argumentTypes": null, - "id": 8206, - "name": "userValue", + "id": 8785, + "name": "_assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8184, - "src": "5031:9:13", + "referencedDeclaration": 8758, + "src": "5866:10:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5852:25:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetRegistryItem_$8465_storage", + "typeString": "struct SyscoinERC20Manager.AssetRegistryItem storage ref" } - ], - "expression": { - "argumentTypes": [ + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "argumentTypes": null, + "id": 8788, + "name": "_erc20ContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8762, + "src": "5920:21:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "argumentTypes": null, + "id": 8789, + "name": "_height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8760, + "src": "5950:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } } ], "expression": { - "argumentTypes": null, - "id": 8202, - "name": "erc20", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + ], + "id": 8787, + "name": "AssetRegistryItem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8106, - "src": "4996:5:13", + "referencedDeclaration": 8465, + "src": "5880:17:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", - "typeString": "contract SyscoinERC20I" + "typeIdentifier": "t_type$_t_struct$_AssetRegistryItem_$8465_storage_ptr_$", + "typeString": "type(struct SyscoinERC20Manager.AssetRegistryItem storage pointer)" } }, - "id": 8204, + "id": 8790, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "structConstructorCall", "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9422, - "src": "4996:14:13", + "names": [ + "erc20ContractAddress", + "height" + ], + "nodeType": "FunctionCall", + "src": "5880:79:14", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" + "typeIdentifier": "t_struct$_AssetRegistryItem_$8465_memory", + "typeString": "struct SyscoinERC20Manager.AssetRegistryItem memory" } }, - "id": 8207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4996:45:13", + "src": "5852:107:14", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_struct$_AssetRegistryItem_$8465_storage", + "typeString": "struct SyscoinERC20Manager.AssetRegistryItem storage ref" } }, - "id": 8208, + "id": 8792, "nodeType": "ExpressionStatement", - "src": "4996:45:13" + "src": "5852:107:14" }, { "eventCall": { @@ -15340,54 +17589,54 @@ "arguments": [ { "argumentTypes": null, - "id": 8210, - "name": "destinationAddress", + "id": 8794, + "name": "_assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8092, - "src": "5070:18:13", + "referencedDeclaration": 8758, + "src": "5988:10:14", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, { "argumentTypes": null, - "id": 8211, - "name": "userValue", + "id": 8795, + "name": "_erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8184, - "src": "5090:9:13", + "referencedDeclaration": 8762, + "src": "6000:21:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 8209, - "name": "TokenUnfreeze", + "id": 8793, + "name": "TokenRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7907, - "src": "5056:13:13", + "referencedDeclaration": 8475, + "src": "5974:13:14", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_uint32_$_t_address_$returns$__$", + "typeString": "function (uint32,address)" } }, - "id": 8212, + "id": 8796, "isConstant": false, "isLValue": false, "isPure": false, @@ -15395,150 +17644,70 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5056:44:13", + "src": "5974:48:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8213, + "id": 8797, "nodeType": "EmitStatement", - "src": "5051:49:13" + "src": "5969:53:14" } ] }, "documentation": null, - "id": 8215, + "id": 8799, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 8103, + "id": 8765, "modifierName": { "argumentTypes": null, - "id": 8102, + "id": 8764, "name": "onlyTrustedRelayer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8007, - "src": "3948:18:13", + "referencedDeclaration": 8546, + "src": "5501:18:14", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3948:18:13" + "src": "5501:18:14" } ], - "name": "processTransaction", + "name": "processAsset", "nodeType": "FunctionDefinition", "parameters": { - "id": 8101, + "id": 8763, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8088, - "name": "txHash", - "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3734:11:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8087, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3734:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8090, - "name": "value", + "id": 8756, + "name": "_txHash", "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3755:10:13", + "scope": 8799, + "src": "5385:12:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8089, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3755:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8092, - "name": "destinationAddress", - "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3775:26:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8091, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3775:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8094, - "name": "superblockSubmitterAddress", - "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3811:34:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeString": "uint256" }, "typeName": { - "id": 8093, - "name": "address", + "id": 8755, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3811:7:13", - "stateMutability": "nonpayable", + "src": "5385:4:14", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, @@ -15546,26 +17715,25 @@ }, { "constant": false, - "id": 8096, - "name": "erc20ContractAddress", + "id": 8758, + "name": "_assetGUID", "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3855:28:13", + "scope": 8799, + "src": "5407:17:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, "typeName": { - "id": 8095, - "name": "address", + "id": 8757, + "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3855:7:13", - "stateMutability": "nonpayable", + "src": "5407:6:14", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "value": null, @@ -15573,11 +17741,11 @@ }, { "constant": false, - "id": 8098, - "name": "assetGUID", + "id": 8760, + "name": "_height", "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3893:16:13", + "scope": 8799, + "src": "5434:14:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15585,10 +17753,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8097, + "id": 8759, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3893:6:13", + "src": "5434:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15599,78 +17767,79 @@ }, { "constant": false, - "id": 8100, - "name": "precision", + "id": 8762, + "name": "_erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 8215, - "src": "3919:15:13", + "scope": 8799, + "src": "5458:29:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 8099, - "name": "uint8", + "id": 8761, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "3919:5:13", + "src": "5458:7:14", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "3724:216:13" + "src": "5375:118:14" }, "returnParameters": { - "id": 8104, + "id": 8766, "nodeType": "ParameterList", "parameters": [], - "src": "3967:0:13" + "src": "5520:0:14" }, - "scope": 8587, - "src": "3697:1410:13", + "scope": 9203, + "src": "5354:675:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 8298, + "id": 8882, "nodeType": "Block", - "src": "5188:1606:13", + "src": "6110:1606:14", "statements": [ { "assignments": [ - 8221 + 8805 ], "declarations": [ { "constant": false, - "id": 8221, + "id": 8805, "name": "bridgeTransfer", "nodeType": "VariableDeclaration", - "scope": 8298, - "src": "5242:37:13", + "scope": 8882, + "src": "6164:37:14", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer" }, "typeName": { "contractScope": null, - "id": 8220, + "id": 8804, "name": "BridgeTransfer", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7887, - "src": "5242:14:13", + "referencedDeclaration": 8408, + "src": "6164:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer" } }, @@ -15678,31 +17847,31 @@ "visibility": "internal" } ], - "id": 8225, + "id": 8809, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8222, + "id": 8806, "name": "bridgeTransfers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7891, - "src": "5282:15:13", + "referencedDeclaration": 8412, + "src": "6204:15:14", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" } }, - "id": 8224, + "id": 8808, "indexExpression": { "argumentTypes": null, - "id": 8223, + "id": 8807, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8217, - "src": "5298:16:13", + "referencedDeclaration": 8801, + "src": "6220:16:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15713,14 +17882,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5282:33:13", + "src": "6204:33:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "5242:73:13" + "src": "6164:73:14" }, { "expression": { @@ -15729,10 +17898,10 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" }, - "id": 8231, + "id": 8815, "isConstant": false, "isLValue": false, "isPure": false, @@ -15741,28 +17910,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8227, + "id": 8811, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8221, - "src": "5363:14:13", + "referencedDeclaration": 8805, + "src": "6285:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8228, + "id": 8812, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "5363:21:13", + "referencedDeclaration": 8407, + "src": "6285:21:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, @@ -15772,18 +17941,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8229, + "id": 8813, "name": "BridgeTransferStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "5388:20:13", + "referencedDeclaration": 8395, + "src": "6310:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" } }, - "id": 8230, + "id": 8814, "isConstant": false, "isLValue": false, "isPure": true, @@ -15791,13 +17960,13 @@ "memberName": "Ok", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5388:23:13", + "src": "6310:23:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, - "src": "5363:48:13", + "src": "6285:48:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15806,14 +17975,14 @@ { "argumentTypes": null, "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a20537461747573206f6620627269646765207472616e73666572206d757374206265204f6b", - "id": 8232, + "id": 8816, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5425:84:13", + "src": "6347:84:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_23fd56563ec5895eb94fc75c219809c7f4f96815cdcdf621b5228b3871365031", @@ -15833,21 +18002,21 @@ "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Status of bridge transfer must be Ok\"" } ], - "id": 8226, + "id": 8810, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "5355:7:13", + "referencedDeclaration": 11102, + "src": "6277:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8233, + "id": 8817, "isConstant": false, "isLValue": false, "isPure": false, @@ -15855,15 +18024,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5355:155:13", + "src": "6277:155:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8234, + "id": 8818, "nodeType": "ExpressionStatement", - "src": "5355:155:13" + "src": "6277:155:14" }, { "expression": { @@ -15875,7 +18044,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8240, + "id": 8824, "isConstant": false, "isLValue": false, "isPure": false, @@ -15884,18 +18053,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8236, + "id": 8820, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "5709:3:13", + "referencedDeclaration": 11098, + "src": "6631:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8237, + "id": 8821, "isConstant": false, "isLValue": false, "isPure": false, @@ -15903,7 +18072,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5709:10:13", + "src": "6631:10:14", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -15915,32 +18084,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8238, + "id": 8822, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8221, - "src": "5723:14:13", + "referencedDeclaration": 8805, + "src": "6645:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8239, + "id": 8823, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "tokenFreezerAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 7882, - "src": "5723:34:13", + "referencedDeclaration": 8403, + "src": "6645:34:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5709:48:13", + "src": "6631:48:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15949,14 +18118,14 @@ { "argumentTypes": null, "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a204f6e6c79206d73672e73656e64657220697320616c6c6f77656420746f2063616e63656c", - "id": 8241, + "id": 8825, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5759:84:13", + "src": "6681:84:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_91a8c7f090f8720a0a1def5e4dd2feebddf01525fa895f6c34aa9fab995e97a4", @@ -15976,21 +18145,21 @@ "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Only msg.sender is allowed to cancel\"" } ], - "id": 8235, + "id": 8819, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "5701:7:13", + "referencedDeclaration": 11102, + "src": "6623:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8242, + "id": 8826, "isConstant": false, "isLValue": false, "isPure": false, @@ -15998,15 +18167,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5701:143:13", + "src": "6623:143:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8243, + "id": 8827, "nodeType": "ExpressionStatement", - "src": "5701:143:13" + "src": "6623:143:14" }, { "expression": { @@ -16018,7 +18187,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8259, + "id": 8843, "isConstant": false, "isLValue": false, "isPure": false, @@ -16032,7 +18201,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8249, + "id": 8833, "isConstant": false, "isLValue": false, "isPure": false, @@ -16041,18 +18210,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8245, + "id": 8829, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "6047:5:13", + "referencedDeclaration": 11088, + "src": "6969:5:14", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 8246, + "id": 8830, "isConstant": false, "isLValue": false, "isPure": false, @@ -16060,7 +18229,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6047:15:13", + "src": "6969:15:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16072,46 +18241,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8247, + "id": 8831, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8221, - "src": "6065:14:13", + "referencedDeclaration": 8805, + "src": "6987:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8248, + "id": 8832, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7876, - "src": "6065:24:13", + "referencedDeclaration": 8397, + "src": "6987:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6047:42:13", + "src": "6969:42:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8250, + "id": 8834, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "6046:44:13", + "src": "6968:44:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16127,24 +18296,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" }, - "id": 8254, + "id": 8838, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8251, + "id": 8835, "name": "net", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7901, - "src": "6094:3:13", + "referencedDeclaration": 8422, + "src": "7016:3:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" } }, @@ -16154,18 +18323,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8252, + "id": 8836, "name": "Network", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7899, - "src": "6101:7:13", + "referencedDeclaration": 8420, + "src": "7023:7:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Network_$7899_$", + "typeIdentifier": "t_type$_t_enum$_Network_$8420_$", "typeString": "type(enum SyscoinERC20Manager.Network)" } }, - "id": 8253, + "id": 8837, "isConstant": false, "isLValue": false, "isPure": true, @@ -16173,13 +18342,13 @@ "memberName": "MAINNET", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6101:15:13", + "src": "7023:15:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_Network_$7899", + "typeIdentifier": "t_enum$_Network_$8420", "typeString": "enum SyscoinERC20Manager.Network" } }, - "src": "6094:22:13", + "src": "7016:22:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16188,14 +18357,14 @@ "falseExpression": { "argumentTypes": null, "hexValue": "3336303030", - "id": 8256, + "id": 8840, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6139:5:13", + "src": "7061:5:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_36000_by_1", @@ -16203,21 +18372,21 @@ }, "value": "36000" }, - "id": 8257, + "id": 8841, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "6094:50:13", + "src": "7016:50:14", "trueExpression": { "argumentTypes": null, - "id": 8255, + "id": 8839, "name": "CANCEL_MINT_TIMEOUT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7856, - "src": "6118:19:13", + "referencedDeclaration": 8377, + "src": "7040:19:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16229,20 +18398,20 @@ } } ], - "id": 8258, + "id": 8842, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "6093:52:13", + "src": "7015:52:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6046:99:13", + "src": "6968:99:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16251,14 +18420,14 @@ { "argumentTypes": null, "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a205472616e73666572206d757374206265206174206c6561737420312e35207765656b206f6c64", - "id": 8260, + "id": 8844, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6147:86:13", + "src": "7069:86:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8c0d9055ec316d60256550cd5e09754f3bd90a283c12a178561c66ac1c562319", @@ -16278,21 +18447,21 @@ "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Transfer must be at least 1.5 week old\"" } ], - "id": 8244, + "id": 8828, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "6038:7:13", + "referencedDeclaration": 11102, + "src": "6960:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8261, + "id": 8845, "isConstant": false, "isLValue": false, "isPure": false, @@ -16300,15 +18469,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6038:196:13", + "src": "6960:196:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8262, + "id": 8846, "nodeType": "ExpressionStatement", - "src": "6038:196:13" + "src": "6960:196:14" }, { "expression": { @@ -16320,7 +18489,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8267, + "id": 8851, "isConstant": false, "isLValue": false, "isPure": false, @@ -16329,18 +18498,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8264, + "id": 8848, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "6287:3:13", + "referencedDeclaration": 11098, + "src": "7209:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8265, + "id": 8849, "isConstant": false, "isLValue": false, "isPure": false, @@ -16348,7 +18517,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6287:9:13", + "src": "7209:9:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16358,18 +18527,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 8266, + "id": 8850, "name": "MIN_CANCEL_DEPOSIT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7850, - "src": "6300:18:13", + "referencedDeclaration": 8371, + "src": "7222:18:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6287:31:13", + "src": "7209:31:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16378,14 +18547,14 @@ { "argumentTypes": null, "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a2043616e63656c206465706f73697420696e636f7272656374", - "id": 8268, + "id": 8852, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6332:72:13", + "src": "7254:72:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_7cf567a60f68f2d3e8d8875743d46238d07284420472912d4fcc2d90fb913b3c", @@ -16405,21 +18574,21 @@ "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferRequest(): Cancel deposit incorrect\"" } ], - "id": 8263, + "id": 8847, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "6279:7:13", + "referencedDeclaration": 11102, + "src": "7201:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8269, + "id": 8853, "isConstant": false, "isLValue": false, "isPure": false, @@ -16427,20 +18596,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6279:126:13", + "src": "7201:126:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8270, + "id": 8854, "nodeType": "ExpressionStatement", - "src": "6279:126:13" + "src": "7201:126:14" }, { "expression": { "argumentTypes": null, - "id": 8276, + "id": 8860, "isConstant": false, "isLValue": false, "isPure": false, @@ -16449,26 +18618,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8271, + "id": 8855, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "6415:8:13", + "referencedDeclaration": 8416, + "src": "7337:8:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" } }, - "id": 8273, + "id": 8857, "indexExpression": { "argumentTypes": null, - "id": 8272, + "id": 8856, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8217, - "src": "6424:16:13", + "referencedDeclaration": 8801, + "src": "7346:16:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16479,7 +18648,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6415:26:13", + "src": "7337:26:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16491,18 +18660,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8274, + "id": 8858, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "6444:3:13", + "referencedDeclaration": 11098, + "src": "7366:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8275, + "id": 8859, "isConstant": false, "isLValue": false, "isPure": false, @@ -16510,26 +18679,26 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6444:9:13", + "src": "7366:9:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6415:38:13", + "src": "7337:38:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8277, + "id": 8861, "nodeType": "ExpressionStatement", - "src": "6415:38:13" + "src": "7337:38:14" }, { "expression": { "argumentTypes": null, - "id": 8283, + "id": 8867, "isConstant": false, "isLValue": false, "isPure": false, @@ -16538,26 +18707,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8278, + "id": 8862, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8221, - "src": "6550:14:13", + "referencedDeclaration": 8805, + "src": "7472:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8280, + "id": 8864, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7876, - "src": "6550:24:13", + "referencedDeclaration": 8397, + "src": "7472:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16569,18 +18738,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8281, + "id": 8865, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "6577:5:13", + "referencedDeclaration": 11088, + "src": "7499:5:14", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 8282, + "id": 8866, "isConstant": false, "isLValue": false, "isPure": false, @@ -16588,26 +18757,26 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6577:15:13", + "src": "7499:15:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6550:42:13", + "src": "7472:42:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8284, + "id": 8868, "nodeType": "ExpressionStatement", - "src": "6550:42:13" + "src": "7472:42:14" }, { "expression": { "argumentTypes": null, - "id": 8290, + "id": 8874, "isConstant": false, "isLValue": false, "isPure": false, @@ -16616,28 +18785,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8285, + "id": 8869, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8221, - "src": "6661:14:13", + "referencedDeclaration": 8805, + "src": "7583:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8287, + "id": 8871, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "6661:21:13", + "referencedDeclaration": 8407, + "src": "7583:21:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, @@ -16647,18 +18816,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8288, + "id": 8872, "name": "BridgeTransferStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "6685:20:13", + "referencedDeclaration": 8395, + "src": "7607:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" } }, - "id": 8289, + "id": 8873, "isConstant": false, "isLValue": false, "isPure": true, @@ -16666,21 +18835,21 @@ "memberName": "CancelRequested", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6685:36:13", + "src": "7607:36:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, - "src": "6661:60:13", + "src": "7583:60:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, - "id": 8291, + "id": 8875, "nodeType": "ExpressionStatement", - "src": "6661:60:13" + "src": "7583:60:14" }, { "eventCall": { @@ -16690,18 +18859,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8293, + "id": 8877, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "6758:3:13", + "referencedDeclaration": 11098, + "src": "7680:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8294, + "id": 8878, "isConstant": false, "isLValue": false, "isPure": false, @@ -16709,7 +18878,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6758:10:13", + "src": "7680:10:14", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -16717,12 +18886,12 @@ }, { "argumentTypes": null, - "id": 8295, + "id": 8879, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8217, - "src": "6770:16:13", + "referencedDeclaration": 8801, + "src": "7692:16:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16740,18 +18909,18 @@ "typeString": "uint32" } ], - "id": 8292, + "id": 8876, "name": "CancelTransferRequest", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7927, - "src": "6736:21:13", + "referencedDeclaration": 8448, + "src": "7658:21:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint32_$returns$__$", "typeString": "function (address,uint32)" } }, - "id": 8296, + "id": 8880, "isConstant": false, "isLValue": false, "isPure": false, @@ -16759,36 +18928,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6736:51:13", + "src": "7658:51:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8297, + "id": 8881, "nodeType": "EmitStatement", - "src": "6731:56:13" + "src": "7653:56:14" } ] }, "documentation": null, - "id": 8299, + "id": 8883, "implemented": true, "kind": "function", "modifiers": [], "name": "cancelTransferRequest", "nodeType": "FunctionDefinition", "parameters": { - "id": 8218, + "id": 8802, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8217, + "id": 8801, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 8299, - "src": "5148:23:13", + "scope": 8883, + "src": "6070:23:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16796,10 +18965,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8216, + "id": 8800, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5148:6:13", + "src": "6070:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16809,53 +18978,53 @@ "visibility": "internal" } ], - "src": "5147:25:13" + "src": "6069:25:14" }, "returnParameters": { - "id": 8219, + "id": 8803, "nodeType": "ParameterList", "parameters": [], - "src": "5188:0:13" + "src": "6110:0:14" }, - "scope": 8587, - "src": "5117:1677:13", + "scope": 9203, + "src": "6039:1677:14", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 8396, + "id": 8988, "nodeType": "Block", - "src": "6863:1500:13", + "src": "7785:1608:14", "statements": [ { "assignments": [ - 8305 + 8889 ], "declarations": [ { "constant": false, - "id": 8305, + "id": 8889, "name": "bridgeTransfer", "nodeType": "VariableDeclaration", - "scope": 8396, - "src": "6917:37:13", + "scope": 8988, + "src": "7839:37:14", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer" }, "typeName": { "contractScope": null, - "id": 8304, + "id": 8888, "name": "BridgeTransfer", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7887, - "src": "6917:14:13", + "referencedDeclaration": 8408, + "src": "7839:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer" } }, @@ -16863,31 +19032,31 @@ "visibility": "internal" } ], - "id": 8309, + "id": 8893, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8306, + "id": 8890, "name": "bridgeTransfers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7891, - "src": "6957:15:13", + "referencedDeclaration": 8412, + "src": "7879:15:14", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" } }, - "id": 8308, + "id": 8892, "indexExpression": { "argumentTypes": null, - "id": 8307, + "id": 8891, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8301, - "src": "6973:16:13", + "referencedDeclaration": 8885, + "src": "7895:16:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16898,14 +19067,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6957:33:13", + "src": "7879:33:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "6917:73:13" + "src": "7839:73:14" }, { "expression": { @@ -16914,10 +19083,10 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" }, - "id": 8315, + "id": 8899, "isConstant": false, "isLValue": false, "isPure": false, @@ -16926,28 +19095,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8311, + "id": 8895, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7160:14:13", + "referencedDeclaration": 8889, + "src": "8082:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8312, + "id": 8896, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "7160:21:13", + "referencedDeclaration": 8407, + "src": "8082:21:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, @@ -16957,18 +19126,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8313, + "id": 8897, "name": "BridgeTransferStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "7185:20:13", + "referencedDeclaration": 8395, + "src": "8107:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" } }, - "id": 8314, + "id": 8898, "isConstant": false, "isLValue": false, "isPure": true, @@ -16976,13 +19145,13 @@ "memberName": "CancelRequested", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7185:36:13", + "src": "8107:36:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, - "src": "7160:61:13", + "src": "8082:61:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16991,14 +19160,14 @@ { "argumentTypes": null, "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c526571756573746564", - "id": 8316, + "id": 8900, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7235:78:13", + "src": "8157:78:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f444e1bde40d3c2f72fb42c98b3346aa734ac3a3dbb19aee9f2e7b676e8a9020", @@ -17018,21 +19187,21 @@ "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested\"" } ], - "id": 8310, + "id": 8894, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "7152:7:13", + "referencedDeclaration": 11102, + "src": "8074:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8317, + "id": 8901, "isConstant": false, "isLValue": false, "isPure": false, @@ -17040,15 +19209,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7152:162:13", + "src": "8074:162:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8318, + "id": 8902, "nodeType": "ExpressionStatement", - "src": "7152:162:13" + "src": "8074:162:14" }, { "expression": { @@ -17060,7 +19229,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8327, + "id": 8911, "isConstant": false, "isLValue": false, "isPure": false, @@ -17074,7 +19243,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8324, + "id": 8908, "isConstant": false, "isLValue": false, "isPure": false, @@ -17083,18 +19252,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8320, + "id": 8904, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "7422:5:13", + "referencedDeclaration": 11088, + "src": "8344:5:14", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 8321, + "id": 8905, "isConstant": false, "isLValue": false, "isPure": false, @@ -17102,7 +19271,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7422:15:13", + "src": "8344:15:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17114,46 +19283,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8322, + "id": 8906, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7440:14:13", + "referencedDeclaration": 8889, + "src": "8362:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8323, + "id": 8907, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7876, - "src": "7440:24:13", + "referencedDeclaration": 8397, + "src": "8362:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7422:42:13", + "src": "8344:42:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8325, + "id": 8909, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7421:44:13", + "src": "8343:44:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17163,18 +19332,18 @@ "operator": ">", "rightExpression": { "argumentTypes": null, - "id": 8326, + "id": 8910, "name": "CANCEL_TRANSFER_TIMEOUT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "7468:23:13", + "referencedDeclaration": 8374, + "src": "8390:23:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7421:70:13", + "src": "8343:70:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17183,14 +19352,14 @@ { "argumentTypes": null, "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a203120686f75722074696d656f7574206973207265717569726564", - "id": 8328, + "id": 8912, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7493:74:13", + "src": "8415:74:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b1b63fa2c1e27f771de102063f0d1706513a3dec180f960944df36068b9bf482", @@ -17210,21 +19379,21 @@ "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): 1 hour timeout is required\"" } ], - "id": 8319, + "id": 8903, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "7413:7:13", + "referencedDeclaration": 11102, + "src": "8335:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8329, + "id": 8913, "isConstant": false, "isLValue": false, "isPure": false, @@ -17232,43 +19401,121 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7413:155:13", + "src": "8335:155:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8330, + "id": 8914, + "nodeType": "ExpressionStatement", + "src": "8335:155:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 8920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8915, + "name": "bridgeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8889, + "src": "8552:14:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" + } + }, + "id": 8917, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8407, + "src": "8552:21:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8918, + "name": "BridgeTransferStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8395, + "src": "8576:20:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", + "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" + } + }, + "id": 8919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CancelOk", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8576:29:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + } + }, + "src": "8552:53:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + } + }, + "id": 8921, "nodeType": "ExpressionStatement", - "src": "7413:155:13" + "src": "8552:53:14" }, { "assignments": [ - 8332 + 8923 ], "declarations": [ { "constant": false, - "id": 8332, + "id": 8923, "name": "erc20", "nodeType": "VariableDeclaration", - "scope": 8396, - "src": "7629:19:13", + "scope": 8988, + "src": "8666:19:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" }, "typeName": { "contractScope": null, - "id": 8331, + "id": 8922, "name": "SyscoinERC20I", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7608, - "src": "7629:13:13", + "referencedDeclaration": 8109, + "src": "8666:13:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, @@ -17276,7 +19523,7 @@ "visibility": "internal" } ], - "id": 8337, + "id": 8928, "initialValue": { "argumentTypes": null, "arguments": [ @@ -17284,26 +19531,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8334, + "id": 8925, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7665:14:13", + "referencedDeclaration": 8889, + "src": "8702:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8335, + "id": 8926, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "erc20ContractAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 7880, - "src": "7665:35:13", + "referencedDeclaration": 8401, + "src": "8702:35:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17317,18 +19564,18 @@ "typeString": "address" } ], - "id": 8333, + "id": 8924, "name": "SyscoinERC20I", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7608, - "src": "7651:13:13", + "referencedDeclaration": 8109, + "src": "8688:13:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$7608_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$8109_$", "typeString": "type(contract SyscoinERC20I)" } }, - "id": 8336, + "id": 8927, "isConstant": false, "isLValue": false, "isPure": false, @@ -17336,19 +19583,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7651:50:13", + "src": "8688:50:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, "nodeType": "VariableDeclarationStatement", - "src": "7629:72:13" + "src": "8666:72:14" }, { "expression": { "argumentTypes": null, - "id": 8350, + "id": 8941, "isConstant": false, "isLValue": false, "isPure": false, @@ -17357,42 +19604,42 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8338, + "id": 8929, "name": "assetBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "7711:13:13", + "referencedDeclaration": 8383, + "src": "8748:13:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" } }, - "id": 8341, + "id": 8932, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8339, + "id": 8930, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7725:14:13", + "referencedDeclaration": 8889, + "src": "8762:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8340, + "id": 8931, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "assetGUID", "nodeType": "MemberAccess", - "referencedDeclaration": 7884, - "src": "7725:24:13", + "referencedDeclaration": 8405, + "src": "8762:24:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -17403,7 +19650,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7711:39:13", + "src": "8748:39:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17418,26 +19665,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8347, + "id": 8938, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7797:14:13", + "referencedDeclaration": 8889, + "src": "8834:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8348, + "id": 8939, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 7878, - "src": "7797:20:13", + "referencedDeclaration": 8399, + "src": "8834:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17455,42 +19702,42 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8342, + "id": 8933, "name": "assetBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "7753:13:13", + "referencedDeclaration": 8383, + "src": "8790:13:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" } }, - "id": 8345, + "id": 8936, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8343, + "id": 8934, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7767:14:13", + "referencedDeclaration": 8889, + "src": "8804:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8344, + "id": 8935, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "assetGUID", "nodeType": "MemberAccess", - "referencedDeclaration": 7884, - "src": "7767:24:13", + "referencedDeclaration": 8405, + "src": "8804:24:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -17501,27 +19748,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7753:39:13", + "src": "8790:39:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8346, + "id": 8937, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 8792, - "src": "7753:43:13", + "referencedDeclaration": 9411, + "src": "8790:43:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8349, + "id": 8940, "isConstant": false, "isLValue": false, "isPure": false, @@ -17529,21 +19776,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7753:65:13", + "src": "8790:65:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7711:107:13", + "src": "8748:107:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8351, + "id": 8942, "nodeType": "ExpressionStatement", - "src": "7711:107:13" + "src": "8748:107:14" }, { "expression": { @@ -17553,26 +19800,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8355, + "id": 8946, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7843:14:13", + "referencedDeclaration": 8889, + "src": "8884:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8356, + "id": 8947, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "tokenFreezerAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 7882, - "src": "7843:34:13", + "referencedDeclaration": 8403, + "src": "8884:34:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17582,26 +19829,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8357, + "id": 8948, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7879:14:13", + "referencedDeclaration": 8889, + "src": "8920:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8358, + "id": 8949, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 7878, - "src": "7879:20:13", + "referencedDeclaration": 8399, + "src": "8920:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17621,32 +19868,32 @@ ], "expression": { "argumentTypes": null, - "id": 8352, + "id": 8943, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8332, - "src": "7828:5:13", + "referencedDeclaration": 8923, + "src": "8865:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, - "id": 8354, + "id": 8945, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "transfer", + "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 9422, - "src": "7828:14:13", + "referencedDeclaration": 10120, + "src": "8865:18:14", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10087_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10087_$", + "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 8359, + "id": 8950, "isConstant": false, "isLValue": false, "isPure": false, @@ -17654,28 +19901,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7828:72:13", + "src": "8865:76:14", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8360, + "id": 8951, "nodeType": "ExpressionStatement", - "src": "7828:72:13" + "src": "8865:76:14" }, { "assignments": [ - 8362 + 8953 ], "declarations": [ { "constant": false, - "id": 8362, + "id": 8953, "name": "tokenFreezeAddressPayable", "nodeType": "VariableDeclaration", - "scope": 8396, - "src": "7938:41:13", + "scope": 8988, + "src": "8979:41:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17683,10 +19930,10 @@ "typeString": "address payable" }, "typeName": { - "id": 8361, + "id": 8952, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7938:15:13", + "src": "8979:15:14", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -17697,7 +19944,7 @@ "visibility": "internal" } ], - "id": 8369, + "id": 8960, "initialValue": { "argumentTypes": null, "arguments": [ @@ -17708,26 +19955,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8365, + "id": 8956, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "7998:14:13", + "referencedDeclaration": 8889, + "src": "9039:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8366, + "id": 8957, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "tokenFreezerAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 7882, - "src": "7998:34:13", + "referencedDeclaration": 8403, + "src": "9039:34:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17741,20 +19988,20 @@ "typeString": "address" } ], - "id": 8364, + "id": 8955, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7990:7:13", + "src": "9031:7:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": "uint160" }, - "id": 8367, + "id": 8958, "isConstant": false, "isLValue": false, "isPure": false, @@ -17762,7 +20009,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7990:43:13", + "src": "9031:43:14", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -17776,20 +20023,20 @@ "typeString": "uint160" } ], - "id": 8363, + "id": 8954, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7982:7:13", + "src": "9023:7:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 8368, + "id": 8959, "isConstant": false, "isLValue": false, "isPure": false, @@ -17797,116 +20044,95 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7982:52:13", + "src": "9023:52:14", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "nodeType": "VariableDeclarationStatement", - "src": "7938:96:13" + "src": "8979:96:14" }, { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8373, - "name": "deposits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "8079:8:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", - "typeString": "mapping(uint32 => uint256)" - } - }, - "id": 8375, - "indexExpression": { - "argumentTypes": null, - "id": 8374, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8301, - "src": "8088:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8079:26:13", + "assignments": [ + 8962 + ], + "declarations": [ + { + "constant": false, + "id": 8962, + "name": "d", + "nodeType": "VariableDeclaration", + "scope": 8988, + "src": "9085:6:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8961, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9085:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8370, - "name": "tokenFreezeAddressPayable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8362, - "src": "8044:25:13", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } }, - "id": 8372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8044:34:13", + "value": null, + "visibility": "internal" + } + ], + "id": 8966, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8963, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8416, + "src": "9094:8:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", + "typeString": "mapping(uint32 => uint256)" + } + }, + "id": 8965, + "indexExpression": { + "argumentTypes": null, + "id": 8964, + "name": "bridgeTransferId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8885, + "src": "9103:16:14", "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 8376, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8044:62:13", + "nodeType": "IndexAccess", + "src": "9094:26:14", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 8377, - "nodeType": "ExpressionStatement", - "src": "8044:62:13" + "nodeType": "VariableDeclarationStatement", + "src": "9085:35:14" }, { "expression": { "argumentTypes": null, - "id": 8381, + "id": 8970, "isConstant": false, "isLValue": false, "isPure": false, @@ -17914,31 +20140,31 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "8116:33:13", + "src": "9130:33:14", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8378, + "id": 8967, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "8123:8:13", + "referencedDeclaration": 8416, + "src": "9137:8:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" } }, - "id": 8380, + "id": 8969, "indexExpression": { "argumentTypes": null, - "id": 8379, + "id": 8968, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8301, - "src": "8132:16:13", + "referencedDeclaration": 8885, + "src": "9146:16:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -17949,7 +20175,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8123:26:13", + "src": "9137:26:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17960,87 +20186,136 @@ "typeString": "tuple()" } }, - "id": 8382, + "id": 8971, "nodeType": "ExpressionStatement", - "src": "8116:33:13" + "src": "9130:33:14" }, { "expression": { "argumentTypes": null, - "id": 8388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { + "arguments": [ + { "argumentTypes": null, - "id": 8383, - "name": "bridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "8211:14:13", + "hexValue": "", + "id": 8979, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9291:2:14", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" - } - }, - "id": 8385, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "8211:21:13", - "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "arguments": [ + { + "argumentTypes": null, + "id": 8977, + "name": "d", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8962, + "src": "9288:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], "expression": { - "argumentTypes": null, - "id": 8386, - "name": "BridgeTransferStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "8235:20:13", + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8972, + "name": "tokenFreezeAddressPayable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8953, + "src": "9251:25:14", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 8975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9251:30:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 8976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9251:36:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", - "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" + "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", + "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 8387, + "id": 8978, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "CancelOk", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8235:29:13", + "names": [], + "nodeType": "FunctionCall", + "src": "9251:39:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "src": "8211:53:13", + "id": 8980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9251:43:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" } }, - "id": 8389, + "id": 8981, "nodeType": "ExpressionStatement", - "src": "8211:53:13" + "src": "9251:43:14" }, { "eventCall": { @@ -18050,26 +20325,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8391, + "id": 8983, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8305, - "src": "8303:14:13", + "referencedDeclaration": 8889, + "src": "9333:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8392, + "id": 8984, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "tokenFreezerAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 7882, - "src": "8303:34:13", + "referencedDeclaration": 8403, + "src": "9333:34:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18077,12 +20352,12 @@ }, { "argumentTypes": null, - "id": 8393, + "id": 8985, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8301, - "src": "8339:16:13", + "referencedDeclaration": 8885, + "src": "9369:16:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -18100,18 +20375,18 @@ "typeString": "uint32" } ], - "id": 8390, + "id": 8982, "name": "CancelTransferSucceeded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7933, - "src": "8279:23:13", + "referencedDeclaration": 8454, + "src": "9309:23:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint32_$returns$__$", "typeString": "function (address,uint32)" } }, - "id": 8394, + "id": 8986, "isConstant": false, "isLValue": false, "isPure": false, @@ -18119,36 +20394,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8279:77:13", + "src": "9309:77:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8395, + "id": 8987, "nodeType": "EmitStatement", - "src": "8274:82:13" + "src": "9304:82:14" } ] }, "documentation": null, - "id": 8397, + "id": 8989, "implemented": true, "kind": "function", "modifiers": [], "name": "cancelTransferSuccess", "nodeType": "FunctionDefinition", "parameters": { - "id": 8302, + "id": 8886, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8301, + "id": 8885, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 8397, - "src": "6831:23:13", + "scope": 8989, + "src": "7753:23:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18156,10 +20431,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8300, + "id": 8884, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "6831:6:13", + "src": "7753:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -18169,53 +20444,53 @@ "visibility": "internal" } ], - "src": "6830:25:13" + "src": "7752:25:14" }, "returnParameters": { - "id": 8303, + "id": 8887, "nodeType": "ParameterList", "parameters": [], - "src": "6863:0:13" + "src": "7785:0:14" }, - "scope": 8587, - "src": "6800:1563:13", + "scope": 9203, + "src": "7722:1671:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 8447, + "id": 9047, "nodeType": "Block", - "src": "8510:734:13", + "src": "9540:838:14", "statements": [ { "assignments": [ - 8407 + 8999 ], "declarations": [ { "constant": false, - "id": 8407, + "id": 8999, "name": "bridgeTransfer", "nodeType": "VariableDeclaration", - "scope": 8447, - "src": "8564:37:13", + "scope": 9047, + "src": "9594:37:14", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer" }, "typeName": { "contractScope": null, - "id": 8406, + "id": 8998, "name": "BridgeTransfer", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7887, - "src": "8564:14:13", + "referencedDeclaration": 8408, + "src": "9594:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer" } }, @@ -18223,31 +20498,31 @@ "visibility": "internal" } ], - "id": 8411, + "id": 9003, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8408, + "id": 9000, "name": "bridgeTransfers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7891, - "src": "8604:15:13", + "referencedDeclaration": 8412, + "src": "9634:15:14", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" } }, - "id": 8410, + "id": 9002, "indexExpression": { "argumentTypes": null, - "id": 8409, + "id": 9001, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "8620:16:13", + "referencedDeclaration": 8991, + "src": "9650:16:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -18258,14 +20533,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8604:33:13", + "src": "9634:33:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "8564:73:13" + "src": "9594:73:14" }, { "expression": { @@ -18274,10 +20549,10 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" }, - "id": 8417, + "id": 9009, "isConstant": false, "isLValue": false, "isPure": false, @@ -18286,28 +20561,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8413, + "id": 9005, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8407, - "src": "8698:14:13", + "referencedDeclaration": 8999, + "src": "9728:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8414, + "id": 9006, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "8698:21:13", + "referencedDeclaration": 8407, + "src": "9728:21:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, @@ -18317,18 +20592,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8415, + "id": 9007, "name": "BridgeTransferStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "8723:20:13", + "referencedDeclaration": 8395, + "src": "9753:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" } }, - "id": 8416, + "id": 9008, "isConstant": false, "isLValue": false, "isPure": true, @@ -18336,13 +20611,13 @@ "memberName": "CancelRequested", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8723:36:13", + "src": "9753:36:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, - "src": "8698:61:13", + "src": "9728:61:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18351,14 +20626,14 @@ { "argumentTypes": null, "hexValue": "23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c52657175657374656420746f204661696c20746865207472616e73666572", - "id": 8418, + "id": 9010, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8773:99:13", + "src": "9803:99:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_26d3cb8ece308e29ce5729466635b0cb05be11479477abc640daadf8cdca6ba4", @@ -18378,21 +20653,21 @@ "typeString": "literal_string \"#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested to Fail the transfer\"" } ], - "id": 8412, + "id": 9004, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "8690:7:13", + "referencedDeclaration": 11102, + "src": "9720:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8419, + "id": 9011, "isConstant": false, "isLValue": false, "isPure": false, @@ -18400,117 +20675,174 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8690:183:13", + "src": "9720:183:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8420, + "id": 9012, "nodeType": "ExpressionStatement", - "src": "8690:183:13" + "src": "9720:183:14" }, { "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 9018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8424, - "name": "deposits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "8947:8:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", - "typeString": "mapping(uint32 => uint256)" - } - }, - "id": 8426, - "indexExpression": { - "argumentTypes": null, - "id": 8425, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "8956:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8947:26:13", + "id": 9013, + "name": "bridgeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8999, + "src": "9973:14:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", + "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } + }, + "id": 9015, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8407, + "src": "9973:21:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8421, - "name": "challengerAddress", + "id": 9016, + "name": "BridgeTransferStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8401, - "src": "8920:17:13", + "referencedDeclaration": 8395, + "src": "9997:20:14", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", + "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" } }, - "id": 8423, + "id": 9017, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "memberName": "transfer", + "memberName": "CancelChallenged", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8920:26:13", + "src": "9997:37:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + } + }, + "src": "9973:61:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", + "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + } + }, + "id": 9019, + "nodeType": "ExpressionStatement", + "src": "9973:61:14" + }, + { + "assignments": [ + 9021 + ], + "declarations": [ + { + "constant": false, + "id": 9021, + "name": "d", + "nodeType": "VariableDeclaration", + "scope": 9047, + "src": "10081:6:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9020, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10081:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9025, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9022, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8416, + "src": "10090:8:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", + "typeString": "mapping(uint32 => uint256)" + } + }, + "id": 9024, + "indexExpression": { + "argumentTypes": null, + "id": 9023, + "name": "bridgeTransferId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8991, + "src": "10099:16:14", "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 8427, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8920:54:13", + "nodeType": "IndexAccess", + "src": "10090:26:14", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 8428, - "nodeType": "ExpressionStatement", - "src": "8920:54:13" + "nodeType": "VariableDeclarationStatement", + "src": "10081:35:14" }, { "expression": { "argumentTypes": null, - "id": 8432, + "id": 9029, "isConstant": false, "isLValue": false, "isPure": false, @@ -18518,133 +20850,182 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "8984:33:13", + "src": "10126:33:14", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8429, + "id": 9026, "name": "deposits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "8991:8:13", + "referencedDeclaration": 8416, + "src": "10133:8:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" } }, - "id": 8431, + "id": 9028, "indexExpression": { "argumentTypes": null, - "id": 8430, + "id": 9027, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "9000:16:13", + "referencedDeclaration": 8991, + "src": "10142:16:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10133:26:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9030, + "nodeType": "ExpressionStatement", + "src": "10126:33:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "", + "id": 9038, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10279:2:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "arguments": [ + { + "argumentTypes": null, + "id": 9036, + "name": "d", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9021, + "src": "10276:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9031, + "name": "challengerAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8993, + "src": "10247:17:14", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 9034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10247:22:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 9035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10247:28:14", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", + "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, + "id": 9037, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8991:26:13", + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10247:31:14", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8433, - "nodeType": "ExpressionStatement", - "src": "8984:33:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 8439, + "id": 9039, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8434, - "name": "bridgeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8407, - "src": "9087:14:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", - "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" - } - }, - "id": 8436, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "9087:21:13", - "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8437, - "name": "BridgeTransferStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "9111:20:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", - "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" - } - }, - "id": 8438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CancelChallenged", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9111:37:13", - "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" - } - }, - "src": "9087:61:13", + "names": [], + "nodeType": "FunctionCall", + "src": "10247:35:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", - "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" } }, - "id": 8440, + "id": 9040, "nodeType": "ExpressionStatement", - "src": "9087:61:13" + "src": "10247:35:14" }, { "eventCall": { @@ -18654,26 +21035,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8442, + "id": 9042, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8407, - "src": "9184:14:13", + "referencedDeclaration": 8999, + "src": "10318:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8443, + "id": 9043, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "tokenFreezerAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 7882, - "src": "9184:34:13", + "referencedDeclaration": 8403, + "src": "10318:34:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18681,12 +21062,12 @@ }, { "argumentTypes": null, - "id": 8444, + "id": 9044, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8399, - "src": "9220:16:13", + "referencedDeclaration": 8991, + "src": "10354:16:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -18704,18 +21085,18 @@ "typeString": "uint32" } ], - "id": 8441, + "id": 9041, "name": "CancelTransferFailed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7939, - "src": "9163:20:13", + "referencedDeclaration": 8460, + "src": "10297:20:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint32_$returns$__$", "typeString": "function (address,uint32)" } }, - "id": 8445, + "id": 9045, "isConstant": false, "isLValue": false, "isPure": false, @@ -18723,56 +21104,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9163:74:13", + "src": "10297:74:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8446, + "id": 9046, "nodeType": "EmitStatement", - "src": "9158:79:13" + "src": "10292:79:14" } ] }, "documentation": null, - "id": 8448, + "id": 9048, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 8404, + "id": 8996, "modifierName": { "argumentTypes": null, - "id": 8403, + "id": 8995, "name": "onlyTrustedRelayer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8007, - "src": "8487:18:13", + "referencedDeclaration": 8546, + "src": "9517:18:14", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "8487:18:13" + "src": "9517:18:14" } ], "name": "processCancelTransferFail", "nodeType": "FunctionDefinition", "parameters": { - "id": 8402, + "id": 8994, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8399, + "id": 8991, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 8448, - "src": "8404:23:13", + "scope": 9048, + "src": "9434:23:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18780,10 +21161,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8398, + "id": 8990, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "8404:6:13", + "src": "9434:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -18794,11 +21175,11 @@ }, { "constant": false, - "id": 8401, + "id": 8993, "name": "challengerAddress", "nodeType": "VariableDeclaration", - "scope": 8448, - "src": "8429:33:13", + "scope": 9048, + "src": "9459:33:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18806,10 +21187,10 @@ "typeString": "address payable" }, "typeName": { - "id": 8400, + "id": 8992, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8429:15:13", + "src": "9459:15:14", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -18820,25 +21201,25 @@ "visibility": "internal" } ], - "src": "8403:60:13" + "src": "9433:60:14" }, "returnParameters": { - "id": 8405, + "id": 8997, "nodeType": "ParameterList", "parameters": [], - "src": "8510:0:13" + "src": "9540:0:14" }, - "scope": 8587, - "src": "8369:875:13", + "scope": 9203, + "src": "9399:979:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 8547, + "id": 9163, "nodeType": "Block", - "src": "9574:1119:13", + "src": "10708:1327:14", "statements": [ { "expression": { @@ -18850,7 +21231,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8471, + "id": 9071, "isConstant": false, "isLValue": false, "isPure": false, @@ -18859,18 +21240,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8468, + "id": 9068, "name": "syscoinAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8458, - "src": "9592:14:13", + "referencedDeclaration": 9058, + "src": "10726:14:14", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 8469, + "id": 9069, "isConstant": false, "isLValue": false, "isPure": false, @@ -18878,7 +21259,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9592:21:13", + "src": "10726:21:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18889,14 +21270,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8470, + "id": 9070, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9616:1:13", + "src": "10750:1:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18904,7 +21285,7 @@ }, "value": "0" }, - "src": "9592:25:13", + "src": "10726:25:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18913,14 +21294,14 @@ { "argumentTypes": null, "hexValue": "737973636f696e416464726573732063616e6e6f74206265207a65726f", - "id": 8472, + "id": 9072, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9619:31:13", + "src": "10753:31:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0b67a3f9ef585ea953b1562bd4de087af045e9e10c087c7d74396dc32c41243e", @@ -18940,21 +21321,21 @@ "typeString": "literal_string \"syscoinAddress cannot be zero\"" } ], - "id": 8467, + "id": 9067, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "9584:7:13", + "referencedDeclaration": 11102, + "src": "10718:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8473, + "id": 9073, "isConstant": false, "isLValue": false, "isPure": false, @@ -18962,15 +21343,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9584:67:13", + "src": "10718:67:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8474, + "id": 9074, "nodeType": "ExpressionStatement", - "src": "9584:67:13" + "src": "10718:67:14" }, { "expression": { @@ -18982,19 +21363,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 8478, + "id": 9078, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8476, + "id": 9076, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8452, - "src": "9669:9:13", + "referencedDeclaration": 9052, + "src": "10803:9:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19005,14 +21386,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8477, + "id": 9077, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9681:1:13", + "src": "10815:1:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -19020,7 +21401,7 @@ }, "value": "0" }, - "src": "9669:13:13", + "src": "10803:13:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19029,14 +21410,14 @@ { "argumentTypes": null, "hexValue": "41737365742047554944206d757374206e6f742062652030", - "id": 8479, + "id": 9079, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9684:26:13", + "src": "10818:26:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_30eeed46334432d1d1159231617e71ae2a0761ac46a6fc717142d08aba6c306f", @@ -19056,21 +21437,21 @@ "typeString": "literal_string \"Asset GUID must not be 0\"" } ], - "id": 8475, + "id": 9075, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "9661:7:13", + "referencedDeclaration": 11102, + "src": "10795:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8480, + "id": 9080, "isConstant": false, "isLValue": false, "isPure": false, @@ -19078,43 +21459,271 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9661:50:13", + "src": "10795:50:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8481, + "id": 9081, "nodeType": "ExpressionStatement", - "src": "9661:50:13" + "src": "10795:50:14" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Network_$8420", + "typeString": "enum SyscoinERC20Manager.Network" + }, + "id": 9085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9082, + "name": "net", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8422, + "src": "10859:3:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Network_$8420", + "typeString": "enum SyscoinERC20Manager.Network" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9083, + "name": "Network", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8420, + "src": "10866:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Network_$8420_$", + "typeString": "type(enum SyscoinERC20Manager.Network)" + } + }, + "id": 9084, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REGTEST", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10866:15:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Network_$8420", + "typeString": "enum SyscoinERC20Manager.Network" + } + }, + "src": "10859:22:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 9097, + "nodeType": "IfStatement", + "src": "10855:204:14", + "trueBody": { + "id": 9096, + "nodeType": "Block", + "src": "10883:176:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9087, + "name": "assetRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8469, + "src": "10905:13:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_AssetRegistryItem_$8465_storage_$", + "typeString": "mapping(uint32 => struct SyscoinERC20Manager.AssetRegistryItem storage ref)" + } + }, + "id": 9089, + "indexExpression": { + "argumentTypes": null, + "id": 9088, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9052, + "src": "10919:9:14", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10905:24:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetRegistryItem_$8465_storage", + "typeString": "struct SyscoinERC20Manager.AssetRegistryItem storage ref" + } + }, + "id": 9090, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "erc20ContractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "10905:45:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 9091, + "name": "erc20ContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9054, + "src": "10954:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10905:69:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "417373657420726567697374727920636f6e747261637420646f6573206e6f74206d617463682077686174207761732070726f766964656420746f20746869732063616c6c", + "id": 9093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10976:71:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a27c2d539f8e168bc3f8085f0c87621ba225f0512629550efe66eae5af088a23", + "typeString": "literal_string \"Asset registry contract does not match what was provided to this call\"" + }, + "value": "Asset registry contract does not match what was provided to this call" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a27c2d539f8e168bc3f8085f0c87621ba225f0512629550efe66eae5af088a23", + "typeString": "literal_string \"Asset registry contract does not match what was provided to this call\"" + } + ], + "id": 9086, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "10897:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10897:151:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9095, + "nodeType": "ExpressionStatement", + "src": "10897:151:14" + } + ] + } }, { "assignments": [ - 8483 + 9099 ], "declarations": [ { "constant": false, - "id": 8483, + "id": 9099, "name": "erc20", "nodeType": "VariableDeclaration", - "scope": 8547, - "src": "9731:19:13", + "scope": 9163, + "src": "11069:19:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" }, "typeName": { "contractScope": null, - "id": 8482, + "id": 9098, "name": "SyscoinERC20I", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7608, - "src": "9731:13:13", + "referencedDeclaration": 8109, + "src": "11069:13:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, @@ -19122,18 +21731,18 @@ "visibility": "internal" } ], - "id": 8487, + "id": 9103, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8485, + "id": 9101, "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8454, - "src": "9767:20:13", + "referencedDeclaration": 9054, + "src": "11105:20:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19147,18 +21756,18 @@ "typeString": "address" } ], - "id": 8484, + "id": 9100, "name": "SyscoinERC20I", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7608, - "src": "9753:13:13", + "referencedDeclaration": 8109, + "src": "11091:13:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$7608_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$8109_$", "typeString": "type(contract SyscoinERC20I)" } }, - "id": 8486, + "id": 9102, "isConstant": false, "isLValue": false, "isPure": false, @@ -19166,14 +21775,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9753:35:13", + "src": "11091:35:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, "nodeType": "VariableDeclarationStatement", - "src": "9731:57:13" + "src": "11069:57:14" }, { "expression": { @@ -19185,19 +21794,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 8493, + "id": 9109, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8489, + "id": 9105, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8456, - "src": "9806:9:13", + "referencedDeclaration": 9056, + "src": "11144:9:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19212,32 +21821,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 8490, + "id": 9106, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8483, - "src": "9819:5:13", + "referencedDeclaration": 9099, + "src": "11157:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, - "id": 8491, + "id": 9107, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 7607, - "src": "9819:14:13", + "referencedDeclaration": 8108, + "src": "11157:14:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" } }, - "id": 8492, + "id": 9108, "isConstant": false, "isLValue": false, "isPure": false, @@ -19245,13 +21854,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9819:16:13", + "src": "11157:16:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "9806:29:13", + "src": "11144:29:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19260,14 +21869,14 @@ { "argumentTypes": null, "hexValue": "446563696d616c732077657265206e6f742070726f766964656420776974682074686520636f72726563742076616c7565", - "id": 8494, + "id": 9110, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9837:51:13", + "src": "11175:51:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_07c3c35b3e4eeb831a6214ae55b4b048c49535a47a1ebfcb2528c95a96e7290e", @@ -19287,21 +21896,21 @@ "typeString": "literal_string \"Decimals were not provided with the correct value\"" } ], - "id": 8488, + "id": 9104, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "9798:7:13", + "referencedDeclaration": 11102, + "src": "11136:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8495, + "id": 9111, "isConstant": false, "isLValue": false, "isPure": false, @@ -19309,15 +21918,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9798:91:13", + "src": "11136:91:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8496, + "id": 9112, "nodeType": "ExpressionStatement", - "src": "9798:91:13" + "src": "11136:91:14" }, { "expression": { @@ -19327,18 +21936,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8500, + "id": 9116, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "9918:3:13", + "referencedDeclaration": 11098, + "src": "11260:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8501, + "id": 9117, "isConstant": false, "isLValue": false, "isPure": false, @@ -19346,7 +21955,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9918:10:13", + "src": "11260:10:14", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -19357,14 +21966,14 @@ "arguments": [ { "argumentTypes": null, - "id": 8503, + "id": 9119, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10238, - "src": "9938:4:13", + "referencedDeclaration": 11158, + "src": "11280:4:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20Manager_$8587", + "typeIdentifier": "t_contract$_SyscoinERC20Manager_$9203", "typeString": "contract SyscoinERC20Manager" } } @@ -19372,24 +21981,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinERC20Manager_$8587", + "typeIdentifier": "t_contract$_SyscoinERC20Manager_$9203", "typeString": "contract SyscoinERC20Manager" } ], - "id": 8502, + "id": 9118, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9930:7:13", + "src": "11272:7:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 8504, + "id": 9120, "isConstant": false, "isLValue": false, "isPure": false, @@ -19397,7 +22006,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9930:13:13", + "src": "11272:13:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19405,12 +22014,12 @@ }, { "argumentTypes": null, - "id": 8505, + "id": 9121, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8450, - "src": "9945:5:13", + "referencedDeclaration": 9050, + "src": "11287:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19434,32 +22043,32 @@ ], "expression": { "argumentTypes": null, - "id": 8497, + "id": 9113, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8483, - "src": "9899:5:13", + "referencedDeclaration": 9099, + "src": "11237:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, - "id": 8499, + "id": 9115, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "transferFrom", + "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 9451, - "src": "9899:18:13", + "referencedDeclaration": 10145, + "src": "11237:22:14", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10087_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10087_$", + "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 8506, + "id": 9122, "isConstant": false, "isLValue": false, "isPure": false, @@ -19467,20 +22076,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9899:52:13", + "src": "11237:56:14", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8507, + "id": 9123, "nodeType": "ExpressionStatement", - "src": "9899:52:13" + "src": "11237:56:14" }, { "expression": { "argumentTypes": null, - "id": 8517, + "id": 9133, "isConstant": false, "isLValue": false, "isPure": false, @@ -19489,26 +22098,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8508, + "id": 9124, "name": "assetBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "9961:13:13", + "referencedDeclaration": 8383, + "src": "11303:13:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" } }, - "id": 8510, + "id": 9126, "indexExpression": { "argumentTypes": null, - "id": 8509, + "id": 9125, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8452, - "src": "9975:9:13", + "referencedDeclaration": 9052, + "src": "11317:9:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19519,7 +22128,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9961:24:13", + "src": "11303:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19532,12 +22141,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8515, + "id": 9131, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8450, - "src": "10017:5:13", + "referencedDeclaration": 9050, + "src": "11359:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19555,26 +22164,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8511, + "id": 9127, "name": "assetBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "9988:13:13", + "referencedDeclaration": 8383, + "src": "11330:13:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" } }, - "id": 8513, + "id": 9129, "indexExpression": { "argumentTypes": null, - "id": 8512, + "id": 9128, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8452, - "src": "10002:9:13", + "referencedDeclaration": 9052, + "src": "11344:9:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19585,27 +22194,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9988:24:13", + "src": "11330:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8514, + "id": 9130, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "9988:28:13", + "referencedDeclaration": 9395, + "src": "11330:28:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8516, + "id": 9132, "isConstant": false, "isLValue": false, "isPure": false, @@ -19613,26 +22222,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9988:35:13", + "src": "11330:35:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9961:62:13", + "src": "11303:62:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8518, + "id": 9134, "nodeType": "ExpressionStatement", - "src": "9961:62:13" + "src": "11303:62:14" }, { "expression": { "argumentTypes": null, - "id": 8520, + "id": 9136, "isConstant": false, "isLValue": false, "isPure": false, @@ -19640,15 +22249,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "10251:23:13", + "src": "11593:23:14", "subExpression": { "argumentTypes": null, - "id": 8519, + "id": 9135, "name": "bridgeTransferIdCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7868, - "src": "10251:21:13", + "referencedDeclaration": 8389, + "src": "11593:21:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19659,14 +22268,14 @@ "typeString": "uint32" } }, - "id": 8521, + "id": 9137, "nodeType": "ExpressionStatement", - "src": "10251:23:13" + "src": "11593:23:14" }, { "expression": { "argumentTypes": null, - "id": 8536, + "id": 9152, "isConstant": false, "isLValue": false, "isPure": false, @@ -19675,26 +22284,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8522, + "id": 9138, "name": "bridgeTransfers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7891, - "src": "10284:15:13", + "referencedDeclaration": 8412, + "src": "11626:15:14", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" } }, - "id": 8524, + "id": 9140, "indexExpression": { "argumentTypes": null, - "id": 8523, + "id": 9139, "name": "bridgeTransferIdCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7868, - "src": "10300:21:13", + "referencedDeclaration": 8389, + "src": "11642:21:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19705,9 +22314,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "10284:38:13", + "src": "11626:38:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" } }, @@ -19720,18 +22329,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8526, + "id": 9142, "name": "BridgeTransferStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7874, - "src": "10362:20:13", + "referencedDeclaration": 8395, + "src": "11704:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$7874_$", + "typeIdentifier": "t_type$_t_enum$_BridgeTransferStatus_$8395_$", "typeString": "type(enum SyscoinERC20Manager.BridgeTransferStatus)" } }, - "id": 8527, + "id": 9143, "isConstant": false, "isLValue": false, "isPure": true, @@ -19739,20 +22348,20 @@ "memberName": "Ok", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10362:23:13", + "src": "11704:23:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, { "argumentTypes": null, - "id": 8528, + "id": 9144, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8450, - "src": "10406:5:13", + "referencedDeclaration": 9050, + "src": "11748:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19760,12 +22369,12 @@ }, { "argumentTypes": null, - "id": 8529, + "id": 9145, "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8454, - "src": "10447:20:13", + "referencedDeclaration": 9054, + "src": "11789:20:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19773,12 +22382,12 @@ }, { "argumentTypes": null, - "id": 8530, + "id": 9146, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8452, - "src": "10492:9:13", + "referencedDeclaration": 9052, + "src": "11834:9:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19788,18 +22397,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8531, + "id": 9147, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10174, - "src": "10526:5:13", + "referencedDeclaration": 11088, + "src": "11868:5:14", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 8532, + "id": 9148, "isConstant": false, "isLValue": false, "isPure": false, @@ -19807,7 +22416,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10526:15:13", + "src": "11868:15:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19817,18 +22426,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8533, + "id": 9149, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "10576:3:13", + "referencedDeclaration": 11098, + "src": "11918:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8534, + "id": 9150, "isConstant": false, "isLValue": false, "isPure": false, @@ -19836,7 +22445,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10576:10:13", + "src": "11918:10:14", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -19846,7 +22455,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" }, { @@ -19870,18 +22479,18 @@ "typeString": "address payable" } ], - "id": 8525, + "id": 9141, "name": "BridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7887, - "src": "10325:14:13", + "referencedDeclaration": 8408, + "src": "11667:14:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_BridgeTransfer_$7887_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_BridgeTransfer_$8408_storage_ptr_$", "typeString": "type(struct SyscoinERC20Manager.BridgeTransfer storage pointer)" } }, - "id": 8535, + "id": 9151, "isConstant": false, "isLValue": false, "isPure": false, @@ -19896,21 +22505,21 @@ "tokenFreezerAddress" ], "nodeType": "FunctionCall", - "src": "10325:272:13", + "src": "11667:272:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_memory", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_memory", "typeString": "struct SyscoinERC20Manager.BridgeTransfer memory" } }, - "src": "10284:313:13", + "src": "11626:313:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" } }, - "id": 8537, + "id": 9153, "nodeType": "ExpressionStatement", - "src": "10284:313:13" + "src": "11626:313:14" }, { "eventCall": { @@ -19920,18 +22529,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8539, + "id": 9155, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "10624:3:13", + "referencedDeclaration": 11098, + "src": "11966:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8540, + "id": 9156, "isConstant": false, "isLValue": false, "isPure": false, @@ -19939,7 +22548,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10624:10:13", + "src": "11966:10:14", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -19947,12 +22556,12 @@ }, { "argumentTypes": null, - "id": 8541, + "id": 9157, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8450, - "src": "10636:5:13", + "referencedDeclaration": 9050, + "src": "11978:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19960,12 +22569,12 @@ }, { "argumentTypes": null, - "id": 8542, + "id": 9158, "name": "bridgeTransferIdCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7868, - "src": "10643:21:13", + "referencedDeclaration": 8389, + "src": "11985:21:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19987,18 +22596,18 @@ "typeString": "uint32" } ], - "id": 8538, + "id": 9154, "name": "TokenFreeze", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7921, - "src": "10612:11:13", + "referencedDeclaration": 8442, + "src": "11954:11:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint32_$returns$__$", "typeString": "function (address,uint256,uint32)" } }, - "id": 8543, + "id": 9159, "isConstant": false, "isLValue": false, "isPure": false, @@ -20006,28 +22615,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10612:53:13", + "src": "11954:53:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8544, + "id": 9160, "nodeType": "EmitStatement", - "src": "10607:58:13" + "src": "11949:58:14" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 8545, + "id": 9161, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "10682:4:13", + "src": "12024:4:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -20035,15 +22644,15 @@ }, "value": "true" }, - "functionReturnParameters": 8466, - "id": 8546, + "functionReturnParameters": 9066, + "id": 9162, "nodeType": "Return", - "src": "10675:11:13" + "src": "12017:11:14" } ] }, "documentation": null, - "id": 8548, + "id": 9164, "implemented": true, "kind": "function", "modifiers": [ @@ -20051,12 +22660,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8461, + "id": 9061, "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8454, - "src": "9518:20:13", + "referencedDeclaration": 9054, + "src": "10652:20:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20064,49 +22673,49 @@ }, { "argumentTypes": null, - "id": 8462, + "id": 9062, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8450, - "src": "9540:5:13", + "referencedDeclaration": 9050, + "src": "10674:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8463, + "id": 9063, "modifierName": { "argumentTypes": null, - "id": 8460, + "id": 9060, "name": "minimumValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8038, - "src": "9505:12:13", + "referencedDeclaration": 8577, + "src": "10639:12:14", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$_t_uint256_$", "typeString": "modifier (address,uint256)" } }, "nodeType": "ModifierInvocation", - "src": "9505:41:13" + "src": "10639:41:14" } ], "name": "freezeBurnERC20", "nodeType": "FunctionDefinition", "parameters": { - "id": 8459, + "id": 9059, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8450, + "id": 9050, "name": "value", "nodeType": "VariableDeclaration", - "scope": 8548, - "src": "9339:10:13", + "scope": 9164, + "src": "10473:10:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20114,10 +22723,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8449, + "id": 9049, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "9339:4:13", + "src": "10473:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20128,11 +22737,11 @@ }, { "constant": false, - "id": 8452, + "id": 9052, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 8548, - "src": "9359:16:13", + "scope": 9164, + "src": "10493:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20140,10 +22749,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8451, + "id": 9051, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "9359:6:13", + "src": "10493:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20154,11 +22763,11 @@ }, { "constant": false, - "id": 8454, + "id": 9054, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 8548, - "src": "9385:28:13", + "scope": 9164, + "src": "10519:28:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20166,10 +22775,10 @@ "typeString": "address" }, "typeName": { - "id": 8453, + "id": 9053, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9385:7:13", + "src": "10519:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20181,11 +22790,11 @@ }, { "constant": false, - "id": 8456, + "id": 9056, "name": "precision", "nodeType": "VariableDeclaration", - "scope": 8548, - "src": "9423:15:13", + "scope": 9164, + "src": "10557:15:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20193,10 +22802,10 @@ "typeString": "uint8" }, "typeName": { - "id": 8455, + "id": 9055, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "9423:5:13", + "src": "10557:5:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20207,11 +22816,11 @@ }, { "constant": false, - "id": 8458, + "id": 9058, "name": "syscoinAddress", "nodeType": "VariableDeclaration", - "scope": 8548, - "src": "9448:27:13", + "scope": 9164, + "src": "10582:27:14", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -20219,10 +22828,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8457, + "id": 9057, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9448:5:13", + "src": "10582:5:14", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -20232,19 +22841,19 @@ "visibility": "internal" } ], - "src": "9329:152:13" + "src": "10463:152:14" }, "returnParameters": { - "id": 8466, + "id": 9066, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8465, + "id": 9065, "name": "", "nodeType": "VariableDeclaration", - "scope": 8548, - "src": "9564:4:13", + "scope": 9164, + "src": "10698:4:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20252,10 +22861,10 @@ "typeString": "bool" }, "typeName": { - "id": 8464, + "id": 9064, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "9564:4:13", + "src": "10698:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20265,47 +22874,47 @@ "visibility": "internal" } ], - "src": "9563:6:13" + "src": "10697:6:14" }, - "scope": 8587, - "src": "9305:1388:13", + "scope": 9203, + "src": "10439:1596:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 8585, + "id": 9201, "nodeType": "Block", - "src": "11058:359:13", + "src": "12400:359:14", "statements": [ { "assignments": [ - 8566 + 9182 ], "declarations": [ { "constant": false, - "id": 8566, + "id": 9182, "name": "bridgeTransfer", "nodeType": "VariableDeclaration", - "scope": 8585, - "src": "11068:37:13", + "scope": 9201, + "src": "12410:37:14", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer" }, "typeName": { "contractScope": null, - "id": 8565, + "id": 9181, "name": "BridgeTransfer", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7887, - "src": "11068:14:13", + "referencedDeclaration": 8408, + "src": "12410:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer" } }, @@ -20313,31 +22922,31 @@ "visibility": "internal" } ], - "id": 8570, + "id": 9186, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8567, + "id": 9183, "name": "bridgeTransfers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7891, - "src": "11108:15:13", + "referencedDeclaration": 8412, + "src": "12450:15:14", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$7887_storage_$", + "typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_BridgeTransfer_$8408_storage_$", "typeString": "mapping(uint32 => struct SyscoinERC20Manager.BridgeTransfer storage ref)" } }, - "id": 8569, + "id": 9185, "indexExpression": { "argumentTypes": null, - "id": 8568, + "id": 9184, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8550, - "src": "11124:16:13", + "referencedDeclaration": 9166, + "src": "12466:16:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20348,14 +22957,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11108:33:13", + "src": "12450:33:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "11068:73:13" + "src": "12410:73:14" }, { "expression": { @@ -20365,26 +22974,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8571, + "id": 9187, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, - "src": "11172:14:13", + "referencedDeclaration": 9182, + "src": "12514:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8572, + "id": 9188, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7876, - "src": "11172:24:13", + "referencedDeclaration": 8397, + "src": "12514:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20394,26 +23003,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8573, + "id": 9189, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, - "src": "11210:14:13", + "referencedDeclaration": 9182, + "src": "12552:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8574, + "id": 9190, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 7878, - "src": "11210:20:13", + "referencedDeclaration": 8399, + "src": "12552:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20423,26 +23032,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8575, + "id": 9191, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, - "src": "11244:14:13", + "referencedDeclaration": 9182, + "src": "12586:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8576, + "id": 9192, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "erc20ContractAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 7880, - "src": "11244:35:13", + "referencedDeclaration": 8401, + "src": "12586:35:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20452,26 +23061,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8577, + "id": 9193, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, - "src": "11293:14:13", + "referencedDeclaration": 9182, + "src": "12635:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8578, + "id": 9194, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "tokenFreezerAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 7882, - "src": "11293:34:13", + "referencedDeclaration": 8403, + "src": "12635:34:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20481,26 +23090,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8579, + "id": 9195, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, - "src": "11341:14:13", + "referencedDeclaration": 9182, + "src": "12683:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8580, + "id": 9196, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "assetGUID", "nodeType": "MemberAccess", - "referencedDeclaration": 7884, - "src": "11341:24:13", + "referencedDeclaration": 8405, + "src": "12683:24:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20510,70 +23119,70 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8581, + "id": 9197, "name": "bridgeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, - "src": "11379:14:13", + "referencedDeclaration": 9182, + "src": "12721:14:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_BridgeTransfer_$7887_storage_ptr", + "typeIdentifier": "t_struct$_BridgeTransfer_$8408_storage_ptr", "typeString": "struct SyscoinERC20Manager.BridgeTransfer storage pointer" } }, - "id": 8582, + "id": 9198, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7886, - "src": "11379:21:13", + "referencedDeclaration": 8407, + "src": "12721:21:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } } ], - "id": 8583, + "id": 9199, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "11158:252:13", + "src": "12500:252:14", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_uint32_$_t_enum$_BridgeTransferStatus_$7874_$", + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_uint32_$_t_enum$_BridgeTransferStatus_$8395_$", "typeString": "tuple(uint256,uint256,address,address,uint32,enum SyscoinERC20Manager.BridgeTransferStatus)" } }, - "functionReturnParameters": 8564, - "id": 8584, + "functionReturnParameters": 9180, + "id": 9200, "nodeType": "Return", - "src": "11151:259:13" + "src": "12493:259:14" } ] }, "documentation": null, - "id": 8586, + "id": 9202, "implemented": true, "kind": "function", "modifiers": [], "name": "getBridgeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 8551, + "id": 9167, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8550, + "id": 9166, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "10816:23:13", + "scope": 9202, + "src": "12158:23:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20581,10 +23190,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8549, + "id": 9165, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "10816:6:13", + "src": "12158:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20594,19 +23203,19 @@ "visibility": "internal" } ], - "src": "10815:25:13" + "src": "12157:25:14" }, "returnParameters": { - "id": 8564, + "id": 9180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8553, + "id": 9169, "name": "_timestamp", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "10873:15:13", + "scope": 9202, + "src": "12215:15:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20614,10 +23223,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8552, + "id": 9168, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "10873:4:13", + "src": "12215:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20628,11 +23237,11 @@ }, { "constant": false, - "id": 8555, + "id": 9171, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "10898:11:13", + "scope": 9202, + "src": "12240:11:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20640,10 +23249,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8554, + "id": 9170, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "10898:4:13", + "src": "12240:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20654,11 +23263,11 @@ }, { "constant": false, - "id": 8557, + "id": 9173, "name": "_erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "10919:29:13", + "scope": 9202, + "src": "12261:29:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20666,10 +23275,10 @@ "typeString": "address" }, "typeName": { - "id": 8556, + "id": 9172, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10919:7:13", + "src": "12261:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20681,11 +23290,11 @@ }, { "constant": false, - "id": 8559, + "id": 9175, "name": "_tokenFreezerAddress", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "10958:28:13", + "scope": 9202, + "src": "12300:28:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20693,10 +23302,10 @@ "typeString": "address" }, "typeName": { - "id": 8558, + "id": 9174, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10958:7:13", + "src": "12300:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20708,11 +23317,11 @@ }, { "constant": false, - "id": 8561, + "id": 9177, "name": "_assetGUID", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "10996:17:13", + "scope": 9202, + "src": "12338:17:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20720,10 +23329,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8560, + "id": 9176, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "10996:6:13", + "src": "12338:6:14", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20734,26 +23343,26 @@ }, { "constant": false, - "id": 8563, + "id": 9179, "name": "_status", "nodeType": "VariableDeclaration", - "scope": 8586, - "src": "11023:28:13", + "scope": 9202, + "src": "12365:28:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" }, "typeName": { "contractScope": null, - "id": 8562, + "id": 9178, "name": "BridgeTransferStatus", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7874, - "src": "11023:20:13", + "referencedDeclaration": 8395, + "src": "12365:20:14", "typeDescriptions": { - "typeIdentifier": "t_enum$_BridgeTransferStatus_$7874", + "typeIdentifier": "t_enum$_BridgeTransferStatus_$8395", "typeString": "enum SyscoinERC20Manager.BridgeTransferStatus" } }, @@ -20761,35 +23370,28 @@ "visibility": "internal" } ], - "src": "10863:194:13" + "src": "12205:194:14" }, - "scope": 8587, - "src": "10789:628:13", + "scope": 9203, + "src": "12131:628:14", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 8588, - "src": "235:11184:13" + "scope": 9204, + "src": "190:12571:14" } ], - "src": "0:11420:13" + "src": "0:12762:14" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, - "networks": { - "4": { - "links": {}, - "events": {}, - "address": "0x443d9a14fb6ba2A45465bEC3767186f404Ccea25", - "updated_at": 1576039516455 - } - }, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.573Z", + "networks": {}, + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.459Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/SyscoinERC20ManagerForTests.json b/build/contracts/SyscoinERC20ManagerForTests.json index 3928dba..bf4dd16 100644 --- a/build/contracts/SyscoinERC20ManagerForTests.json +++ b/build/contracts/SyscoinERC20ManagerForTests.json @@ -83,6 +83,25 @@ "name": "TokenFreeze", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint32", + "name": "assetGuid", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "erc20ContractAddress", + "type": "address" + } + ], + "name": "TokenRegistry", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -142,6 +161,32 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "name": "assetRegistry", + "outputs": [ + { + "internalType": "address", + "name": "erc20ContractAddress", + "type": "address" + }, + { + "internalType": "uint32", + "name": "height", + "type": "uint32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": false, "inputs": [ @@ -238,6 +283,36 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_txHash", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_assetGUID", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_height", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_erc20ContractAddress", + "type": "address" + } + ], + "name": "processAsset", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, { "constant": false, "inputs": [ @@ -381,25 +456,25 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"canceller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"CancelTransferFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"canceller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"CancelTransferRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"canceller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"CancelTransferSucceeded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"freezer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"TokenFreeze\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"receipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TokenUnfreeze\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"receipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TokenUnfreezeFee\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"assetBalances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"cancelTransferRequest\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"cancelTransferSuccess\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"precision\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"freezeBurnERC20\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"getBridgeTransfer\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenFreezerAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"_assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"enum SyscoinERC20Manager.BridgeTransferStatus\",\"name\":\"_status\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"enum SyscoinERC20Manager.Network\",\"name\":\"_network\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_trustedRelayerContract\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"},{\"internalType\":\"address payable\",\"name\":\"challengerAddress\",\"type\":\"address\"}],\"name\":\"processCancelTransferFail\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"txHash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"superblockSubmitterAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"precision\",\"type\":\"uint8\"}],\"name\":\"processTransaction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"trustedRelayerContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"txHash\",\"type\":\"uint256\"}],\"name\":\"wasSyscoinTxProcessed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20ManagerForTests.sol\":\"SyscoinERC20ManagerForTests\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol\":{\"keccak256\":\"0x8ebfea53afdf70b6c363b6684a68394e8cbce3a856b7e3239f64cf7f3349a27e\",\"urls\":[\"bzz-raw://3aebcc8a46d71a4bd2d3026b896b106dbce138fce2d291b0231683d40b87f2e4\",\"dweb:/ipfs/QmRijeihighF7zQ6j8JHkssUZnsLJq6U8Ki8ZzHvavA5oW\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinERC20I.sol\":{\"keccak256\":\"0xb66109f1bd667eb953e087e1cdbf5208c119c0bc247e7286ae8ee44786daf26c\",\"urls\":[\"bzz-raw://37be28368df7ad29d842fc089a92aee43e2cf849212d43655b38c4ce118dd82e\",\"dweb:/ipfs/QmYMD8BRZfjL7gWzEpPAWZSgVmsbosU187pvYPe9FHC8Q8\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20Manager.sol\":{\"keccak256\":\"0x348941ff7a936d9265eae6c5988dcc48ed79a7931e6f199cfad74e19621b6c94\",\"urls\":[\"bzz-raw://911506496ad19de8d8bf93ca012a870dc15a73cb9c9314079908d6cf505a59c2\",\"dweb:/ipfs/QmYtrqiuRj9oUdHEcMsiyWoExH5vQ67hfkTx8rjtEAW458\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20ManagerForTests.sol\":{\"keccak256\":\"0x684ed91e8c1fac3d942cb5cc60921ef71f32770d6ab18c8032c63cb7131b93e4\",\"urls\":[\"bzz-raw://60fb2d83af7e84d07d16ef91153b40f63613b19010b130023049242719fd00c4\",\"dweb:/ipfs/QmcAvC44sUwJxd5YyS3LY4VSGtGG4t5PZqfRCUgQkGkExc\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0xf79d9851c085aa8412e87d7a26d3485488fe12538ecb4e317ce41fc1f2c3a16a\",\"urls\":[\"bzz-raw://6af1a35ad6aed2169ce9f44095438b3192cd6066903908f769d5c49a06a0caf8\",\"dweb:/ipfs/QmaH41CwJ7WrMQwSnbfCKuL2pd8bxF7sbGSLPZb6JaHBFF\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50611705806100206000396000f3fe6080604052600436106100915760003560e01c8063a71d75ca11610059578063a71d75ca146102c2578063af56f158146102ec578063cf496b1014610351578063f7daeb8514610382578063fe2e9718146103be57610091565b8063085e7092146100965780631b7289201461013d5780632f3489c7146101625780635f959b69146101925780636cde8d6f14610283575b600080fd5b3480156100a257600080fd5b506100c6600480360360208110156100b957600080fd5b503563ffffffff16610400565b60405180878152602001868152602001856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018363ffffffff1663ffffffff16815260200182600481111561012457fe5b60ff168152602001965050505050505060405180910390f35b6101606004803603602081101561015357600080fd5b503563ffffffff16610454565b005b34801561016e57600080fd5b506101606004803603602081101561018557600080fd5b503563ffffffff16610628565b34801561019e57600080fd5b5061026f600480360360a08110156101b557600080fd5b81359163ffffffff602082013516916001600160a01b036040830135169160ff6060820135169181019060a0810160808201356401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184600183028401116401000000008311171561022e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610898945050505050565b604080519115158252519081900360200190f35b34801561028f57600080fd5b50610160600480360360408110156102a657600080fd5b50803563ffffffff1690602001356001600160a01b0316610b16565b3480156102ce57600080fd5b5061026f600480360360208110156102e557600080fd5b5035610c99565b3480156102f857600080fd5b50610160600480360360e081101561030f57600080fd5b5080359060208101359060408101356001600160a01b039081169160608101358216916080820135169060a081013563ffffffff169060c0013560ff16610cac565b34801561035d57600080fd5b50610366611011565b604080516001600160a01b039092168252519081900360200190f35b34801561038e57600080fd5b50610160600480360360408110156103a557600080fd5b50803560ff1690602001356001600160a01b0316611020565b3480156103ca57600080fd5b506103ee600480360360208110156103e157600080fd5b503563ffffffff1661110a565b60408051918252519081900360200190f35b63ffffffff9081166000908152603760205260409020805460018201546002830154600390930154919490936001600160a01b0393841693831692600160a01b810490911691600160c01b90910460ff1690565b63ffffffff8116600090815260376020526040902060016003820154600160c01b900460ff16600481111561048557fe5b146104c15760405162461bcd60e51b815260040180806020018281038252605281526020018061144f6052913960600191505060405180910390fd5b60038101546001600160a01b0316331461050c5760405162461bcd60e51b815260040180806020018281038252605281526020018061159c6052913960600191505060405180910390fd5b600060395460ff16600281111561051f57fe5b1461052c57618ca0610531565b620dd7c05b81544203116105715760405162461bcd60e51b81526004018080602001828103825260548152602001806115486054913960600191505060405180910390fd5b6729a2241af62c00003410156105b85760405162461bcd60e51b81526004018080602001828103825260468152602001806115026046913960600191505060405180910390fd5b63ffffffff821660008181526038602090815260409182902034905542845560038401805460ff60c01b1916600160c11b17905581513381529081019290925280517f1bd938c0559acc36703807b71652dec64b2eed0d54f1716803e65cedc4f55a129281900390910190a15050565b63ffffffff8116600090815260376020526040902060026003820154600160c01b900460ff16600481111561065957fe5b146106955760405162461bcd60e51b815260040180806020018281038252604c815260200180611685604c913960600191505060405180910390fd5b610e1081600001544203116106db5760405162461bcd60e51b815260040180806020018281038252604881526020018061163d6048913960600191505060405180910390fd5b60028101546001820154600383015463ffffffff600160a01b90910481166000908152603460205260409020546001600160a01b039093169261072092909161111c16565b600383018054600160a01b900463ffffffff1660009081526034602090815260408083209490945591546001860154845163a9059cbb60e01b81526001600160a01b039283166004820152602481019190915293519085169363a9059cbb936044808301949193928390030190829087803b15801561079e57600080fd5b505af11580156107b2573d6000803e3d6000fd5b505050506040513d60208110156107c857600080fd5b5050600382015463ffffffff84166000908152603860205260408082205490516001600160a01b0390931692839282156108fc02929190818181858888f1935050505015801561081c573d6000803e3d6000fd5b5063ffffffff841660008181526038602090815260408083209290925560038601805460ff60c01b1916600160c21b179081905582516001600160a01b0390911681529081019290925280517f558dcc0f85e822d51fb0c98b95ab299d76c136c9d1a34b9cb2e3ede1689cdcfe9281900390910190a150505050565b600083866000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156108d757600080fd5b505afa1580156108eb573d6000803e3d6000fd5b505050506040513d602081101561090157600080fd5b505160ff16905061091c600a82810a9063ffffffff61116516565b82101561095a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611423602c913960400191505060405180910390fd5b63ffffffff80891660009081526034602052604090205461097d918b906111a716565b63ffffffff891660009081526034602090815260409182902092909255805163313ce56760e01b8152905189926001600160a01b0384169263313ce5679260048083019392829003018186803b1580156109d657600080fd5b505afa1580156109ea573d6000803e3d6000fd5b505050506040513d6020811015610a0057600080fd5b505160ff888116911614610a455760405162461bcd60e51b81526004018080602001828103825260318152602001806113f26031913960400191505060405180910390fd5b604080516323b872dd60e01b8152336004820152306024820152604481018c905290516001600160a01b038316916323b872dd9160648083019260209291908290030181600087803b158015610a9a57600080fd5b505af1158015610aae573d6000803e3d6000fd5b505050506040513d6020811015610ac457600080fd5b505060408051338152602081018c905260008183015290517faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d9181900360600190a15060019998505050505050505050565b6033546001600160a01b03163314610b5f5760405162461bcd60e51b81526004018080602001828103825260218152602001806115ee6021913960400191505060405180910390fd5b63ffffffff8216600090815260376020526040902060026003820154600160c01b900460ff166004811115610b9057fe5b14610bcc5760405162461bcd60e51b81526004018080602001828103825260618152602001806114a16061913960800191505060405180910390fd5b63ffffffff83166000908152603860205260408082205490516001600160a01b0385169282156108fc02929190818181858888f19350505050158015610c16573d6000803e3d6000fd5b5063ffffffff83166000908152603860205260408120556003818101805460ff60c01b1916600160c01b8302179055506003810154604080516001600160a01b03909216825263ffffffff8516602083015280517f960e217c57581c52cdc4e321eb617416d051a348a2ecf62bb8023a3558e80e859281900390910190a1505050565b6000610ca482611201565b90505b919050565b6033546001600160a01b03163314610cf55760405162461bcd60e51b81526004018080602001828103825260218152602001806115ee6021913960400191505060405180910390fd5b60008390506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610d3557600080fd5b505afa158015610d49573d6000803e3d6000fd5b505050506040513d6020811015610d5f57600080fd5b5051905060ff8084169082161115610d835782810360ff16600a0a88029750610da6565b8260ff168160ff161015610da65780830360ff16600a0a8881610da257fe5b0497505b610db08189611216565b610db9896112b7565b610e01576040805162461bcd60e51b8152602060048201526014602482015273151608185b1c9958591e481c1c9bd8d95cdcd95960621b604482015290519081900360640190fd5b63ffffffff808516600090815260346020526040902054610e24918a9061111c16565b63ffffffff808616600090815260346020526040812092909255610e4e908a906127109061116516565b90506000610e628a8363ffffffff61111c16565b9050836001600160a01b031663a9059cbb89846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610ec457600080fd5b505af1158015610ed8573d6000803e3d6000fd5b505050506040513d6020811015610eee57600080fd5b5050604080516001600160a01b038a1681526020810184905281517f378dbe173f6ed6e11630b29573f719ec4cefc9b49f430deed915911c5f78a080929181900390910190a1836001600160a01b031663a9059cbb8a836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610f9457600080fd5b505af1158015610fa8573d6000803e3d6000fd5b505050506040513d6020811015610fbe57600080fd5b5050604080516001600160a01b038b1681526020810183905281517fb925ba840e2f36bcb317f8179bd8b5ed01aba4a22abf5f169162c0894dea87ab929181900390910190a15050505050505050505050565b6033546001600160a01b031681565b600054610100900460ff168061103957506110396112ef565b80611047575060005460ff16155b6110825760405162461bcd60e51b815260040180806020018281038252602e81526020018061160f602e913960400191505060405180910390fd5b600054610100900460ff161580156110ad576000805460ff1961ff0019909116610100171660011790555b6039805484919060ff191660018360028111156110c657fe5b0217905550603380546001600160a01b0319166001600160a01b0384161790556036805463ffffffff191690558015611105576000805461ff00191690555b505050565b60346020526000908152604090205481565b600061115e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112f5565b9392505050565b600061115e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061138c565b60008282018381101561115e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60009081526035602052604090205460ff1690565b60ff821681611265576040805162461bcd60e51b815260206004820152601660248201527556616c7565206d75737420626520706f73697469766560501b604482015290519081900360640190fd5b611279600a82810a9063ffffffff61116516565b8210156111055760405162461bcd60e51b815260040180806020018281038252602c815260200180611423602c913960400191505060405180910390fd5b60006112c282611201565b156112cf57506000610ca7565b506000908152603560205260409020805460ff1916600190811790915590565b303b1590565b600081848411156113845760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611349578181015183820152602001611331565b50505050905090810190601f1680156113765780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836113db5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611349578181015183820152602001611331565b5060008385816113e757fe5b049594505050505056fe446563696d616c732077657265206e6f742070726f766964656420776974682074686520636f72726563742076616c756556616c7565206d75737420626520626967676572206f7220657175616c204d494e5f4c4f434b5f56414c554523537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a20537461747573206f6620627269646765207472616e73666572206d757374206265204f6b23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c52657175657374656420746f204661696c20746865207472616e7366657223537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a2043616e63656c206465706f73697420696e636f727265637423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a205472616e73666572206d757374206265206174206c6561737420312e35207765656b206f6c6423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a204f6e6c79206d73672e73656e64657220697320616c6c6f77656420746f2063616e63656c43616c6c206d7573742062652066726f6d20747275737465642072656c61796572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a203120686f75722074696d656f757420697320726571756972656423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c526571756573746564a265627a7a72315820b9ba9bd4957c921dc8faa6ab95a5e55695caa0de62ba9aa9783886cb5c18b5c464736f6c634300050d0032", - "deployedBytecode": "0x6080604052600436106100915760003560e01c8063a71d75ca11610059578063a71d75ca146102c2578063af56f158146102ec578063cf496b1014610351578063f7daeb8514610382578063fe2e9718146103be57610091565b8063085e7092146100965780631b7289201461013d5780632f3489c7146101625780635f959b69146101925780636cde8d6f14610283575b600080fd5b3480156100a257600080fd5b506100c6600480360360208110156100b957600080fd5b503563ffffffff16610400565b60405180878152602001868152602001856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018363ffffffff1663ffffffff16815260200182600481111561012457fe5b60ff168152602001965050505050505060405180910390f35b6101606004803603602081101561015357600080fd5b503563ffffffff16610454565b005b34801561016e57600080fd5b506101606004803603602081101561018557600080fd5b503563ffffffff16610628565b34801561019e57600080fd5b5061026f600480360360a08110156101b557600080fd5b81359163ffffffff602082013516916001600160a01b036040830135169160ff6060820135169181019060a0810160808201356401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184600183028401116401000000008311171561022e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610898945050505050565b604080519115158252519081900360200190f35b34801561028f57600080fd5b50610160600480360360408110156102a657600080fd5b50803563ffffffff1690602001356001600160a01b0316610b16565b3480156102ce57600080fd5b5061026f600480360360208110156102e557600080fd5b5035610c99565b3480156102f857600080fd5b50610160600480360360e081101561030f57600080fd5b5080359060208101359060408101356001600160a01b039081169160608101358216916080820135169060a081013563ffffffff169060c0013560ff16610cac565b34801561035d57600080fd5b50610366611011565b604080516001600160a01b039092168252519081900360200190f35b34801561038e57600080fd5b50610160600480360360408110156103a557600080fd5b50803560ff1690602001356001600160a01b0316611020565b3480156103ca57600080fd5b506103ee600480360360208110156103e157600080fd5b503563ffffffff1661110a565b60408051918252519081900360200190f35b63ffffffff9081166000908152603760205260409020805460018201546002830154600390930154919490936001600160a01b0393841693831692600160a01b810490911691600160c01b90910460ff1690565b63ffffffff8116600090815260376020526040902060016003820154600160c01b900460ff16600481111561048557fe5b146104c15760405162461bcd60e51b815260040180806020018281038252605281526020018061144f6052913960600191505060405180910390fd5b60038101546001600160a01b0316331461050c5760405162461bcd60e51b815260040180806020018281038252605281526020018061159c6052913960600191505060405180910390fd5b600060395460ff16600281111561051f57fe5b1461052c57618ca0610531565b620dd7c05b81544203116105715760405162461bcd60e51b81526004018080602001828103825260548152602001806115486054913960600191505060405180910390fd5b6729a2241af62c00003410156105b85760405162461bcd60e51b81526004018080602001828103825260468152602001806115026046913960600191505060405180910390fd5b63ffffffff821660008181526038602090815260409182902034905542845560038401805460ff60c01b1916600160c11b17905581513381529081019290925280517f1bd938c0559acc36703807b71652dec64b2eed0d54f1716803e65cedc4f55a129281900390910190a15050565b63ffffffff8116600090815260376020526040902060026003820154600160c01b900460ff16600481111561065957fe5b146106955760405162461bcd60e51b815260040180806020018281038252604c815260200180611685604c913960600191505060405180910390fd5b610e1081600001544203116106db5760405162461bcd60e51b815260040180806020018281038252604881526020018061163d6048913960600191505060405180910390fd5b60028101546001820154600383015463ffffffff600160a01b90910481166000908152603460205260409020546001600160a01b039093169261072092909161111c16565b600383018054600160a01b900463ffffffff1660009081526034602090815260408083209490945591546001860154845163a9059cbb60e01b81526001600160a01b039283166004820152602481019190915293519085169363a9059cbb936044808301949193928390030190829087803b15801561079e57600080fd5b505af11580156107b2573d6000803e3d6000fd5b505050506040513d60208110156107c857600080fd5b5050600382015463ffffffff84166000908152603860205260408082205490516001600160a01b0390931692839282156108fc02929190818181858888f1935050505015801561081c573d6000803e3d6000fd5b5063ffffffff841660008181526038602090815260408083209290925560038601805460ff60c01b1916600160c21b179081905582516001600160a01b0390911681529081019290925280517f558dcc0f85e822d51fb0c98b95ab299d76c136c9d1a34b9cb2e3ede1689cdcfe9281900390910190a150505050565b600083866000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156108d757600080fd5b505afa1580156108eb573d6000803e3d6000fd5b505050506040513d602081101561090157600080fd5b505160ff16905061091c600a82810a9063ffffffff61116516565b82101561095a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611423602c913960400191505060405180910390fd5b63ffffffff80891660009081526034602052604090205461097d918b906111a716565b63ffffffff891660009081526034602090815260409182902092909255805163313ce56760e01b8152905189926001600160a01b0384169263313ce5679260048083019392829003018186803b1580156109d657600080fd5b505afa1580156109ea573d6000803e3d6000fd5b505050506040513d6020811015610a0057600080fd5b505160ff888116911614610a455760405162461bcd60e51b81526004018080602001828103825260318152602001806113f26031913960400191505060405180910390fd5b604080516323b872dd60e01b8152336004820152306024820152604481018c905290516001600160a01b038316916323b872dd9160648083019260209291908290030181600087803b158015610a9a57600080fd5b505af1158015610aae573d6000803e3d6000fd5b505050506040513d6020811015610ac457600080fd5b505060408051338152602081018c905260008183015290517faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d9181900360600190a15060019998505050505050505050565b6033546001600160a01b03163314610b5f5760405162461bcd60e51b81526004018080602001828103825260218152602001806115ee6021913960400191505060405180910390fd5b63ffffffff8216600090815260376020526040902060026003820154600160c01b900460ff166004811115610b9057fe5b14610bcc5760405162461bcd60e51b81526004018080602001828103825260618152602001806114a16061913960800191505060405180910390fd5b63ffffffff83166000908152603860205260408082205490516001600160a01b0385169282156108fc02929190818181858888f19350505050158015610c16573d6000803e3d6000fd5b5063ffffffff83166000908152603860205260408120556003818101805460ff60c01b1916600160c01b8302179055506003810154604080516001600160a01b03909216825263ffffffff8516602083015280517f960e217c57581c52cdc4e321eb617416d051a348a2ecf62bb8023a3558e80e859281900390910190a1505050565b6000610ca482611201565b90505b919050565b6033546001600160a01b03163314610cf55760405162461bcd60e51b81526004018080602001828103825260218152602001806115ee6021913960400191505060405180910390fd5b60008390506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610d3557600080fd5b505afa158015610d49573d6000803e3d6000fd5b505050506040513d6020811015610d5f57600080fd5b5051905060ff8084169082161115610d835782810360ff16600a0a88029750610da6565b8260ff168160ff161015610da65780830360ff16600a0a8881610da257fe5b0497505b610db08189611216565b610db9896112b7565b610e01576040805162461bcd60e51b8152602060048201526014602482015273151608185b1c9958591e481c1c9bd8d95cdcd95960621b604482015290519081900360640190fd5b63ffffffff808516600090815260346020526040902054610e24918a9061111c16565b63ffffffff808616600090815260346020526040812092909255610e4e908a906127109061116516565b90506000610e628a8363ffffffff61111c16565b9050836001600160a01b031663a9059cbb89846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610ec457600080fd5b505af1158015610ed8573d6000803e3d6000fd5b505050506040513d6020811015610eee57600080fd5b5050604080516001600160a01b038a1681526020810184905281517f378dbe173f6ed6e11630b29573f719ec4cefc9b49f430deed915911c5f78a080929181900390910190a1836001600160a01b031663a9059cbb8a836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610f9457600080fd5b505af1158015610fa8573d6000803e3d6000fd5b505050506040513d6020811015610fbe57600080fd5b5050604080516001600160a01b038b1681526020810183905281517fb925ba840e2f36bcb317f8179bd8b5ed01aba4a22abf5f169162c0894dea87ab929181900390910190a15050505050505050505050565b6033546001600160a01b031681565b600054610100900460ff168061103957506110396112ef565b80611047575060005460ff16155b6110825760405162461bcd60e51b815260040180806020018281038252602e81526020018061160f602e913960400191505060405180910390fd5b600054610100900460ff161580156110ad576000805460ff1961ff0019909116610100171660011790555b6039805484919060ff191660018360028111156110c657fe5b0217905550603380546001600160a01b0319166001600160a01b0384161790556036805463ffffffff191690558015611105576000805461ff00191690555b505050565b60346020526000908152604090205481565b600061115e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112f5565b9392505050565b600061115e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061138c565b60008282018381101561115e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60009081526035602052604090205460ff1690565b60ff821681611265576040805162461bcd60e51b815260206004820152601660248201527556616c7565206d75737420626520706f73697469766560501b604482015290519081900360640190fd5b611279600a82810a9063ffffffff61116516565b8210156111055760405162461bcd60e51b815260040180806020018281038252602c815260200180611423602c913960400191505060405180910390fd5b60006112c282611201565b156112cf57506000610ca7565b506000908152603560205260409020805460ff1916600190811790915590565b303b1590565b600081848411156113845760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611349578181015183820152602001611331565b50505050905090810190601f1680156113765780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836113db5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611349578181015183820152602001611331565b5060008385816113e757fe5b049594505050505056fe446563696d616c732077657265206e6f742070726f766964656420776974682074686520636f72726563742076616c756556616c7565206d75737420626520626967676572206f7220657175616c204d494e5f4c4f434b5f56414c554523537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a20537461747573206f6620627269646765207472616e73666572206d757374206265204f6b23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c52657175657374656420746f204661696c20746865207472616e7366657223537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a2043616e63656c206465706f73697420696e636f727265637423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a205472616e73666572206d757374206265206174206c6561737420312e35207765656b206f6c6423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a204f6e6c79206d73672e73656e64657220697320616c6c6f77656420746f2063616e63656c43616c6c206d7573742062652066726f6d20747275737465642072656c61796572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a203120686f75722074696d656f757420697320726571756972656423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c526571756573746564a265627a7a72315820b9ba9bd4957c921dc8faa6ab95a5e55695caa0de62ba9aa9783886cb5c18b5c464736f6c634300050d0032", - "sourceMap": "90:982:14:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;90:982:14;;;;;;;", - "deployedSourceMap": "90:982:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10789:628:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10789:628:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10789:628:13;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;10789:628:13;-1:-1:-1;;;;;10789:628:13;;;;;;-1:-1:-1;;;;;10789:628:13;-1:-1:-1;;;;;10789:628:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5117:1677;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5117:1677:13;;;;:::i;:::-;;6800:1563;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6800:1563:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6800:1563:13;;;;:::i;211:859:14:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;211:859:14;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;211:859:14;;;;;;;;;;-1:-1:-1;;;;;211:859:14;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;211:859:14;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;211:859:14;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;211:859:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;211:859:14;;-1:-1:-1;211:859:14;;-1:-1:-1;;;;;211:859:14:i;:::-;;;;;;;;;;;;;;;;;;8369:875:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8369:875:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8369:875:13;;;;;;;;-1:-1:-1;;;;;8369:875:13;;:::i;3580:111::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3580:111:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3580:111:13;;:::i;3697:1410::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3697:1410:13;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;3697:1410:13;;;;;;;;;;;;-1:-1:-1;;;;;3697:1410:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;937:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;937:37:13;;;:::i;:::-;;;;-1:-1:-1;;;;;937:37:13;;;;;;;;;;;;;;2551:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2551:208:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2551:208:13;;;;;;;;-1:-1:-1;;;;;2551:208:13;;:::i;982:47::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;982:47:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;982:47:13;;;;:::i;:::-;;;;;;;;;;;;;;;;10789:628;11108:33;;;;10873:15;11108:33;;;:15;:33;;;;;11172:24;;11210:20;;;;11244:35;;;;11293:34;;;;;11172:24;;11210:20;;-1:-1:-1;;;;;11244:35:13;;;;11293:34;;;-1:-1:-1;;;11341:24:13;;;;;;-1:-1:-1;;;11379:21:13;;;;;;10789:628::o;5117:1677::-;5282:33;;;5242:37;5282:33;;;:15;:33;;;;;5388:23;5363:21;;;;-1:-1:-1;;;5363:21:13;;;;:48;;;;;;;;;5355:155;;;;-1:-1:-1;;;5355:155:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5723:34;;;;-1:-1:-1;;;;;5723:34:13;5709:10;:48;5701:143;;;;-1:-1:-1;;;5701:143:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6101:15;6094:3;;;;:22;;;;;;;;;:50;;6139:5;6094:50;;;712:6;6094:50;6065:24;;6047:15;:42;6046:99;6038:196;;;;-1:-1:-1;;;6038:196:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;555:19;6287:9;:31;;6279:126;;;;-1:-1:-1;;;6279:126:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6415:26;;;;;;;:8;:26;;;;;;;;;6444:9;6415:38;;6577:15;6550:42;;6661:21;;;:60;;-1:-1:-1;;;;6661:60:13;-1:-1:-1;;;6661:60:13;;;6736:51;;6758:10;6736:51;;;;;;;;;;;;;;;;;;;;;5117:1677;;:::o;6800:1563::-;6957:33;;;6917:37;6957:33;;;:15;:33;;;;;7185:36;7160:21;;;;-1:-1:-1;;;7160:21:13;;;;:61;;;;;;;;;7152:162;;;;-1:-1:-1;;;7152:162:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:4;7440:14;:24;;;7422:15;:42;7421:70;7413:155;;;;-1:-1:-1;;;7413:155:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7665:35;;;;;7797:20;;;7767:24;;;;;-1:-1:-1;;;7767:24:13;;;;;7629:19;7753:39;;;:13;:39;;;;;;-1:-1:-1;;;;;7665:35:13;;;;7753:65;;:39;;:43;:65;:::i;:::-;7725:24;;;;;-1:-1:-1;;;7725:24:13;;;;7711:39;;;;:13;:39;;;;;;;;:107;;;;7843:34;;;7879:20;;;7828:72;;-1:-1:-1;;;7828:72:13;;-1:-1:-1;;;;;7843:34:13;;;7828:72;;;;;;;;;;;;;:14;;;;;;:72;;;;;7711:39;;7828:72;;;;;;;;:14;:72;;;5:2:-1;;;;30:1;27;20:12;5:2;7828:72:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7828:72:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;7998:34:13;;;;8079:26;;;7938:41;8079:26;;;:8;7828:72;8079:26;;;;;;8044:62;;-1:-1:-1;;;;;7998:34:13;;;;;;8044:62;;;;;8079:26;8044:62;;7938:41;8044:62;8079:26;7998:34;8044:62;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;8123:26:13;;;;;;;:8;:26;;;;;;;;8116:33;;;;8211:21;;;:53;;-1:-1:-1;;;;8211:53:13;-1:-1:-1;;;8211:53:13;;;;;8279:77;;-1:-1:-1;;;;;8303:34:13;;;8279:77;;;;;;;;;;;;;;;;;;;;;6800:1563;;;;:::o;211:859:14:-;455:4;409:20;431:5;2985:16:13;3018:20;-1:-1:-1;;;;;3004:44:13;;:46;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3004:46:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3004:46:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3004:46:13;2985:65;;;-1:-1:-1;3090:45:13;409:2;3091:23;;;;3090:45;:29;:45;:::i;:::-;3081:5;:54;;3060:145;;;;-1:-1:-1;;;3060:145:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;727:24:14;;;;;;;;:13;:24;;;;;;:35;;756:5;;727:28;:35;:::i;:::-;700:24;;;;;;;:13;:24;;;;;;;;;:62;;;;861:16;;-1:-1:-1;;;861:16:14;;;;809:20;;-1:-1:-1;;;;;861:14:14;;;;;:16;;;;;700:24;861:16;;;;;:14;:16;;;5:2:-1;;;;30:1;27;20:12;5:2;861:16:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;861:16:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;861:16:14;848:29;;;;;;;840:91;;;;-1:-1:-1;;;840:91:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:52;;;-1:-1:-1;;;941:52:14;;960:10;941:52;;;;980:4;941:52;;;;;;;;;;;;-1:-1:-1;;;;;941:18:14;;;;;:52;;;;;;;;;;;;;;-1:-1:-1;941:18:14;:52;;;5:2:-1;;;;30:1;27;20:12;5:2;941:52:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;941:52:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;1008:33:14;;;1020:10;1008:33;;941:52;1008:33;;;;;1039:1;1008:33;;;;;;;;;;;;;;;-1:-1:-1;1059:4:14;;211:859;-1:-1:-1;;;;;;;;;211:859:14:o;8369:875:13:-;2827:22;;-1:-1:-1;;;;;2827:22:13;2813:10;:36;2805:82;;;;-1:-1:-1;;;2805:82:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8604:33;;;8564:37;8604:33;;;:15;:33;;;;;8723:36;8698:21;;;;-1:-1:-1;;;8698:21:13;;;;:61;;;;;;;;;8690:183;;;;-1:-1:-1;;;8690:183:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8947:26;;;;;;;:8;:26;;;;;;;8920:54;;-1:-1:-1;;;;;8920:26:13;;;:54;;;;;8947:26;8920:54;;8947:26;8920:54;8947:26;8920;:54;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;8991:26:13;;;;;;;:8;:26;;;;;8984:33;9111:37;9087:21;;;:61;;-1:-1:-1;;;;9087:61:13;-1:-1:-1;;;9111:37:13;9087:61;;;;-1:-1:-1;9184:34:13;;;;9163:74;;;-1:-1:-1;;;;;9184:34:13;;;9163:74;;;;;;;;;;;;;;;;;;;;;2897:1;8369:875;;:::o;3580:111::-;3645:4;3668:16;3677:6;3668:8;:16::i;:::-;3661:23;;3580:111;;;;:::o;3697:1410::-;2827:22;;-1:-1:-1;;;;;2827:22:13;2813:10;:36;2805:82;;;;-1:-1:-1;;;2805:82:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3977:19;4013:20;3977:57;;4044:21;4068:5;-1:-1:-1;;;;;4068:14:13;;:16;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4068:16:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4068:16:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4068:16:13;;-1:-1:-1;4134:27:13;;;;;;;;4131:225;;;4219:9;4201:15;:27;4196:33;;4190:2;4185:45;4176:54;;;;4131:225;;;4267:9;4249:27;;:15;:27;;;4246:110;;;4328:15;4316:9;:27;4311:33;;4305:2;4300:45;4291:54;;;;;;;;;4246:110;4365:43;4385:15;4402:5;4365:19;:43::i;:::-;4522:14;4529:6;4522;:14::i;:::-;4514:47;;;;;-1:-1:-1;;;4514:47:13;;;;;;;;;;;;-1:-1:-1;;;4514:47:13;;;;;;;;;;;;;;;4600:24;;;;;;;;:13;:24;;;;;;:35;;4629:5;;4600:28;:35;:::i;:::-;4573:24;;;;;;;;:13;:24;;;;;:62;;;;4676:40;;:5;;484;;4676:9;:40;:::i;:::-;4646:70;-1:-1:-1;4726:14:13;4743:33;:5;4646:70;4743:33;:9;:33;:::i;:::-;4726:50;;4810:5;-1:-1:-1;;;;;4810:14:13;;4825:26;4853:22;4810:66;;;;;;;;;;;;;-1:-1:-1;;;;;4810:66:13;-1:-1:-1;;;;;4810:66:13;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4810:66:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4810:66:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;4891:68:13;;;-1:-1:-1;;;;;4891:68:13;;;;4810:66;4891:68;;;;;;;;;;;;;;;;;;4996:5;-1:-1:-1;;;;;4996:14:13;;5011:18;5031:9;4996:45;;;;;;;;;;;;;-1:-1:-1;;;;;4996:45:13;-1:-1:-1;;;;;4996:45:13;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4996:45:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4996:45:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;5056:44:13;;;-1:-1:-1;;;;;5056:44:13;;;;4996:45;5056:44;;;;;;;;;;;;;;;;;;2897:1;;;;3697:1410;;;;;;;:::o;937:37::-;;;-1:-1:-1;;;;;937:37:13;;:::o;2551:208::-;1024:12:15;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:15;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;1016:106:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:15;;;;;1225:18;1213:4;1225:18;;;1170:80;2645:3:13;:14;;2651:8;;2645:3;-1:-1:-1;;2645:14:13;;2651:8;2645:14;;;;;;;;;;;;-1:-1:-1;2669:22:13;:48;;-1:-1:-1;;;;;;2669:48:13;-1:-1:-1;;;;;2669:48:13;;;;;2727:21;:25;;-1:-1:-1;;2727:25:13;;;1264:55:15;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:15;;;1264:55;2551:208:13;;;:::o;982:47::-;;;;;;;;;;;;;:::o;1274:134:17:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;1274:134;-1:-1:-1;;;1274:134:17:o;3073:130::-;3131:7;3157:39;3161:1;3164;3157:39;;;;;;;;;;;;;;;;;:3;:39::i;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:17;;;;;;;;;;;;;;;;;;;;;;;;;;;2209:120:13;2261:4;2284:38;;;:31;:38;;;;;;;;;2209:120::o;3229:345::-;3330:19;;;3367:9;3359:44;;;;;-1:-1:-1;;;3359:44:13;;;;;;;;;;;;-1:-1:-1;;;3359:44:13;;;;;;;;;;;;;;;3443:45;409:2;3444:23;;;;3443:45;:29;:45;:::i;:::-;3434:5;:54;;3413:145;;;;-1:-1:-1;;;3413:145:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2335:206;2380:4;2400:15;2409:5;2400:8;:15::i;:::-;2396:45;;;-1:-1:-1;2436:5:13;2429:12;;2396:45;-1:-1:-1;2468:38:13;;;;:31;:38;;;;;:45;;-1:-1:-1;;2468:45:13;2509:4;2468:45;;;;;;2509:4;2335:206::o;1409:467:15:-;1842:7;1830:20;1864:7;1409:467;:::o;1732:187:17:-;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:17;;;1732:187::o;3718:338::-;3804:7;3904:12;3897:5;3889:28;;;;-1:-1:-1;;;3889:28:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3889:28:17;;3927:9;3943:1;3939;:5;;;;;;;3718:338;-1:-1:-1;;;;;3718:338:17:o", - "source": "pragma solidity ^0.5.13;\n\nimport \"./SyscoinERC20Manager.sol\";\n\n// DONOT USE IN PRODUCTION\ncontract SyscoinERC20ManagerForTests is SyscoinERC20Manager {\n // keyhash or scripthash for syscoinWitnessProgram\n function freezeBurnERC20(\n uint value,\n uint32 assetGUID,\n address erc20ContractAddress,\n uint8 precision,\n bytes memory\n )\n public\n minimumValue(erc20ContractAddress, value)\n returns (bool)\n {\n // commented out on purpose\n // require(syscoinAddress.length > 0, \"syscoinAddress cannot be zero\");\n\n // commented out on purpose\n // require(assetGUID > 0, \"Asset GUID must not be 0\");\n \n assetBalances[assetGUID] = assetBalances[assetGUID].add(value);\n\n SyscoinERC20I erc20 = SyscoinERC20I(erc20ContractAddress);\n require(precision == erc20.decimals(), \"Decimals were not provided with the correct value\");\n erc20.transferFrom(msg.sender, address(this), value);\n emit TokenFreeze(msg.sender, value, 0);\n\n return true;\n }\n}\n", + "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"canceller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"CancelTransferFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"canceller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"CancelTransferRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"canceller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"CancelTransferSucceeded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"freezer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"bridgetransferid\",\"type\":\"uint32\"}],\"name\":\"TokenFreeze\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"assetGuid\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"}],\"name\":\"TokenRegistry\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"receipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TokenUnfreeze\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"receipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TokenUnfreezeFee\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"assetBalances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"assetRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"height\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"cancelTransferRequest\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"cancelTransferSuccess\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"precision\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"freezeBurnERC20\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"getBridgeTransfer\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenFreezerAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"_assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"enum SyscoinERC20Manager.BridgeTransferStatus\",\"name\":\"_status\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"enum SyscoinERC20Manager.Network\",\"name\":\"_network\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_trustedRelayerContract\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_txHash\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_height\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_erc20ContractAddress\",\"type\":\"address\"}],\"name\":\"processAsset\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"},{\"internalType\":\"address payable\",\"name\":\"challengerAddress\",\"type\":\"address\"}],\"name\":\"processCancelTransferFail\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"txHash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"superblockSubmitterAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"precision\",\"type\":\"uint8\"}],\"name\":\"processTransaction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"trustedRelayerContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"txHash\",\"type\":\"uint256\"}],\"name\":\"wasSyscoinTxProcessed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20ManagerForTests.sol\":\"SyscoinERC20ManagerForTests\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinERC20I.sol\":{\"keccak256\":\"0xafd5946659c56105bf9103bd3af17870fc3004c8646778d05fc5b3452e8d2cfc\",\"urls\":[\"bzz-raw://b2ca68aea59d4603b95005770d83d8c229b4cdb2db8c7a850b2a60cdbd3b70ec\",\"dweb:/ipfs/QmehmSbX6HgDd1How4vzCYcSoEAXxYovMpWBUGFMnEmmhM\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20Manager.sol\":{\"keccak256\":\"0xe66ad7b82d9e8209744e8b7fde63ae33145ba1575e37e56413bd8a2ea05261cc\",\"urls\":[\"bzz-raw://aa485eb7d9d227b23fbe522ae407ae8cf0322989d52cf9836625a17972cffe90\",\"dweb:/ipfs/QmXWsq9cPZ4dmnsVrPRnhcYFoRsBdQe8aKFsmTi7uPoMxW\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20ManagerForTests.sol\":{\"keccak256\":\"0x0919daf92a0dbf927c809c7144ca47698137535579a35cbd2bcf37482fc6d4d5\",\"urls\":[\"bzz-raw://e9d27aa15944677bf42a6a978b4f43b542c67d63edf68d2b0f0a82c9e9807929\",\"dweb:/ipfs/QmXAWffoAN1asQ4ZXJLddRYw3Cj5vzVFC7EYRcNUhVWazP\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0xf79d9851c085aa8412e87d7a26d3485488fe12538ecb4e317ce41fc1f2c3a16a\",\"urls\":[\"bzz-raw://6af1a35ad6aed2169ce9f44095438b3192cd6066903908f769d5c49a06a0caf8\",\"dweb:/ipfs/QmaH41CwJ7WrMQwSnbfCKuL2pd8bxF7sbGSLPZb6JaHBFF\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzz-raw://7d8ec81683520c06baeef3f7e06cd82bd6fd5fa611f26857f475f6c829540aff\",\"dweb:/ipfs/QmTDkFzKnrpiV1UKnSoiZAHPuguWzokrr4pFbSPvyaSo56\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0x70df50e240407aa50915ad14f61b1a901fa335b37de20955b99ed647be756af0\",\"urls\":[\"bzz-raw://9404711f3206610c08ea97fa52c7b6b4d2e9d536e96fc4b7210aa7e24f796c36\",\"dweb:/ipfs/QmZDzpVzjoap13SuPEq5pVCrmdjoKVZnTsQPLKXAbynTTW\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50611afb806100206000396000f3fe6080604052600436106100a75760003560e01c80638b502b7a116100645780638b502b7a14610328578063a71d75ca14610380578063af56f158146103aa578063cf496b101461040f578063f7daeb8514610440578063fe2e97181461047c576100a7565b8063085e7092146100ac57806317c047e1146101535780631b728920146101a55780632f3489c7146101c85780635f959b69146101f85780636cde8d6f146102e9575b600080fd5b3480156100b857600080fd5b506100dc600480360360208110156100cf57600080fd5b503563ffffffff166104be565b60405180878152602001868152602001856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018363ffffffff1663ffffffff16815260200182600481111561013a57fe5b60ff168152602001965050505050505060405180910390f35b34801561015f57600080fd5b506101a36004803603608081101561017657600080fd5b50803590602081013563ffffffff90811691604081013590911690606001356001600160a01b0316610512565b005b6101a3600480360360208110156101bb57600080fd5b503563ffffffff166106b8565b3480156101d457600080fd5b506101a3600480360360208110156101eb57600080fd5b503563ffffffff1661088c565b34801561020457600080fd5b506102d5600480360360a081101561021b57600080fd5b81359163ffffffff602082013516916001600160a01b036040830135169160ff6060820135169181019060a08101608082013564010000000081111561026057600080fd5b82018360208201111561027257600080fd5b8035906020019184600183028401116401000000008311171561029457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610aa5945050505050565b604080519115158252519081900360200190f35b3480156102f557600080fd5b506101a36004803603604081101561030c57600080fd5b50803563ffffffff1690602001356001600160a01b0316610cbd565b34801561033457600080fd5b506103586004803603602081101561034b57600080fd5b503563ffffffff16610e48565b604080516001600160a01b03909316835263ffffffff90911660208301528051918290030190f35b34801561038c57600080fd5b506102d5600480360360208110156103a357600080fd5b5035610e72565b3480156103b657600080fd5b506101a3600480360360e08110156103cd57600080fd5b5080359060208101359060408101356001600160a01b039081169160608101358216916080820135169060a081013563ffffffff169060c0013560ff16610e85565b34801561041b57600080fd5b50610424611106565b604080516001600160a01b039092168252519081900360200190f35b34801561044c57600080fd5b506101a36004803603604081101561046357600080fd5b50803560ff1690602001356001600160a01b0316611115565b34801561048857600080fd5b506104ac6004803603602081101561049f57600080fd5b503563ffffffff166111ff565b60408051918252519081900360200190f35b63ffffffff9081166000908152603760205260409020805460018201546002830154600390930154919490936001600160a01b0393841693831692600160a01b810490911691600160c01b90910460ff1690565b6033546001600160a01b0316331461055b5760405162461bcd60e51b81526004018080602001828103825260218152602001806119896021913960400191505060405180910390fd5b63ffffffff8381166000908152603a6020526040902054818416600160a01b909104909116106105bc5760405162461bcd60e51b8152600401808060200182810382526031815260200180611a4a6031913960400191505060405180910390fd5b6105c584611211565b61060d576040805162461bcd60e51b8152602060048201526014602482015273151608185b1c9958591e481c1c9bd8d95cdcd95960621b604482015290519081900360640190fd5b6040805180820182526001600160a01b0383811680835263ffffffff86811660208086019182528983166000818152603a83528890209651875493516001600160a01b031990941696169590951763ffffffff60a01b1916600160a01b92909316919091029190911790935583519182529181019190915281517f5276cc41288d98dae7d6e7ca6412b8335adfb3bd319f2e1dfc3933901d173033929181900390910190a150505050565b63ffffffff8116600090815260376020526040902060016003820154600160c01b900460ff1660048111156106e957fe5b146107255760405162461bcd60e51b81526004018080602001828103825260528152602001806117ea6052913960600191505060405180910390fd5b60038101546001600160a01b031633146107705760405162461bcd60e51b81526004018080602001828103825260528152602001806119376052913960600191505060405180910390fd5b600060395460ff16600281111561078357fe5b1461079057618ca0610795565b620dd7c05b81544203116107d55760405162461bcd60e51b81526004018080602001828103825260548152602001806118e36054913960600191505060405180910390fd5b6729a2241af62c000034101561081c5760405162461bcd60e51b815260040180806020018281038252604681526020018061189d6046913960600191505060405180910390fd5b63ffffffff821660008181526038602090815260409182902034905542845560038401805460ff60c01b1916600160c11b17905581513381529081019290925280517f1bd938c0559acc36703807b71652dec64b2eed0d54f1716803e65cedc4f55a129281900390910190a15050565b63ffffffff8116600090815260376020526040902060026003820154600160c01b900460ff1660048111156108bd57fe5b146108f95760405162461bcd60e51b815260040180806020018281038252604c815260200180611a7b604c913960600191505060405180910390fd5b610e10816000015442031161093f5760405162461bcd60e51b81526004018080602001828103825260488152602001806119d86048913960600191505060405180910390fd5b60038101805460ff60c01b1916600160c21b17908190556002820154600183015463ffffffff600160a01b90930483166000908152603460205260409020546001600160a01b039092169261099692919061124916565b60038301805463ffffffff600160a01b90910481166000908152603460205260409020929092555460018401546109dc926001600160a01b038581169316919061129216565b600382015463ffffffff841660009081526038602052604080822080549083905590516001600160a01b039093169290918391839181818185875af1925050503d8060008114610a48576040519150601f19603f3d011682016040523d82523d6000602084013e610a4d565b606091505b5050506003840154604080516001600160a01b03909216825263ffffffff8716602083015280517f558dcc0f85e822d51fb0c98b95ab299d76c136c9d1a34b9cb2e3ede1689cdcfe9281900390910190a15050505050565b600083866000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae457600080fd5b505afa158015610af8573d6000803e3d6000fd5b505050506040513d6020811015610b0e57600080fd5b505160ff169050610b29600a82810a9063ffffffff6112e416565b821015610b675760405162461bcd60e51b815260040180806020018281038252602c8152602001806117be602c913960400191505060405180910390fd5b63ffffffff808916600090815260346020526040902054610b8a918b9061132616565b63ffffffff891660009081526034602090815260409182902092909255805163313ce56760e01b8152905189926001600160a01b0384169263313ce5679260048083019392829003018186803b158015610be357600080fd5b505afa158015610bf7573d6000803e3d6000fd5b505050506040513d6020811015610c0d57600080fd5b505160ff888116911614610c525760405162461bcd60e51b815260040180806020018281038252603181526020018061178d6031913960400191505060405180910390fd5b610c6d6001600160a01b03821633308d63ffffffff61138016565b60408051338152602081018c905260008183015290517faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d9181900360600190a15060019998505050505050505050565b6033546001600160a01b03163314610d065760405162461bcd60e51b81526004018080602001828103825260218152602001806119896021913960400191505060405180910390fd5b63ffffffff8216600090815260376020526040902060026003820154600160c01b900460ff166004811115610d3757fe5b14610d735760405162461bcd60e51b815260040180806020018281038252606181526020018061183c6061913960800191505060405180910390fd5b60038101805460ff60c01b1916600360c01b17905563ffffffff8316600090815260386020526040808220805490839055905190916001600160a01b03851691839181818185875af1925050503d8060008114610dec576040519150601f19603f3d011682016040523d82523d6000602084013e610df1565b606091505b5050506003820154604080516001600160a01b03909216825263ffffffff8616602083015280517f960e217c57581c52cdc4e321eb617416d051a348a2ecf62bb8023a3558e80e859281900390910190a150505050565b603a602052600090815260409020546001600160a01b03811690600160a01b900463ffffffff1682565b6000610e7d826113e0565b90505b919050565b6033546001600160a01b03163314610ece5760405162461bcd60e51b81526004018080602001828103825260218152602001806119896021913960400191505060405180910390fd5b60008390506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0e57600080fd5b505afa158015610f22573d6000803e3d6000fd5b505050506040513d6020811015610f3857600080fd5b5051905060ff8084169082161115610f5c5782810360ff16600a0a88029750610f7f565b8260ff168160ff161015610f7f5780830360ff16600a0a8881610f7b57fe5b0497505b610f8981896113f5565b610f9289611211565b610fda576040805162461bcd60e51b8152602060048201526014602482015273151608185b1c9958591e481c1c9bd8d95cdcd95960621b604482015290519081900360640190fd5b63ffffffff808516600090815260346020526040902054610ffd918a9061124916565b63ffffffff808616600090815260346020526040812092909255611027908a90612710906112e416565b9050600061103b8a8363ffffffff61124916565b90506110576001600160a01b038516898463ffffffff61129216565b604080516001600160a01b038a1681526020810184905281517f378dbe173f6ed6e11630b29573f719ec4cefc9b49f430deed915911c5f78a080929181900390910190a16110b56001600160a01b0385168a8363ffffffff61129216565b604080516001600160a01b038b1681526020810183905281517fb925ba840e2f36bcb317f8179bd8b5ed01aba4a22abf5f169162c0894dea87ab929181900390910190a15050505050505050505050565b6033546001600160a01b031681565b600054610100900460ff168061112e575061112e611496565b8061113c575060005460ff16155b6111775760405162461bcd60e51b815260040180806020018281038252602e8152602001806119aa602e913960400191505060405180910390fd5b600054610100900460ff161580156111a2576000805460ff1961ff0019909116610100171660011790555b6039805484919060ff191660018360028111156111bb57fe5b0217905550603380546001600160a01b0319166001600160a01b0384161790556036805463ffffffff1916905580156111fa576000805461ff00191690555b505050565b60346020526000908152604090205481565b600061121c826113e0565b1561122957506000610e80565b506000908152603560205260409020805460ff1916600190811790915590565b600061128b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061149c565b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526111fa908490611533565b600061128b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116eb565b60008282018381101561128b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526113da908590611533565b50505050565b60009081526035602052604090205460ff1690565b60ff821681611444576040805162461bcd60e51b815260206004820152601660248201527556616c7565206d75737420626520706f73697469766560501b604482015290519081900360640190fd5b611458600a82810a9063ffffffff6112e416565b8210156111fa5760405162461bcd60e51b815260040180806020018281038252602c8152602001806117be602c913960400191505060405180910390fd5b303b1590565b6000818484111561152b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114f05781810151838201526020016114d8565b50505050905090810190601f16801561151d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b611545826001600160a01b0316611750565b611596576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106115d45780518252601f1990920191602091820191016115b5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611636576040519150601f19603f3d011682016040523d82523d6000602084013e61163b565b606091505b509150915081611692576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156113da578080602001905160208110156116ae57600080fd5b50516113da5760405162461bcd60e51b815260040180806020018281038252602a815260200180611a20602a913960400191505060405180910390fd5b6000818361173a5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114f05781810151838201526020016114d8565b50600083858161174657fe5b0495945050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906117845750808214155b94935050505056fe446563696d616c732077657265206e6f742070726f766964656420776974682074686520636f72726563742076616c756556616c7565206d75737420626520626967676572206f7220657175616c204d494e5f4c4f434b5f56414c554523537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a20537461747573206f6620627269646765207472616e73666572206d757374206265204f6b23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c52657175657374656420746f204661696c20746865207472616e7366657223537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a2043616e63656c206465706f73697420696e636f727265637423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a205472616e73666572206d757374206265206174206c6561737420312e35207765656b206f6c6423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a204f6e6c79206d73672e73656e64657220697320616c6c6f77656420746f2063616e63656c43616c6c206d7573742062652066726f6d20747275737465642072656c61796572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a203120686f75722074696d656f75742069732072657175697265645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564486569676874206d75737420696e637265617365207768656e207570646174696e6720617373657420726567697374727923537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c526571756573746564a265627a7a723158205828ee92780d9d112e983b6566f1b33e476de5ec09866f645c373ba69b55890664736f6c634300050d0032", + "deployedBytecode": "0x6080604052600436106100a75760003560e01c80638b502b7a116100645780638b502b7a14610328578063a71d75ca14610380578063af56f158146103aa578063cf496b101461040f578063f7daeb8514610440578063fe2e97181461047c576100a7565b8063085e7092146100ac57806317c047e1146101535780631b728920146101a55780632f3489c7146101c85780635f959b69146101f85780636cde8d6f146102e9575b600080fd5b3480156100b857600080fd5b506100dc600480360360208110156100cf57600080fd5b503563ffffffff166104be565b60405180878152602001868152602001856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018363ffffffff1663ffffffff16815260200182600481111561013a57fe5b60ff168152602001965050505050505060405180910390f35b34801561015f57600080fd5b506101a36004803603608081101561017657600080fd5b50803590602081013563ffffffff90811691604081013590911690606001356001600160a01b0316610512565b005b6101a3600480360360208110156101bb57600080fd5b503563ffffffff166106b8565b3480156101d457600080fd5b506101a3600480360360208110156101eb57600080fd5b503563ffffffff1661088c565b34801561020457600080fd5b506102d5600480360360a081101561021b57600080fd5b81359163ffffffff602082013516916001600160a01b036040830135169160ff6060820135169181019060a08101608082013564010000000081111561026057600080fd5b82018360208201111561027257600080fd5b8035906020019184600183028401116401000000008311171561029457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610aa5945050505050565b604080519115158252519081900360200190f35b3480156102f557600080fd5b506101a36004803603604081101561030c57600080fd5b50803563ffffffff1690602001356001600160a01b0316610cbd565b34801561033457600080fd5b506103586004803603602081101561034b57600080fd5b503563ffffffff16610e48565b604080516001600160a01b03909316835263ffffffff90911660208301528051918290030190f35b34801561038c57600080fd5b506102d5600480360360208110156103a357600080fd5b5035610e72565b3480156103b657600080fd5b506101a3600480360360e08110156103cd57600080fd5b5080359060208101359060408101356001600160a01b039081169160608101358216916080820135169060a081013563ffffffff169060c0013560ff16610e85565b34801561041b57600080fd5b50610424611106565b604080516001600160a01b039092168252519081900360200190f35b34801561044c57600080fd5b506101a36004803603604081101561046357600080fd5b50803560ff1690602001356001600160a01b0316611115565b34801561048857600080fd5b506104ac6004803603602081101561049f57600080fd5b503563ffffffff166111ff565b60408051918252519081900360200190f35b63ffffffff9081166000908152603760205260409020805460018201546002830154600390930154919490936001600160a01b0393841693831692600160a01b810490911691600160c01b90910460ff1690565b6033546001600160a01b0316331461055b5760405162461bcd60e51b81526004018080602001828103825260218152602001806119896021913960400191505060405180910390fd5b63ffffffff8381166000908152603a6020526040902054818416600160a01b909104909116106105bc5760405162461bcd60e51b8152600401808060200182810382526031815260200180611a4a6031913960400191505060405180910390fd5b6105c584611211565b61060d576040805162461bcd60e51b8152602060048201526014602482015273151608185b1c9958591e481c1c9bd8d95cdcd95960621b604482015290519081900360640190fd5b6040805180820182526001600160a01b0383811680835263ffffffff86811660208086019182528983166000818152603a83528890209651875493516001600160a01b031990941696169590951763ffffffff60a01b1916600160a01b92909316919091029190911790935583519182529181019190915281517f5276cc41288d98dae7d6e7ca6412b8335adfb3bd319f2e1dfc3933901d173033929181900390910190a150505050565b63ffffffff8116600090815260376020526040902060016003820154600160c01b900460ff1660048111156106e957fe5b146107255760405162461bcd60e51b81526004018080602001828103825260528152602001806117ea6052913960600191505060405180910390fd5b60038101546001600160a01b031633146107705760405162461bcd60e51b81526004018080602001828103825260528152602001806119376052913960600191505060405180910390fd5b600060395460ff16600281111561078357fe5b1461079057618ca0610795565b620dd7c05b81544203116107d55760405162461bcd60e51b81526004018080602001828103825260548152602001806118e36054913960600191505060405180910390fd5b6729a2241af62c000034101561081c5760405162461bcd60e51b815260040180806020018281038252604681526020018061189d6046913960600191505060405180910390fd5b63ffffffff821660008181526038602090815260409182902034905542845560038401805460ff60c01b1916600160c11b17905581513381529081019290925280517f1bd938c0559acc36703807b71652dec64b2eed0d54f1716803e65cedc4f55a129281900390910190a15050565b63ffffffff8116600090815260376020526040902060026003820154600160c01b900460ff1660048111156108bd57fe5b146108f95760405162461bcd60e51b815260040180806020018281038252604c815260200180611a7b604c913960600191505060405180910390fd5b610e10816000015442031161093f5760405162461bcd60e51b81526004018080602001828103825260488152602001806119d86048913960600191505060405180910390fd5b60038101805460ff60c01b1916600160c21b17908190556002820154600183015463ffffffff600160a01b90930483166000908152603460205260409020546001600160a01b039092169261099692919061124916565b60038301805463ffffffff600160a01b90910481166000908152603460205260409020929092555460018401546109dc926001600160a01b038581169316919061129216565b600382015463ffffffff841660009081526038602052604080822080549083905590516001600160a01b039093169290918391839181818185875af1925050503d8060008114610a48576040519150601f19603f3d011682016040523d82523d6000602084013e610a4d565b606091505b5050506003840154604080516001600160a01b03909216825263ffffffff8716602083015280517f558dcc0f85e822d51fb0c98b95ab299d76c136c9d1a34b9cb2e3ede1689cdcfe9281900390910190a15050505050565b600083866000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae457600080fd5b505afa158015610af8573d6000803e3d6000fd5b505050506040513d6020811015610b0e57600080fd5b505160ff169050610b29600a82810a9063ffffffff6112e416565b821015610b675760405162461bcd60e51b815260040180806020018281038252602c8152602001806117be602c913960400191505060405180910390fd5b63ffffffff808916600090815260346020526040902054610b8a918b9061132616565b63ffffffff891660009081526034602090815260409182902092909255805163313ce56760e01b8152905189926001600160a01b0384169263313ce5679260048083019392829003018186803b158015610be357600080fd5b505afa158015610bf7573d6000803e3d6000fd5b505050506040513d6020811015610c0d57600080fd5b505160ff888116911614610c525760405162461bcd60e51b815260040180806020018281038252603181526020018061178d6031913960400191505060405180910390fd5b610c6d6001600160a01b03821633308d63ffffffff61138016565b60408051338152602081018c905260008183015290517faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d9181900360600190a15060019998505050505050505050565b6033546001600160a01b03163314610d065760405162461bcd60e51b81526004018080602001828103825260218152602001806119896021913960400191505060405180910390fd5b63ffffffff8216600090815260376020526040902060026003820154600160c01b900460ff166004811115610d3757fe5b14610d735760405162461bcd60e51b815260040180806020018281038252606181526020018061183c6061913960800191505060405180910390fd5b60038101805460ff60c01b1916600360c01b17905563ffffffff8316600090815260386020526040808220805490839055905190916001600160a01b03851691839181818185875af1925050503d8060008114610dec576040519150601f19603f3d011682016040523d82523d6000602084013e610df1565b606091505b5050506003820154604080516001600160a01b03909216825263ffffffff8616602083015280517f960e217c57581c52cdc4e321eb617416d051a348a2ecf62bb8023a3558e80e859281900390910190a150505050565b603a602052600090815260409020546001600160a01b03811690600160a01b900463ffffffff1682565b6000610e7d826113e0565b90505b919050565b6033546001600160a01b03163314610ece5760405162461bcd60e51b81526004018080602001828103825260218152602001806119896021913960400191505060405180910390fd5b60008390506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0e57600080fd5b505afa158015610f22573d6000803e3d6000fd5b505050506040513d6020811015610f3857600080fd5b5051905060ff8084169082161115610f5c5782810360ff16600a0a88029750610f7f565b8260ff168160ff161015610f7f5780830360ff16600a0a8881610f7b57fe5b0497505b610f8981896113f5565b610f9289611211565b610fda576040805162461bcd60e51b8152602060048201526014602482015273151608185b1c9958591e481c1c9bd8d95cdcd95960621b604482015290519081900360640190fd5b63ffffffff808516600090815260346020526040902054610ffd918a9061124916565b63ffffffff808616600090815260346020526040812092909255611027908a90612710906112e416565b9050600061103b8a8363ffffffff61124916565b90506110576001600160a01b038516898463ffffffff61129216565b604080516001600160a01b038a1681526020810184905281517f378dbe173f6ed6e11630b29573f719ec4cefc9b49f430deed915911c5f78a080929181900390910190a16110b56001600160a01b0385168a8363ffffffff61129216565b604080516001600160a01b038b1681526020810183905281517fb925ba840e2f36bcb317f8179bd8b5ed01aba4a22abf5f169162c0894dea87ab929181900390910190a15050505050505050505050565b6033546001600160a01b031681565b600054610100900460ff168061112e575061112e611496565b8061113c575060005460ff16155b6111775760405162461bcd60e51b815260040180806020018281038252602e8152602001806119aa602e913960400191505060405180910390fd5b600054610100900460ff161580156111a2576000805460ff1961ff0019909116610100171660011790555b6039805484919060ff191660018360028111156111bb57fe5b0217905550603380546001600160a01b0319166001600160a01b0384161790556036805463ffffffff1916905580156111fa576000805461ff00191690555b505050565b60346020526000908152604090205481565b600061121c826113e0565b1561122957506000610e80565b506000908152603560205260409020805460ff1916600190811790915590565b600061128b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061149c565b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526111fa908490611533565b600061128b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116eb565b60008282018381101561128b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526113da908590611533565b50505050565b60009081526035602052604090205460ff1690565b60ff821681611444576040805162461bcd60e51b815260206004820152601660248201527556616c7565206d75737420626520706f73697469766560501b604482015290519081900360640190fd5b611458600a82810a9063ffffffff6112e416565b8210156111fa5760405162461bcd60e51b815260040180806020018281038252602c8152602001806117be602c913960400191505060405180910390fd5b303b1590565b6000818484111561152b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114f05781810151838201526020016114d8565b50505050905090810190601f16801561151d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b611545826001600160a01b0316611750565b611596576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106115d45780518252601f1990920191602091820191016115b5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611636576040519150601f19603f3d011682016040523d82523d6000602084013e61163b565b606091505b509150915081611692576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156113da578080602001905160208110156116ae57600080fd5b50516113da5760405162461bcd60e51b815260040180806020018281038252602a815260200180611a20602a913960400191505060405180910390fd5b6000818361173a5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114f05781810151838201526020016114d8565b50600083858161174657fe5b0495945050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906117845750808214155b94935050505056fe446563696d616c732077657265206e6f742070726f766964656420776974682074686520636f72726563742076616c756556616c7565206d75737420626520626967676572206f7220657175616c204d494e5f4c4f434b5f56414c554523537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a20537461747573206f6620627269646765207472616e73666572206d757374206265204f6b23537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c52657175657374656420746f204661696c20746865207472616e7366657223537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a2043616e63656c206465706f73697420696e636f727265637423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a205472616e73666572206d757374206265206174206c6561737420312e35207765656b206f6c6423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725265717565737428293a204f6e6c79206d73672e73656e64657220697320616c6c6f77656420746f2063616e63656c43616c6c206d7573742062652066726f6d20747275737465642072656c61796572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656423537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a203120686f75722074696d656f75742069732072657175697265645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564486569676874206d75737420696e637265617365207768656e207570646174696e6720617373657420726567697374727923537973636f696e45524332304d616e616765722063616e63656c5472616e736665725375636365737328293a20537461747573206d7573742062652043616e63656c526571756573746564a265627a7a723158205828ee92780d9d112e983b6566f1b33e476de5ec09866f645c373ba69b55890664736f6c634300050d0032", + "sourceMap": "90:1025:15:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;90:1025:15;;;;;;;", + "deployedSourceMap": "90:1025:15:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12131:628:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12131:628:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12131:628:14;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;12131:628:14;-1:-1:-1;;;;;12131:628:14;;;;;;-1:-1:-1;;;;;12131:628:14;-1:-1:-1;;;;;12131:628:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5354:675;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5354:675:14;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;5354:675:14;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5354:675:14;;:::i;:::-;;6039:1677;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6039:1677:14;;;;:::i;7722:1671::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7722:1671:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7722:1671:14;;;;:::i;250:863:15:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;250:863:15;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;250:863:15;;;;;;;;;;-1:-1:-1;;;;;250:863:15;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;250:863:15;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;250:863:15;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;250:863:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;250:863:15;;-1:-1:-1;250:863:15;;-1:-1:-1;;;;;250:863:15:i;:::-;;;;;;;;;;;;;;;;;;9399:979:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9399:979:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9399:979:14;;;;;;;;-1:-1:-1;;;;;9399:979:14;;:::i;2267:57::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2267:57:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2267:57:14;;;;:::i;:::-;;;;-1:-1:-1;;;;;2267:57:14;;;;;;;;;;;;;;;;;;;;;;3813:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3813:111:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3813:111:14;;:::i;3930:1418::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3930:1418:14;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;3930:1418:14;;;;;;;;;;;;-1:-1:-1;;;;;3930:1418:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;891:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;891:37:14;;;:::i;:::-;;;;-1:-1:-1;;;;;891:37:14;;;;;;;;;;;;;;2784:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2784:208:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2784:208:14;;;;;;;;-1:-1:-1;;;;;2784:208:14;;:::i;936:47::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;936:47:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;936:47:14;;;;:::i;:::-;;;;;;;;;;;;;;;;12131:628;12450:33;;;;12215:15;12450:33;;;:15;:33;;;;;12514:24;;12552:20;;;;12586:35;;;;12635:34;;;;;12514:24;;12552:20;;-1:-1:-1;;;;;12586:35:14;;;;12635:34;;;-1:-1:-1;;;12683:24:14;;;;;;-1:-1:-1;;;12721:21:14;;;;;;12131:628::o;5354:675::-;3060:22;;-1:-1:-1;;;;;3060:22:14;3046:10;:36;3038:82;;;;-1:-1:-1;;;3038:82:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5592:42;:25;;;;;;;:13;:25;;;;;:32;:42;;;-1:-1:-1;;;5592:32:14;;;;;;:42;5584:104;;;;-1:-1:-1;;;5584:104:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5802:15;5809:7;5802:6;:15::i;:::-;5794:48;;;;;-1:-1:-1;;;5794:48:14;;;;;;;;;;;;-1:-1:-1;;;5794:48:14;;;;;;;;;;;;;;;5880:79;;;;;;;;-1:-1:-1;;;;;5880:79:14;;;;;;;;;;;;;;;;;5852:25;;;-1:-1:-1;5852:25:14;;;:13;:25;;;;;:107;;;;;;-1:-1:-1;;;;;;5852:107:14;;;;;;;;;-1:-1:-1;;;;5852:107:14;-1:-1:-1;;;5852:107:14;;;;;;;;;;;;;;;5974:48;;;;;;;;;;;;;;;;;;;;;;;;;5354:675;;;;:::o;6039:1677::-;6204:33;;;6164:37;6204:33;;;:15;:33;;;;;6310:23;6285:21;;;;-1:-1:-1;;;6285:21:14;;;;:48;;;;;;;;;6277:155;;;;-1:-1:-1;;;6277:155:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6645:34;;;;-1:-1:-1;;;;;6645:34:14;6631:10;:48;6623:143;;;;-1:-1:-1;;;6623:143:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7023:15;7016:3;;;;:22;;;;;;;;;:50;;7061:5;7016:50;;;666:6;7016:50;6987:24;;6969:15;:42;6968:99;6960:196;;;;-1:-1:-1;;;6960:196:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:19;7209:9;:31;;7201:126;;;;-1:-1:-1;;;7201:126:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7337:26;;;;;;;:8;:26;;;;;;;;;7366:9;7337:38;;7499:15;7472:42;;7583:21;;;:60;;-1:-1:-1;;;;7583:60:14;-1:-1:-1;;;7583:60:14;;;7658:51;;7680:10;7658:51;;;;;;;;;;;;;;;;;;;;;6039:1677;;:::o;7722:1671::-;7879:33;;;7839:37;7879:33;;;:15;:33;;;;;8107:36;8082:21;;;;-1:-1:-1;;;8082:21:14;;;;:61;;;;;;;;;8074:162;;;;-1:-1:-1;;;8074:162:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;591:4;8362:14;:24;;;8344:15;:42;8343:70;8335:155;;;;-1:-1:-1;;;8335:155:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8552:21;;;:53;;-1:-1:-1;;;;8552:53:14;-1:-1:-1;;;8552:53:14;;;;;8702:35;;;;-1:-1:-1;8834:20:14;;;8804:24;-1:-1:-1;;;8804:24:14;;;;;-1:-1:-1;8790:39:14;;;:13;:39;;;;;;-1:-1:-1;;;;;8702:35:14;;;;8790:65;;:39;8834:20;8790:43;:65;:::i;:::-;8762:24;;;;;;-1:-1:-1;;;8762:24:14;;;;;8748:39;;;;:13;:39;;;;;:107;;;;8884:34;;8920:20;;;8865:76;;-1:-1:-1;;;;;8865:18:14;;;;8884:34;;8920:20;8865:18;:76;:::i;:::-;9039:34;;;;9094:26;;;8979:41;9094:26;;;:8;:26;;;;;;;;9130:33;;;;9251:43;;-1:-1:-1;;;;;9039:34:14;;;;9094:26;;9039:34;;9094:26;;9251:43;8979:41;9251:43;9094:26;9039:34;9251:43;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;-1:-1;;;9333:34:14;;;;9309:77;;;-1:-1:-1;;;;;9333:34:14;;;9309:77;;;;;;;;;;;;;;;;;;;;;7722:1671;;;;;:::o;250:863:15:-;494:4;448:20;470:5;3218:16:14;3251:20;-1:-1:-1;;;;;3237:44:14;;:46;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3237:46:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3237:46:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3237:46:14;3218:65;;;-1:-1:-1;3323:45:14;363:2;3324:23;;;;3323:45;:29;:45;:::i;:::-;3314:5;:54;;3293:145;;;;-1:-1:-1;;;3293:145:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;766:24:15;;;;;;;;:13;:24;;;;;;:35;;795:5;;766:28;:35;:::i;:::-;739:24;;;;;;;:13;:24;;;;;;;;;:62;;;;900:16;;-1:-1:-1;;;900:16:15;;;;848:20;;-1:-1:-1;;;;;900:14:15;;;;;:16;;;;;739:24;900:16;;;;;:14;:16;;;5:2:-1;;;;30:1;27;20:12;5:2;900:16:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;900:16:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;900:16:15;887:29;;;;;;;879:91;;;;-1:-1:-1;;;879:91:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;980:56;-1:-1:-1;;;;;980:22:15;;1003:10;1023:4;1030:5;980:56;:22;:56;:::i;:::-;1051:33;;;1063:10;1051:33;;;;;;;;1082:1;1051:33;;;;;;;;;;;;;;;-1:-1:-1;1102:4:15;;250:863;-1:-1:-1;;;;;;;;;250:863:15:o;9399:979:14:-;3060:22;;-1:-1:-1;;;;;3060:22:14;3046:10;:36;3038:82;;;;-1:-1:-1;;;3038:82:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9634:33;;;9594:37;9634:33;;;:15;:33;;;;;9753:36;9728:21;;;;-1:-1:-1;;;9728:21:14;;;;:61;;;;;;;;;9720:183;;;;-1:-1:-1;;;9720:183:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9997:37;9973:21;;:61;;-1:-1:-1;;;;9973:61:14;-1:-1:-1;;;9973:61:14;;;10090:26;;;-1:-1:-1;10090:26:14;;;:8;:26;;;;;;;;10126:33;;;;10247:35;;10090:26;;-1:-1:-1;;;;;10247:22:14;;;10090:26;;10247:35;-1:-1:-1;10247:35:14;10090:26;10247:22;:35;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;-1:-1;;;10318:34:14;;;;10297:74;;;-1:-1:-1;;;;;10318:34:14;;;10297:74;;;;;;;;;;;;;;;;;;;;;3130:1;;9399:979;;:::o;2267:57::-;;;;;;;;;;;;-1:-1:-1;;;;;2267:57:14;;;-1:-1:-1;;;2267:57:14;;;;;:::o;3813:111::-;3878:4;3901:16;3910:6;3901:8;:16::i;:::-;3894:23;;3813:111;;;;:::o;3930:1418::-;3060:22;;-1:-1:-1;;;;;3060:22:14;3046:10;:36;3038:82;;;;-1:-1:-1;;;3038:82:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4210:19;4246:20;4210:57;;4277:21;4301:5;-1:-1:-1;;;;;4301:14:14;;:16;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4301:16:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4301:16:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4301:16:14;;-1:-1:-1;4367:27:14;;;;;;;;4364:225;;;4452:9;4434:15;:27;4429:33;;4423:2;4418:45;4409:54;;;;4364:225;;;4500:9;4482:27;;:15;:27;;;4479:110;;;4561:15;4549:9;:27;4544:33;;4538:2;4533:45;4524:54;;;;;;;;;4479:110;4598:43;4618:15;4635:5;4598:19;:43::i;:::-;4755:14;4762:6;4755;:14::i;:::-;4747:47;;;;;-1:-1:-1;;;4747:47:14;;;;;;;;;;;;-1:-1:-1;;;4747:47:14;;;;;;;;;;;;;;;4833:24;;;;;;;;:13;:24;;;;;;:35;;4862:5;;4833:28;:35;:::i;:::-;4806:24;;;;;;;;:13;:24;;;;;:62;;;;4909:40;;:5;;438;;4909:9;:40;:::i;:::-;4879:70;-1:-1:-1;4959:14:14;4976:33;:5;4879:70;4976:33;:9;:33;:::i;:::-;4959:50;-1:-1:-1;5043:70:14;-1:-1:-1;;;;;5043:18:14;;5062:26;5090:22;5043:70;:18;:70;:::i;:::-;5128:68;;;-1:-1:-1;;;;;5128:68:14;;;;;;;;;;;;;;;;;;;;;;;5233:49;-1:-1:-1;;;;;5233:18:14;;5252;5272:9;5233:49;:18;:49;:::i;:::-;5297:44;;;-1:-1:-1;;;;;5297:44:14;;;;;;;;;;;;;;;;;;;;;;;3130:1;;;;3930:1418;;;;;;;:::o;891:37::-;;;-1:-1:-1;;;;;891:37:14;;:::o;2784:208::-;1024:12:16;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:16;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;1016:106:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:16;;;;;1225:18;1213:4;1225:18;;;1170:80;2878:3:14;:14;;2884:8;;2878:3;-1:-1:-1;;2878:14:14;;2884:8;2878:14;;;;;;;;;;;;-1:-1:-1;2902:22:14;:48;;-1:-1:-1;;;;;;2902:48:14;-1:-1:-1;;;;;2902:48:14;;;;;2960:21;:25;;-1:-1:-1;;2960:25:14;;;1264:55:16;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:16;;;1264:55;2784:208:14;;;:::o;936:47::-;;;;;;;;;;;;;:::o;2568:206::-;2613:4;2633:15;2642:5;2633:8;:15::i;:::-;2629:45;;;-1:-1:-1;2669:5:14;2662:12;;2629:45;-1:-1:-1;2701:38:14;;;;:31;:38;;;;;:45;;-1:-1:-1;;2701:45:14;2742:4;2701:45;;;;;;2742:4;2568:206::o;1274:134:18:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;1274:134;-1:-1:-1;;;1274:134:18:o;662:174:22:-;770:58;;;-1:-1:-1;;;;;770:58:22;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;770:58:22;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;744:85:22;;763:5;;744:18;:85::i;3073:130:18:-;3131:7;3157:39;3161:1;3164;3157:39;;;;;;;;;;;;;;;;;:3;:39::i;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:18;;;;;;;;;;;;;;;;;;;;;;;;;;;842:202:22;968:68;;;-1:-1:-1;;;;;968:68:22;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;968:68:22;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;942:95:22;;961:5;;942:18;:95::i;:::-;842:202;;;;:::o;2442:120:14:-;2494:4;2517:38;;;:31;:38;;;;;;;;;2442:120::o;3462:345::-;3563:19;;;3600:9;3592:44;;;;;-1:-1:-1;;;3592:44:14;;;;;;;;;;;;-1:-1:-1;;;3592:44:14;;;;;;;;;;;;;;;3676:45;363:2;3677:23;;;;3676:45;:29;:45;:::i;:::-;3667:5;:54;;3646:145;;;;-1:-1:-1;;;3646:145:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1409:467:16;1842:7;1830:20;1864:7;1409:467;:::o;1732:187:18:-;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:18;;;1732:187::o;2666:1095:22:-;3261:27;3269:5;-1:-1:-1;;;;;3261:25:22;;:27::i;:::-;3253:71;;;;;-1:-1:-1;;;3253:71:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:12;3409:23;3444:5;-1:-1:-1;;;;;3436:19:22;3456:4;3436:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3436:25:22;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3394:67:22;;;;3479:7;3471:52;;;;;-1:-1:-1;;;3471:52:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3538:17;;:21;3534:221;;3678:10;3667:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3667:30:22;3659:85;;;;-1:-1:-1;;;3659:85:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3718:338:18;3804:7;3904:12;3897:5;3889:28;;;;-1:-1:-1;;;3889:28:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3889:28:18;;3927:9;3943:1;3939;:5;;;;;;;3718:338;-1:-1:-1;;;;;3718:338:18:o;557:797:23:-;617:4;1265:20;;1110:66;1304:15;;;;;:42;;;1335:11;1323:8;:23;;1304:42;1296:51;557:797;-1:-1:-1;;;;557:797:23:o", + "source": "pragma solidity ^0.5.13;\n\nimport \"./SyscoinERC20Manager.sol\";\n\n// DONOT USE IN PRODUCTION\ncontract SyscoinERC20ManagerForTests is SyscoinERC20Manager {\n using SafeERC20 for SyscoinERC20I;\n // keyhash or scripthash for syscoinWitnessProgram\n function freezeBurnERC20(\n uint value,\n uint32 assetGUID,\n address erc20ContractAddress,\n uint8 precision,\n bytes memory\n )\n public\n minimumValue(erc20ContractAddress, value)\n returns (bool)\n {\n // commented out on purpose\n // require(syscoinAddress.length > 0, \"syscoinAddress cannot be zero\");\n\n // commented out on purpose\n // require(assetGUID > 0, \"Asset GUID must not be 0\");\n \n assetBalances[assetGUID] = assetBalances[assetGUID].add(value);\n\n SyscoinERC20I erc20 = SyscoinERC20I(erc20ContractAddress);\n require(precision == erc20.decimals(), \"Decimals were not provided with the correct value\");\n erc20.safeTransferFrom(msg.sender, address(this), value);\n emit TokenFreeze(msg.sender, value, 0);\n\n return true;\n }\n}\n", "sourcePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20ManagerForTests.sol", "ast": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20ManagerForTests.sol", "exportedSymbols": { "SyscoinERC20ManagerForTests": [ - 8659 + 9278 ] }, - "id": 8660, + "id": 9279, "nodeType": "SourceUnit", "nodes": [ { - "id": 8589, + "id": 9205, "literals": [ "solidity", "^", @@ -407,16 +482,16 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:14" + "src": "0:24:15" }, { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20Manager.sol", "file": "./SyscoinERC20Manager.sol", - "id": 8590, + "id": 9206, "nodeType": "ImportDirective", - "scope": 8660, - "sourceUnit": 8588, - "src": "26:35:14", + "scope": 9279, + "sourceUnit": 9204, + "src": "26:35:15", "symbolAliases": [], "unitAlias": "" }, @@ -426,47 +501,76 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 8591, + "id": 9207, "name": "SyscoinERC20Manager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8587, - "src": "130:19:14", + "referencedDeclaration": 9203, + "src": "130:19:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20Manager_$8587", + "typeIdentifier": "t_contract$_SyscoinERC20Manager_$9203", "typeString": "contract SyscoinERC20Manager" } }, - "id": 8592, + "id": 9208, "nodeType": "InheritanceSpecifier", - "src": "130:19:14" + "src": "130:19:15" } ], "contractDependencies": [ - 8587, - 8722 + 9203, + 9341 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 8659, + "id": 9278, "linearizedBaseContracts": [ - 8659, - 8587, - 8722 + 9278, + 9203, + 9341 ], "name": "SyscoinERC20ManagerForTests", "nodeType": "ContractDefinition", "nodes": [ + { + "id": 9211, + "libraryName": { + "contractScope": null, + "id": 9209, + "name": "SafeERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 10307, + "src": "162:9:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeERC20_$10307", + "typeString": "library SafeERC20" + } + }, + "nodeType": "UsingForDirective", + "src": "156:34:15", + "typeName": { + "contractScope": null, + "id": 9210, + "name": "SyscoinERC20I", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8109, + "src": "176:13:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" + } + } + }, { "body": { - "id": 8657, + "id": 9276, "nodeType": "Block", - "src": "465:605:14", + "src": "504:609:15", "statements": [ { "expression": { "argumentTypes": null, - "id": 8620, + "id": 9239, "isConstant": false, "isLValue": false, "isPure": false, @@ -475,26 +579,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8611, + "id": 9230, "name": "assetBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "700:13:14", + "referencedDeclaration": 8383, + "src": "739:13:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" } }, - "id": 8613, + "id": 9232, "indexExpression": { "argumentTypes": null, - "id": 8612, + "id": 9231, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8596, - "src": "714:9:14", + "referencedDeclaration": 9215, + "src": "753:9:15", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -505,7 +609,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "700:24:14", + "src": "739:24:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -518,12 +622,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8618, + "id": 9237, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8594, - "src": "756:5:14", + "referencedDeclaration": 9213, + "src": "795:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -541,26 +645,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8614, + "id": 9233, "name": "assetBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "727:13:14", + "referencedDeclaration": 8383, + "src": "766:13:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" } }, - "id": 8616, + "id": 9235, "indexExpression": { "argumentTypes": null, - "id": 8615, + "id": 9234, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8596, - "src": "741:9:14", + "referencedDeclaration": 9215, + "src": "780:9:15", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -571,27 +675,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "727:24:14", + "src": "766:24:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8617, + "id": 9236, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "727:28:14", + "referencedDeclaration": 9395, + "src": "766:28:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8619, + "id": 9238, "isConstant": false, "isLValue": false, "isPure": false, @@ -599,49 +703,49 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "727:35:14", + "src": "766:35:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "700:62:14", + "src": "739:62:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8621, + "id": 9240, "nodeType": "ExpressionStatement", - "src": "700:62:14" + "src": "739:62:15" }, { "assignments": [ - 8623 + 9242 ], "declarations": [ { "constant": false, - "id": 8623, + "id": 9242, "name": "erc20", "nodeType": "VariableDeclaration", - "scope": 8657, - "src": "773:19:14", + "scope": 9276, + "src": "812:19:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" }, "typeName": { "contractScope": null, - "id": 8622, + "id": 9241, "name": "SyscoinERC20I", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7608, - "src": "773:13:14", + "referencedDeclaration": 8109, + "src": "812:13:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, @@ -649,18 +753,18 @@ "visibility": "internal" } ], - "id": 8627, + "id": 9246, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8625, + "id": 9244, "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8598, - "src": "809:20:14", + "referencedDeclaration": 9217, + "src": "848:20:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -674,18 +778,18 @@ "typeString": "address" } ], - "id": 8624, + "id": 9243, "name": "SyscoinERC20I", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7608, - "src": "795:13:14", + "referencedDeclaration": 8109, + "src": "834:13:15", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$7608_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$8109_$", "typeString": "type(contract SyscoinERC20I)" } }, - "id": 8626, + "id": 9245, "isConstant": false, "isLValue": false, "isPure": false, @@ -693,14 +797,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "795:35:14", + "src": "834:35:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, "nodeType": "VariableDeclarationStatement", - "src": "773:57:14" + "src": "812:57:15" }, { "expression": { @@ -712,19 +816,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 8633, + "id": 9252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8629, + "id": 9248, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8600, - "src": "848:9:14", + "referencedDeclaration": 9219, + "src": "887:9:15", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -739,32 +843,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 8630, + "id": 9249, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8623, - "src": "861:5:14", + "referencedDeclaration": 9242, + "src": "900:5:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, - "id": 8631, + "id": 9250, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 7607, - "src": "861:14:14", + "referencedDeclaration": 8108, + "src": "900:14:15", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" } }, - "id": 8632, + "id": 9251, "isConstant": false, "isLValue": false, "isPure": false, @@ -772,13 +876,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "861:16:14", + "src": "900:16:15", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "848:29:14", + "src": "887:29:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -787,14 +891,14 @@ { "argumentTypes": null, "hexValue": "446563696d616c732077657265206e6f742070726f766964656420776974682074686520636f72726563742076616c7565", - "id": 8634, + "id": 9253, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "879:51:14", + "src": "918:51:15", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_07c3c35b3e4eeb831a6214ae55b4b048c49535a47a1ebfcb2528c95a96e7290e", @@ -814,21 +918,21 @@ "typeString": "literal_string \"Decimals were not provided with the correct value\"" } ], - "id": 8628, + "id": 9247, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "840:7:14", + "referencedDeclaration": 11102, + "src": "879:7:15", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8635, + "id": 9254, "isConstant": false, "isLValue": false, "isPure": false, @@ -836,15 +940,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "840:91:14", + "src": "879:91:15", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8636, + "id": 9255, "nodeType": "ExpressionStatement", - "src": "840:91:14" + "src": "879:91:15" }, { "expression": { @@ -854,18 +958,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8640, + "id": 9259, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "960:3:14", + "referencedDeclaration": 11098, + "src": "1003:3:15", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8641, + "id": 9260, "isConstant": false, "isLValue": false, "isPure": false, @@ -873,7 +977,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "960:10:14", + "src": "1003:10:15", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -884,14 +988,14 @@ "arguments": [ { "argumentTypes": null, - "id": 8643, + "id": 9262, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10240, - "src": "980:4:14", + "referencedDeclaration": 11160, + "src": "1023:4:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20ManagerForTests_$8659", + "typeIdentifier": "t_contract$_SyscoinERC20ManagerForTests_$9278", "typeString": "contract SyscoinERC20ManagerForTests" } } @@ -899,24 +1003,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinERC20ManagerForTests_$8659", + "typeIdentifier": "t_contract$_SyscoinERC20ManagerForTests_$9278", "typeString": "contract SyscoinERC20ManagerForTests" } ], - "id": 8642, + "id": 9261, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "972:7:14", + "src": "1015:7:15", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 8644, + "id": 9263, "isConstant": false, "isLValue": false, "isPure": false, @@ -924,7 +1028,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "972:13:14", + "src": "1015:13:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -932,12 +1036,12 @@ }, { "argumentTypes": null, - "id": 8645, + "id": 9264, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8594, - "src": "987:5:14", + "referencedDeclaration": 9213, + "src": "1030:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -961,32 +1065,32 @@ ], "expression": { "argumentTypes": null, - "id": 8637, + "id": 9256, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8623, - "src": "941:5:14", + "referencedDeclaration": 9242, + "src": "980:5:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, - "id": 8639, + "id": 9258, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "transferFrom", + "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 9451, - "src": "941:18:14", + "referencedDeclaration": 10145, + "src": "980:22:15", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10087_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10087_$", + "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 8646, + "id": 9265, "isConstant": false, "isLValue": false, "isPure": false, @@ -994,15 +1098,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "941:52:14", + "src": "980:56:15", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8647, + "id": 9266, "nodeType": "ExpressionStatement", - "src": "941:52:14" + "src": "980:56:15" }, { "eventCall": { @@ -1012,18 +1116,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8649, + "id": 9268, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1020:3:14", + "referencedDeclaration": 11098, + "src": "1063:3:15", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8650, + "id": 9269, "isConstant": false, "isLValue": false, "isPure": false, @@ -1031,7 +1135,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1020:10:14", + "src": "1063:10:15", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1039,12 +1143,12 @@ }, { "argumentTypes": null, - "id": 8651, + "id": 9270, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8594, - "src": "1032:5:14", + "referencedDeclaration": 9213, + "src": "1075:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1053,14 +1157,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8652, + "id": 9271, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1039:1:14", + "src": "1082:1:15", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1084,18 +1188,18 @@ "typeString": "int_const 0" } ], - "id": 8648, + "id": 9267, "name": "TokenFreeze", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7921, - "src": "1008:11:14", + "referencedDeclaration": 8442, + "src": "1051:11:15", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint32_$returns$__$", "typeString": "function (address,uint256,uint32)" } }, - "id": 8653, + "id": 9272, "isConstant": false, "isLValue": false, "isPure": false, @@ -1103,28 +1207,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1008:33:14", + "src": "1051:33:15", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8654, + "id": 9273, "nodeType": "EmitStatement", - "src": "1003:38:14" + "src": "1046:38:15" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 8655, + "id": 9274, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1059:4:14", + "src": "1102:4:15", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1132,15 +1236,15 @@ }, "value": "true" }, - "functionReturnParameters": 8610, - "id": 8656, + "functionReturnParameters": 9229, + "id": 9275, "nodeType": "Return", - "src": "1052:11:14" + "src": "1095:11:15" } ] }, "documentation": null, - "id": 8658, + "id": 9277, "implemented": true, "kind": "function", "modifiers": [ @@ -1148,12 +1252,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8605, + "id": 9224, "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8598, - "src": "409:20:14", + "referencedDeclaration": 9217, + "src": "448:20:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1161,49 +1265,49 @@ }, { "argumentTypes": null, - "id": 8606, + "id": 9225, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8594, - "src": "431:5:14", + "referencedDeclaration": 9213, + "src": "470:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8607, + "id": 9226, "modifierName": { "argumentTypes": null, - "id": 8604, + "id": 9223, "name": "minimumValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8038, - "src": "396:12:14", + "referencedDeclaration": 8577, + "src": "435:12:15", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$_t_uint256_$", "typeString": "modifier (address,uint256)" } }, "nodeType": "ModifierInvocation", - "src": "396:41:14" + "src": "435:41:15" } ], "name": "freezeBurnERC20", "nodeType": "FunctionDefinition", "parameters": { - "id": 8603, + "id": 9222, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8594, + "id": 9213, "name": "value", "nodeType": "VariableDeclaration", - "scope": 8658, - "src": "245:10:14", + "scope": 9277, + "src": "284:10:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1211,10 +1315,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8593, + "id": 9212, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "245:4:14", + "src": "284:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1225,11 +1329,11 @@ }, { "constant": false, - "id": 8596, + "id": 9215, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 8658, - "src": "265:16:14", + "scope": 9277, + "src": "304:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1237,10 +1341,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8595, + "id": 9214, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "265:6:14", + "src": "304:6:15", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1251,11 +1355,11 @@ }, { "constant": false, - "id": 8598, + "id": 9217, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 8658, - "src": "291:28:14", + "scope": 9277, + "src": "330:28:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1263,10 +1367,10 @@ "typeString": "address" }, "typeName": { - "id": 8597, + "id": 9216, "name": "address", "nodeType": "ElementaryTypeName", - "src": "291:7:14", + "src": "330:7:15", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1278,11 +1382,11 @@ }, { "constant": false, - "id": 8600, + "id": 9219, "name": "precision", "nodeType": "VariableDeclaration", - "scope": 8658, - "src": "329:15:14", + "scope": 9277, + "src": "368:15:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1290,10 +1394,10 @@ "typeString": "uint8" }, "typeName": { - "id": 8599, + "id": 9218, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "329:5:14", + "src": "368:5:15", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1304,11 +1408,11 @@ }, { "constant": false, - "id": 8602, + "id": 9221, "name": "", "nodeType": "VariableDeclaration", - "scope": 8658, - "src": "354:12:14", + "scope": 9277, + "src": "393:12:15", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1316,10 +1420,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8601, + "id": 9220, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "354:5:14", + "src": "393:5:15", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1329,19 +1433,19 @@ "visibility": "internal" } ], - "src": "235:137:14" + "src": "274:137:15" }, "returnParameters": { - "id": 8610, + "id": 9229, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8609, + "id": 9228, "name": "", "nodeType": "VariableDeclaration", - "scope": 8658, - "src": "455:4:14", + "scope": 9277, + "src": "494:4:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1349,10 +1453,10 @@ "typeString": "bool" }, "typeName": { - "id": 8608, + "id": 9227, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "455:4:14", + "src": "494:4:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1362,33 +1466,33 @@ "visibility": "internal" } ], - "src": "454:6:14" + "src": "493:6:15" }, - "scope": 8659, - "src": "211:859:14", + "scope": 9278, + "src": "250:863:15", "stateMutability": "nonpayable", - "superFunction": 8548, + "superFunction": 9164, "visibility": "public" } ], - "scope": 8660, - "src": "90:982:14" + "scope": 9279, + "src": "90:1025:15" } ], - "src": "0:1073:14" + "src": "0:1116:15" }, "legacyAST": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20ManagerForTests.sol", "exportedSymbols": { "SyscoinERC20ManagerForTests": [ - 8659 + 9278 ] }, - "id": 8660, + "id": 9279, "nodeType": "SourceUnit", "nodes": [ { - "id": 8589, + "id": 9205, "literals": [ "solidity", "^", @@ -1396,16 +1500,16 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:14" + "src": "0:24:15" }, { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/token/SyscoinERC20Manager.sol", "file": "./SyscoinERC20Manager.sol", - "id": 8590, + "id": 9206, "nodeType": "ImportDirective", - "scope": 8660, - "sourceUnit": 8588, - "src": "26:35:14", + "scope": 9279, + "sourceUnit": 9204, + "src": "26:35:15", "symbolAliases": [], "unitAlias": "" }, @@ -1415,47 +1519,76 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 8591, + "id": 9207, "name": "SyscoinERC20Manager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8587, - "src": "130:19:14", + "referencedDeclaration": 9203, + "src": "130:19:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20Manager_$8587", + "typeIdentifier": "t_contract$_SyscoinERC20Manager_$9203", "typeString": "contract SyscoinERC20Manager" } }, - "id": 8592, + "id": 9208, "nodeType": "InheritanceSpecifier", - "src": "130:19:14" + "src": "130:19:15" } ], "contractDependencies": [ - 8587, - 8722 + 9203, + 9341 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 8659, + "id": 9278, "linearizedBaseContracts": [ - 8659, - 8587, - 8722 + 9278, + 9203, + 9341 ], "name": "SyscoinERC20ManagerForTests", "nodeType": "ContractDefinition", "nodes": [ + { + "id": 9211, + "libraryName": { + "contractScope": null, + "id": 9209, + "name": "SafeERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 10307, + "src": "162:9:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeERC20_$10307", + "typeString": "library SafeERC20" + } + }, + "nodeType": "UsingForDirective", + "src": "156:34:15", + "typeName": { + "contractScope": null, + "id": 9210, + "name": "SyscoinERC20I", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8109, + "src": "176:13:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", + "typeString": "contract SyscoinERC20I" + } + } + }, { "body": { - "id": 8657, + "id": 9276, "nodeType": "Block", - "src": "465:605:14", + "src": "504:609:15", "statements": [ { "expression": { "argumentTypes": null, - "id": 8620, + "id": 9239, "isConstant": false, "isLValue": false, "isPure": false, @@ -1464,26 +1597,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8611, + "id": 9230, "name": "assetBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "700:13:14", + "referencedDeclaration": 8383, + "src": "739:13:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" } }, - "id": 8613, + "id": 9232, "indexExpression": { "argumentTypes": null, - "id": 8612, + "id": 9231, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8596, - "src": "714:9:14", + "referencedDeclaration": 9215, + "src": "753:9:15", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1494,7 +1627,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "700:24:14", + "src": "739:24:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1507,12 +1640,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8618, + "id": 9237, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8594, - "src": "756:5:14", + "referencedDeclaration": 9213, + "src": "795:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1530,26 +1663,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8614, + "id": 9233, "name": "assetBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7862, - "src": "727:13:14", + "referencedDeclaration": 8383, + "src": "766:13:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint32_$_t_uint256_$", "typeString": "mapping(uint32 => uint256)" } }, - "id": 8616, + "id": 9235, "indexExpression": { "argumentTypes": null, - "id": 8615, + "id": 9234, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8596, - "src": "741:9:14", + "referencedDeclaration": 9215, + "src": "780:9:15", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1560,27 +1693,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "727:24:14", + "src": "766:24:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8617, + "id": 9236, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 8776, - "src": "727:28:14", + "referencedDeclaration": 9395, + "src": "766:28:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8619, + "id": 9238, "isConstant": false, "isLValue": false, "isPure": false, @@ -1588,49 +1721,49 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "727:35:14", + "src": "766:35:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "700:62:14", + "src": "739:62:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8621, + "id": 9240, "nodeType": "ExpressionStatement", - "src": "700:62:14" + "src": "739:62:15" }, { "assignments": [ - 8623 + 9242 ], "declarations": [ { "constant": false, - "id": 8623, + "id": 9242, "name": "erc20", "nodeType": "VariableDeclaration", - "scope": 8657, - "src": "773:19:14", + "scope": 9276, + "src": "812:19:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" }, "typeName": { "contractScope": null, - "id": 8622, + "id": 9241, "name": "SyscoinERC20I", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7608, - "src": "773:13:14", + "referencedDeclaration": 8109, + "src": "812:13:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, @@ -1638,18 +1771,18 @@ "visibility": "internal" } ], - "id": 8627, + "id": 9246, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8625, + "id": 9244, "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8598, - "src": "809:20:14", + "referencedDeclaration": 9217, + "src": "848:20:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1663,18 +1796,18 @@ "typeString": "address" } ], - "id": 8624, + "id": 9243, "name": "SyscoinERC20I", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7608, - "src": "795:13:14", + "referencedDeclaration": 8109, + "src": "834:13:15", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$7608_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinERC20I_$8109_$", "typeString": "type(contract SyscoinERC20I)" } }, - "id": 8626, + "id": 9245, "isConstant": false, "isLValue": false, "isPure": false, @@ -1682,14 +1815,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "795:35:14", + "src": "834:35:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, "nodeType": "VariableDeclarationStatement", - "src": "773:57:14" + "src": "812:57:15" }, { "expression": { @@ -1701,19 +1834,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 8633, + "id": 9252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8629, + "id": 9248, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8600, - "src": "848:9:14", + "referencedDeclaration": 9219, + "src": "887:9:15", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1728,32 +1861,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 8630, + "id": 9249, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8623, - "src": "861:5:14", + "referencedDeclaration": 9242, + "src": "900:5:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, - "id": 8631, + "id": 9250, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 7607, - "src": "861:14:14", + "referencedDeclaration": 8108, + "src": "900:14:15", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" } }, - "id": 8632, + "id": 9251, "isConstant": false, "isLValue": false, "isPure": false, @@ -1761,13 +1894,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "861:16:14", + "src": "900:16:15", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "848:29:14", + "src": "887:29:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1776,14 +1909,14 @@ { "argumentTypes": null, "hexValue": "446563696d616c732077657265206e6f742070726f766964656420776974682074686520636f72726563742076616c7565", - "id": 8634, + "id": 9253, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "879:51:14", + "src": "918:51:15", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_07c3c35b3e4eeb831a6214ae55b4b048c49535a47a1ebfcb2528c95a96e7290e", @@ -1803,21 +1936,21 @@ "typeString": "literal_string \"Decimals were not provided with the correct value\"" } ], - "id": 8628, + "id": 9247, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "840:7:14", + "referencedDeclaration": 11102, + "src": "879:7:15", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8635, + "id": 9254, "isConstant": false, "isLValue": false, "isPure": false, @@ -1825,15 +1958,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "840:91:14", + "src": "879:91:15", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8636, + "id": 9255, "nodeType": "ExpressionStatement", - "src": "840:91:14" + "src": "879:91:15" }, { "expression": { @@ -1843,18 +1976,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8640, + "id": 9259, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "960:3:14", + "referencedDeclaration": 11098, + "src": "1003:3:15", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8641, + "id": 9260, "isConstant": false, "isLValue": false, "isPure": false, @@ -1862,7 +1995,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "960:10:14", + "src": "1003:10:15", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1873,14 +2006,14 @@ "arguments": [ { "argumentTypes": null, - "id": 8643, + "id": 9262, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10240, - "src": "980:4:14", + "referencedDeclaration": 11160, + "src": "1023:4:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20ManagerForTests_$8659", + "typeIdentifier": "t_contract$_SyscoinERC20ManagerForTests_$9278", "typeString": "contract SyscoinERC20ManagerForTests" } } @@ -1888,24 +2021,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinERC20ManagerForTests_$8659", + "typeIdentifier": "t_contract$_SyscoinERC20ManagerForTests_$9278", "typeString": "contract SyscoinERC20ManagerForTests" } ], - "id": 8642, + "id": 9261, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "972:7:14", + "src": "1015:7:15", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 8644, + "id": 9263, "isConstant": false, "isLValue": false, "isPure": false, @@ -1913,7 +2046,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "972:13:14", + "src": "1015:13:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1921,12 +2054,12 @@ }, { "argumentTypes": null, - "id": 8645, + "id": 9264, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8594, - "src": "987:5:14", + "referencedDeclaration": 9213, + "src": "1030:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1950,32 +2083,32 @@ ], "expression": { "argumentTypes": null, - "id": 8637, + "id": 9256, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8623, - "src": "941:5:14", + "referencedDeclaration": 9242, + "src": "980:5:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinERC20I_$7608", + "typeIdentifier": "t_contract$_SyscoinERC20I_$8109", "typeString": "contract SyscoinERC20I" } }, - "id": 8639, + "id": 9258, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "transferFrom", + "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 9451, - "src": "941:18:14", + "referencedDeclaration": 10145, + "src": "980:22:15", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10087_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10087_$", + "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 8646, + "id": 9265, "isConstant": false, "isLValue": false, "isPure": false, @@ -1983,15 +2116,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "941:52:14", + "src": "980:56:15", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8647, + "id": 9266, "nodeType": "ExpressionStatement", - "src": "941:52:14" + "src": "980:56:15" }, { "eventCall": { @@ -2001,18 +2134,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8649, + "id": 9268, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1020:3:14", + "referencedDeclaration": 11098, + "src": "1063:3:15", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8650, + "id": 9269, "isConstant": false, "isLValue": false, "isPure": false, @@ -2020,7 +2153,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1020:10:14", + "src": "1063:10:15", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2028,12 +2161,12 @@ }, { "argumentTypes": null, - "id": 8651, + "id": 9270, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8594, - "src": "1032:5:14", + "referencedDeclaration": 9213, + "src": "1075:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2042,14 +2175,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8652, + "id": 9271, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1039:1:14", + "src": "1082:1:15", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2073,18 +2206,18 @@ "typeString": "int_const 0" } ], - "id": 8648, + "id": 9267, "name": "TokenFreeze", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7921, - "src": "1008:11:14", + "referencedDeclaration": 8442, + "src": "1051:11:15", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint32_$returns$__$", "typeString": "function (address,uint256,uint32)" } }, - "id": 8653, + "id": 9272, "isConstant": false, "isLValue": false, "isPure": false, @@ -2092,28 +2225,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1008:33:14", + "src": "1051:33:15", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8654, + "id": 9273, "nodeType": "EmitStatement", - "src": "1003:38:14" + "src": "1046:38:15" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 8655, + "id": 9274, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1059:4:14", + "src": "1102:4:15", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2121,15 +2254,15 @@ }, "value": "true" }, - "functionReturnParameters": 8610, - "id": 8656, + "functionReturnParameters": 9229, + "id": 9275, "nodeType": "Return", - "src": "1052:11:14" + "src": "1095:11:15" } ] }, "documentation": null, - "id": 8658, + "id": 9277, "implemented": true, "kind": "function", "modifiers": [ @@ -2137,12 +2270,12 @@ "arguments": [ { "argumentTypes": null, - "id": 8605, + "id": 9224, "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8598, - "src": "409:20:14", + "referencedDeclaration": 9217, + "src": "448:20:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2150,49 +2283,49 @@ }, { "argumentTypes": null, - "id": 8606, + "id": 9225, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8594, - "src": "431:5:14", + "referencedDeclaration": 9213, + "src": "470:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8607, + "id": 9226, "modifierName": { "argumentTypes": null, - "id": 8604, + "id": 9223, "name": "minimumValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8038, - "src": "396:12:14", + "referencedDeclaration": 8577, + "src": "435:12:15", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$_t_uint256_$", "typeString": "modifier (address,uint256)" } }, "nodeType": "ModifierInvocation", - "src": "396:41:14" + "src": "435:41:15" } ], "name": "freezeBurnERC20", "nodeType": "FunctionDefinition", "parameters": { - "id": 8603, + "id": 9222, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8594, + "id": 9213, "name": "value", "nodeType": "VariableDeclaration", - "scope": 8658, - "src": "245:10:14", + "scope": 9277, + "src": "284:10:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2200,10 +2333,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8593, + "id": 9212, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "245:4:14", + "src": "284:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2214,11 +2347,11 @@ }, { "constant": false, - "id": 8596, + "id": 9215, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 8658, - "src": "265:16:14", + "scope": 9277, + "src": "304:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2226,10 +2359,10 @@ "typeString": "uint32" }, "typeName": { - "id": 8595, + "id": 9214, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "265:6:14", + "src": "304:6:15", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2240,11 +2373,11 @@ }, { "constant": false, - "id": 8598, + "id": 9217, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 8658, - "src": "291:28:14", + "scope": 9277, + "src": "330:28:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2252,10 +2385,10 @@ "typeString": "address" }, "typeName": { - "id": 8597, + "id": 9216, "name": "address", "nodeType": "ElementaryTypeName", - "src": "291:7:14", + "src": "330:7:15", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2267,11 +2400,11 @@ }, { "constant": false, - "id": 8600, + "id": 9219, "name": "precision", "nodeType": "VariableDeclaration", - "scope": 8658, - "src": "329:15:14", + "scope": 9277, + "src": "368:15:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2279,10 +2412,10 @@ "typeString": "uint8" }, "typeName": { - "id": 8599, + "id": 9218, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "329:5:14", + "src": "368:5:15", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2293,11 +2426,11 @@ }, { "constant": false, - "id": 8602, + "id": 9221, "name": "", "nodeType": "VariableDeclaration", - "scope": 8658, - "src": "354:12:14", + "scope": 9277, + "src": "393:12:15", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2305,10 +2438,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8601, + "id": 9220, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "354:5:14", + "src": "393:5:15", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2318,19 +2451,19 @@ "visibility": "internal" } ], - "src": "235:137:14" + "src": "274:137:15" }, "returnParameters": { - "id": 8610, + "id": 9229, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8609, + "id": 9228, "name": "", "nodeType": "VariableDeclaration", - "scope": 8658, - "src": "455:4:14", + "scope": 9277, + "src": "494:4:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2338,10 +2471,10 @@ "typeString": "bool" }, "typeName": { - "id": 8608, + "id": 9227, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "455:4:14", + "src": "494:4:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2351,28 +2484,28 @@ "visibility": "internal" } ], - "src": "454:6:14" + "src": "493:6:15" }, - "scope": 8659, - "src": "211:859:14", + "scope": 9278, + "src": "250:863:15", "stateMutability": "nonpayable", - "superFunction": 8548, + "superFunction": 9164, "visibility": "public" } ], - "scope": 8660, - "src": "90:982:14" + "scope": 9279, + "src": "90:1025:15" } ], - "src": "0:1073:14" + "src": "0:1116:15" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.581Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.468Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/SyscoinErrorCodes.json b/build/contracts/SyscoinErrorCodes.json index adad317..ce63c8c 100644 --- a/build/contracts/SyscoinErrorCodes.json +++ b/build/contracts/SyscoinErrorCodes.json @@ -28,14 +28,14 @@ "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinErrorCodes.sol", "exportedSymbols": { "SyscoinErrorCodes": [ - 4677 + 4686 ] }, - "id": 4678, + "id": 4687, "nodeType": "SourceUnit", "nodes": [ { - "id": 4472, + "id": 4481, "literals": [ "solidity", "^", @@ -51,19 +51,19 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 4677, + "id": 4686, "linearizedBaseContracts": [ - 4677 + 4686 ], "name": "SyscoinErrorCodes", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 4475, + "id": 4484, "name": "ERR_INVALID_HEADER", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "119:40:4", "stateVariable": true, "storageLocation": "default", @@ -72,7 +72,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4473, + "id": 4482, "name": "uint", "nodeType": "ElementaryTypeName", "src": "119:4:4", @@ -84,7 +84,7 @@ "value": { "argumentTypes": null, "hexValue": "3130303530", - "id": 4474, + "id": 4483, "isConstant": false, "isLValue": false, "isPure": true, @@ -103,10 +103,10 @@ }, { "constant": true, - "id": 4478, + "id": 4487, "name": "ERR_COINBASE_INDEX", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "165:40:4", "stateVariable": true, "storageLocation": "default", @@ -115,7 +115,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4476, + "id": 4485, "name": "uint", "nodeType": "ElementaryTypeName", "src": "165:4:4", @@ -127,7 +127,7 @@ "value": { "argumentTypes": null, "hexValue": "3130303630", - "id": 4477, + "id": 4486, "isConstant": false, "isLValue": false, "isPure": true, @@ -146,10 +146,10 @@ }, { "constant": true, - "id": 4481, + "id": 4490, "name": "ERR_NOT_MERGE_MINED", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "262:41:4", "stateVariable": true, "storageLocation": "default", @@ -158,7 +158,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4479, + "id": 4488, "name": "uint", "nodeType": "ElementaryTypeName", "src": "262:4:4", @@ -170,7 +170,7 @@ "value": { "argumentTypes": null, "hexValue": "3130303730", - "id": 4480, + "id": 4489, "isConstant": false, "isLValue": false, "isPure": true, @@ -189,10 +189,10 @@ }, { "constant": true, - "id": 4484, + "id": 4493, "name": "ERR_FOUND_TWICE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "370:37:4", "stateVariable": true, "storageLocation": "default", @@ -201,7 +201,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4482, + "id": 4491, "name": "uint", "nodeType": "ElementaryTypeName", "src": "370:4:4", @@ -213,7 +213,7 @@ "value": { "argumentTypes": null, "hexValue": "3130303830", - "id": 4483, + "id": 4492, "isConstant": false, "isLValue": false, "isPure": true, @@ -232,10 +232,10 @@ }, { "constant": true, - "id": 4487, + "id": 4496, "name": "ERR_NO_MERGE_HEADER", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "439:41:4", "stateVariable": true, "storageLocation": "default", @@ -244,7 +244,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4485, + "id": 4494, "name": "uint", "nodeType": "ElementaryTypeName", "src": "439:4:4", @@ -256,7 +256,7 @@ "value": { "argumentTypes": null, "hexValue": "3130303930", - "id": 4486, + "id": 4495, "isConstant": false, "isLValue": false, "isPure": true, @@ -275,10 +275,10 @@ }, { "constant": true, - "id": 4490, + "id": 4499, "name": "ERR_CHAIN_MERKLE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "510:38:4", "stateVariable": true, "storageLocation": "default", @@ -287,7 +287,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4488, + "id": 4497, "name": "uint", "nodeType": "ElementaryTypeName", "src": "510:4:4", @@ -299,7 +299,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313130", - "id": 4489, + "id": 4498, "isConstant": false, "isLValue": false, "isPure": true, @@ -318,10 +318,10 @@ }, { "constant": true, - "id": 4493, + "id": 4502, "name": "ERR_PARENT_MERKLE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "554:39:4", "stateVariable": true, "storageLocation": "default", @@ -330,7 +330,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4491, + "id": 4500, "name": "uint", "nodeType": "ElementaryTypeName", "src": "554:4:4", @@ -342,7 +342,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313230", - "id": 4492, + "id": 4501, "isConstant": false, "isLValue": false, "isPure": true, @@ -361,10 +361,10 @@ }, { "constant": true, - "id": 4496, + "id": 4505, "name": "ERR_PROOF_OF_WORK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "599:39:4", "stateVariable": true, "storageLocation": "default", @@ -373,7 +373,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4494, + "id": 4503, "name": "uint", "nodeType": "ElementaryTypeName", "src": "599:4:4", @@ -385,7 +385,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313330", - "id": 4495, + "id": 4504, "isConstant": false, "isLValue": false, "isPure": true, @@ -404,10 +404,10 @@ }, { "constant": true, - "id": 4499, + "id": 4508, "name": "ERR_INVALID_HEADER_HASH", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "644:45:4", "stateVariable": true, "storageLocation": "default", @@ -416,7 +416,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4497, + "id": 4506, "name": "uint", "nodeType": "ElementaryTypeName", "src": "644:4:4", @@ -428,7 +428,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313430", - "id": 4498, + "id": 4507, "isConstant": false, "isLValue": false, "isPure": true, @@ -447,10 +447,10 @@ }, { "constant": true, - "id": 4502, + "id": 4511, "name": "ERR_PROOF_OF_WORK_AUXPOW", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "695:46:4", "stateVariable": true, "storageLocation": "default", @@ -459,7 +459,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4500, + "id": 4509, "name": "uint", "nodeType": "ElementaryTypeName", "src": "695:4:4", @@ -471,7 +471,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313530", - "id": 4501, + "id": 4510, "isConstant": false, "isLValue": false, "isPure": true, @@ -490,10 +490,10 @@ }, { "constant": true, - "id": 4505, + "id": 4514, "name": "ERR_PARSE_TX_OUTPUT_LENGTH", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "747:48:4", "stateVariable": true, "storageLocation": "default", @@ -502,7 +502,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4503, + "id": 4512, "name": "uint", "nodeType": "ElementaryTypeName", "src": "747:4:4", @@ -514,7 +514,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313630", - "id": 4504, + "id": 4513, "isConstant": false, "isLValue": false, "isPure": true, @@ -533,10 +533,10 @@ }, { "constant": true, - "id": 4508, + "id": 4517, "name": "ERR_SUPERBLOCK_OK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "803:35:4", "stateVariable": true, "storageLocation": "default", @@ -545,7 +545,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4506, + "id": 4515, "name": "uint", "nodeType": "ElementaryTypeName", "src": "803:4:4", @@ -557,7 +557,7 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 4507, + "id": 4516, "isConstant": false, "isLValue": false, "isPure": true, @@ -576,10 +576,10 @@ }, { "constant": true, - "id": 4511, + "id": 4520, "name": "ERR_SUPERBLOCK_MISSING_BLOCKS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "844:47:4", "stateVariable": true, "storageLocation": "default", @@ -588,7 +588,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4509, + "id": 4518, "name": "uint", "nodeType": "ElementaryTypeName", "src": "844:4:4", @@ -600,7 +600,7 @@ "value": { "argumentTypes": null, "hexValue": "31", - "id": 4510, + "id": 4519, "isConstant": false, "isLValue": false, "isPure": true, @@ -619,10 +619,10 @@ }, { "constant": true, - "id": 4514, + "id": 4523, "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "897:47:4", "stateVariable": true, "storageLocation": "default", @@ -631,7 +631,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4512, + "id": 4521, "name": "uint", "nodeType": "ElementaryTypeName", "src": "897:4:4", @@ -643,7 +643,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303230", - "id": 4513, + "id": 4522, "isConstant": false, "isLValue": false, "isPure": true, @@ -662,10 +662,10 @@ }, { "constant": true, - "id": 4517, + "id": 4526, "name": "ERR_SUPERBLOCK_BAD_SYSCOIN_STATUS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "950:55:4", "stateVariable": true, "storageLocation": "default", @@ -674,7 +674,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4515, + "id": 4524, "name": "uint", "nodeType": "ElementaryTypeName", "src": "950:4:4", @@ -686,7 +686,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303235", - "id": 4516, + "id": 4525, "isConstant": false, "isLValue": false, "isPure": true, @@ -705,10 +705,10 @@ }, { "constant": true, - "id": 4520, + "id": 4529, "name": "ERR_SUPERBLOCK_TIMEOUT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1011:44:4", "stateVariable": true, "storageLocation": "default", @@ -717,7 +717,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4518, + "id": 4527, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1011:4:4", @@ -729,7 +729,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303236", - "id": 4519, + "id": 4528, "isConstant": false, "isLValue": false, "isPure": true, @@ -748,10 +748,10 @@ }, { "constant": true, - "id": 4523, + "id": 4532, "name": "ERR_SUPERBLOCK_NO_TIMEOUT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1061:47:4", "stateVariable": true, "storageLocation": "default", @@ -760,7 +760,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4521, + "id": 4530, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1061:4:4", @@ -772,7 +772,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303330", - "id": 4522, + "id": 4531, "isConstant": false, "isLValue": false, "isPure": true, @@ -791,10 +791,10 @@ }, { "constant": true, - "id": 4526, + "id": 4535, "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1114:50:4", "stateVariable": true, "storageLocation": "default", @@ -803,7 +803,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4524, + "id": 4533, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1114:4:4", @@ -815,7 +815,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303335", - "id": 4525, + "id": 4534, "isConstant": false, "isLValue": false, "isPure": true, @@ -834,10 +834,10 @@ }, { "constant": true, - "id": 4529, + "id": 4538, "name": "ERR_SUPERBLOCK_INVALID_TIMESTAMP", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1170:54:4", "stateVariable": true, "storageLocation": "default", @@ -846,7 +846,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4527, + "id": 4536, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1170:4:4", @@ -858,7 +858,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303336", - "id": 4528, + "id": 4537, "isConstant": false, "isLValue": false, "isPure": true, @@ -877,10 +877,10 @@ }, { "constant": true, - "id": 4532, + "id": 4541, "name": "ERR_SUPERBLOCK_INVALID_MERKLE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1230:51:4", "stateVariable": true, "storageLocation": "default", @@ -889,7 +889,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4530, + "id": 4539, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1230:4:4", @@ -901,7 +901,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303338", - "id": 4531, + "id": 4540, "isConstant": false, "isLValue": false, "isPure": true, @@ -920,10 +920,10 @@ }, { "constant": true, - "id": 4535, + "id": 4544, "name": "ERR_SUPERBLOCK_BAD_PARENT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1402:47:4", "stateVariable": true, "storageLocation": "default", @@ -932,7 +932,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4533, + "id": 4542, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1402:4:4", @@ -944,7 +944,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303430", - "id": 4534, + "id": 4543, "isConstant": false, "isLValue": false, "isPure": true, @@ -963,10 +963,10 @@ }, { "constant": true, - "id": 4538, + "id": 4547, "name": "ERR_SUPERBLOCK_BAD_PARENT_UNINITIALIZED", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1455:61:4", "stateVariable": true, "storageLocation": "default", @@ -975,7 +975,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4536, + "id": 4545, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1455:4:4", @@ -987,7 +987,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303430", - "id": 4537, + "id": 4546, "isConstant": false, "isLValue": false, "isPure": true, @@ -1006,10 +1006,10 @@ }, { "constant": true, - "id": 4541, + "id": 4550, "name": "ERR_SUPERBLOCK_BAD_PARENT_NEW", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1522:51:4", "stateVariable": true, "storageLocation": "default", @@ -1018,7 +1018,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4539, + "id": 4548, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1522:4:4", @@ -1030,7 +1030,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303431", - "id": 4540, + "id": 4549, "isConstant": false, "isLValue": false, "isPure": true, @@ -1049,10 +1049,10 @@ }, { "constant": true, - "id": 4544, + "id": 4553, "name": "ERR_SUPERBLOCK_BAD_PARENT_INBATTLE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1579:56:4", "stateVariable": true, "storageLocation": "default", @@ -1061,7 +1061,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4542, + "id": 4551, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1579:4:4", @@ -1073,7 +1073,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303432", - "id": 4543, + "id": 4552, "isConstant": false, "isLValue": false, "isPure": true, @@ -1092,10 +1092,10 @@ }, { "constant": true, - "id": 4547, + "id": 4556, "name": "ERR_SUPERBLOCK_BAD_PARENT_INVALID", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1641:55:4", "stateVariable": true, "storageLocation": "default", @@ -1104,7 +1104,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4545, + "id": 4554, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1641:4:4", @@ -1116,7 +1116,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303435", - "id": 4546, + "id": 4555, "isConstant": false, "isLValue": false, "isPure": true, @@ -1135,10 +1135,10 @@ }, { "constant": true, - "id": 4550, + "id": 4559, "name": "ERR_SUPERBLOCK_OWN_CHALLENGE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1703:50:4", "stateVariable": true, "storageLocation": "default", @@ -1147,7 +1147,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4548, + "id": 4557, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1703:4:4", @@ -1159,7 +1159,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303535", - "id": 4549, + "id": 4558, "isConstant": false, "isLValue": false, "isPure": true, @@ -1178,10 +1178,10 @@ }, { "constant": true, - "id": 4553, + "id": 4562, "name": "ERR_SUPERBLOCK_BAD_PREV_TIMESTAMP", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1759:55:4", "stateVariable": true, "storageLocation": "default", @@ -1190,7 +1190,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4551, + "id": 4560, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1759:4:4", @@ -1202,7 +1202,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303536", - "id": 4552, + "id": 4561, "isConstant": false, "isLValue": false, "isPure": true, @@ -1221,10 +1221,10 @@ }, { "constant": true, - "id": 4556, + "id": 4565, "name": "ERR_SUPERBLOCK_BITS_SUPERBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1820:52:4", "stateVariable": true, "storageLocation": "default", @@ -1233,7 +1233,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4554, + "id": 4563, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1820:4:4", @@ -1245,7 +1245,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303537", - "id": 4555, + "id": 4564, "isConstant": false, "isLValue": false, "isPure": true, @@ -1264,10 +1264,10 @@ }, { "constant": true, - "id": 4559, + "id": 4568, "name": "ERR_SUPERBLOCK_BITS_PREVBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1878:51:4", "stateVariable": true, "storageLocation": "default", @@ -1276,7 +1276,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4557, + "id": 4566, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1878:4:4", @@ -1288,7 +1288,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303538", - "id": 4558, + "id": 4567, "isConstant": false, "isLValue": false, "isPure": true, @@ -1307,10 +1307,10 @@ }, { "constant": true, - "id": 4562, + "id": 4571, "name": "ERR_SUPERBLOCK_HASH_SUPERBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1935:52:4", "stateVariable": true, "storageLocation": "default", @@ -1319,7 +1319,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4560, + "id": 4569, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1935:4:4", @@ -1331,7 +1331,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303539", - "id": 4561, + "id": 4570, "isConstant": false, "isLValue": false, "isPure": true, @@ -1350,10 +1350,10 @@ }, { "constant": true, - "id": 4565, + "id": 4574, "name": "ERR_SUPERBLOCK_HASH_PREVBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1993:51:4", "stateVariable": true, "storageLocation": "default", @@ -1362,7 +1362,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4563, + "id": 4572, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1993:4:4", @@ -1374,7 +1374,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303630", - "id": 4564, + "id": 4573, "isConstant": false, "isLValue": false, "isPure": true, @@ -1393,10 +1393,10 @@ }, { "constant": true, - "id": 4568, + "id": 4577, "name": "ERR_SUPERBLOCK_HASH_PREVSUPERBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2050:56:4", "stateVariable": true, "storageLocation": "default", @@ -1405,7 +1405,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4566, + "id": 4575, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2050:4:4", @@ -1417,7 +1417,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303631", - "id": 4567, + "id": 4576, "isConstant": false, "isLValue": false, "isPure": true, @@ -1436,10 +1436,10 @@ }, { "constant": true, - "id": 4571, + "id": 4580, "name": "ERR_SUPERBLOCK_MAX_INPROGRESS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2112:51:4", "stateVariable": true, "storageLocation": "default", @@ -1448,7 +1448,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4569, + "id": 4578, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2112:4:4", @@ -1460,7 +1460,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303632", - "id": 4570, + "id": 4579, "isConstant": false, "isLValue": false, "isPure": true, @@ -1479,10 +1479,10 @@ }, { "constant": true, - "id": 4574, + "id": 4583, "name": "ERR_SUPERBLOCK_BITS_LASTBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2169:51:4", "stateVariable": true, "storageLocation": "default", @@ -1491,7 +1491,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4572, + "id": 4581, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2169:4:4", @@ -1503,7 +1503,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303634", - "id": 4573, + "id": 4582, "isConstant": false, "isLValue": false, "isPure": true, @@ -1522,10 +1522,10 @@ }, { "constant": true, - "id": 4577, + "id": 4586, "name": "ERR_SUPERBLOCK_MIN_DEPOSIT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2226:48:4", "stateVariable": true, "storageLocation": "default", @@ -1534,7 +1534,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4575, + "id": 4584, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2226:4:4", @@ -1546,7 +1546,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303635", - "id": 4576, + "id": 4585, "isConstant": false, "isLValue": false, "isPure": true, @@ -1565,10 +1565,10 @@ }, { "constant": true, - "id": 4580, + "id": 4589, "name": "ERR_SUPERBLOCK_BITS_INTERIM_PREVBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2280:59:4", "stateVariable": true, "storageLocation": "default", @@ -1577,7 +1577,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4578, + "id": 4587, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2280:4:4", @@ -1589,7 +1589,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303636", - "id": 4579, + "id": 4588, "isConstant": false, "isLValue": false, "isPure": true, @@ -1608,10 +1608,10 @@ }, { "constant": true, - "id": 4583, + "id": 4592, "name": "ERR_SUPERBLOCK_HASH_INTERIM_PREVBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2345:59:4", "stateVariable": true, "storageLocation": "default", @@ -1620,7 +1620,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4581, + "id": 4590, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2345:4:4", @@ -1632,7 +1632,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303637", - "id": 4582, + "id": 4591, "isConstant": false, "isLValue": false, "isPure": true, @@ -1651,10 +1651,10 @@ }, { "constant": true, - "id": 4586, + "id": 4595, "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP_AVERAGE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2410:58:4", "stateVariable": true, "storageLocation": "default", @@ -1663,7 +1663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4584, + "id": 4593, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2410:4:4", @@ -1675,7 +1675,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303638", - "id": 4585, + "id": 4594, "isConstant": false, "isLValue": false, "isPure": true, @@ -1694,10 +1694,10 @@ }, { "constant": true, - "id": 4589, + "id": 4598, "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP_MTP", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2474:54:4", "stateVariable": true, "storageLocation": "default", @@ -1706,7 +1706,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4587, + "id": 4596, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2474:4:4", @@ -1718,7 +1718,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303639", - "id": 4588, + "id": 4597, "isConstant": false, "isLValue": false, "isPure": true, @@ -1737,10 +1737,10 @@ }, { "constant": true, - "id": 4592, + "id": 4601, "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2535:53:4", "stateVariable": true, "storageLocation": "default", @@ -1749,7 +1749,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4590, + "id": 4599, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2535:4:4", @@ -1761,7 +1761,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303730", - "id": 4591, + "id": 4600, "isConstant": false, "isLValue": false, "isPure": true, @@ -1780,10 +1780,10 @@ }, { "constant": true, - "id": 4595, + "id": 4604, "name": "ERR_SUPERBLOCK_MISMATCH_TIMESTAMP_MTP", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2594:59:4", "stateVariable": true, "storageLocation": "default", @@ -1792,7 +1792,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4593, + "id": 4602, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2594:4:4", @@ -1804,7 +1804,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303731", - "id": 4594, + "id": 4603, "isConstant": false, "isLValue": false, "isPure": true, @@ -1823,10 +1823,10 @@ }, { "constant": true, - "id": 4598, + "id": 4607, "name": "ERR_SUPERBLOCK_TOOSMALL_TIMESTAMP_MTP", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2659:59:4", "stateVariable": true, "storageLocation": "default", @@ -1835,7 +1835,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4596, + "id": 4605, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2659:4:4", @@ -1847,7 +1847,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303732", - "id": 4597, + "id": 4606, "isConstant": false, "isLValue": false, "isPure": true, @@ -1866,10 +1866,10 @@ }, { "constant": true, - "id": 4601, + "id": 4610, "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2725:46:4", "stateVariable": true, "storageLocation": "default", @@ -1878,7 +1878,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4599, + "id": 4608, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2725:4:4", @@ -1890,7 +1890,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303830", - "id": 4600, + "id": 4609, "isConstant": false, "isLValue": false, "isPure": true, @@ -1909,10 +1909,10 @@ }, { "constant": true, - "id": 4604, + "id": 4613, "name": "ERR_SUPERBLOCK_VERIFICATION_PENDING", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2777:57:4", "stateVariable": true, "storageLocation": "default", @@ -1921,7 +1921,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4602, + "id": 4611, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2777:4:4", @@ -1933,7 +1933,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303930", - "id": 4603, + "id": 4612, "isConstant": false, "isLValue": false, "isPure": true, @@ -1952,10 +1952,10 @@ }, { "constant": true, - "id": 4607, + "id": 4616, "name": "ERR_SUPERBLOCK_CLAIM_DECIDED", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2840:50:4", "stateVariable": true, "storageLocation": "default", @@ -1964,7 +1964,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4605, + "id": 4614, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2840:4:4", @@ -1976,7 +1976,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313030", - "id": 4606, + "id": 4615, "isConstant": false, "isLValue": false, "isPure": true, @@ -1995,10 +1995,10 @@ }, { "constant": true, - "id": 4610, + "id": 4619, "name": "ERR_SUPERBLOCK_CHALLENGE_EXISTS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2896:53:4", "stateVariable": true, "storageLocation": "default", @@ -2007,7 +2007,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4608, + "id": 4617, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2896:4:4", @@ -2019,7 +2019,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313130", - "id": 4609, + "id": 4618, "isConstant": false, "isLValue": false, "isPure": true, @@ -2038,10 +2038,10 @@ }, { "constant": true, - "id": 4613, + "id": 4622, "name": "ERR_SUPERBLOCK_BAD_ACCUMULATED_WORK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2956:57:4", "stateVariable": true, "storageLocation": "default", @@ -2050,7 +2050,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4611, + "id": 4620, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2956:4:4", @@ -2062,7 +2062,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313230", - "id": 4612, + "id": 4621, "isConstant": false, "isLValue": false, "isPure": true, @@ -2081,10 +2081,10 @@ }, { "constant": true, - "id": 4616, + "id": 4625, "name": "ERR_SUPERBLOCK_BAD_BITS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3019:45:4", "stateVariable": true, "storageLocation": "default", @@ -2093,7 +2093,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4614, + "id": 4623, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3019:4:4", @@ -2105,7 +2105,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313330", - "id": 4615, + "id": 4624, "isConstant": false, "isLValue": false, "isPure": true, @@ -2124,10 +2124,10 @@ }, { "constant": true, - "id": 4619, + "id": 4628, "name": "ERR_SUPERBLOCK_MISSING_CONFIRMATIONS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3070:58:4", "stateVariable": true, "storageLocation": "default", @@ -2136,7 +2136,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4617, + "id": 4626, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3070:4:4", @@ -2148,7 +2148,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313430", - "id": 4618, + "id": 4627, "isConstant": false, "isLValue": false, "isPure": true, @@ -2167,10 +2167,10 @@ }, { "constant": true, - "id": 4622, + "id": 4631, "name": "ERR_SUPERBLOCK_BAD_LASTBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3134:50:4", "stateVariable": true, "storageLocation": "default", @@ -2179,7 +2179,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4620, + "id": 4629, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3134:4:4", @@ -2191,7 +2191,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313530", - "id": 4621, + "id": 4630, "isConstant": false, "isLValue": false, "isPure": true, @@ -2210,10 +2210,10 @@ }, { "constant": true, - "id": 4625, + "id": 4634, "name": "ERR_SUPERBLOCK_BAD_LASTBLOCK_STATUS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3190:57:4", "stateVariable": true, "storageLocation": "default", @@ -2222,7 +2222,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4623, + "id": 4632, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3190:4:4", @@ -2234,7 +2234,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313630", - "id": 4624, + "id": 4633, "isConstant": false, "isLValue": false, "isPure": true, @@ -2253,10 +2253,10 @@ }, { "constant": true, - "id": 4628, + "id": 4637, "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3253:52:4", "stateVariable": true, "storageLocation": "default", @@ -2265,7 +2265,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4626, + "id": 4635, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3253:4:4", @@ -2277,7 +2277,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313730", - "id": 4627, + "id": 4636, "isConstant": false, "isLValue": false, "isPure": true, @@ -2296,10 +2296,10 @@ }, { "constant": true, - "id": 4631, + "id": 4640, "name": "ERR_SUPERBLOCK_BAD_PREVBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3311:50:4", "stateVariable": true, "storageLocation": "default", @@ -2308,7 +2308,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4629, + "id": 4638, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3311:4:4", @@ -2320,7 +2320,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313930", - "id": 4630, + "id": 4639, "isConstant": false, "isLValue": false, "isPure": true, @@ -2339,10 +2339,10 @@ }, { "constant": true, - "id": 4634, + "id": 4643, "name": "ERR_SUPERBLOCK_CLAIM_ALREADY_DEFENDED", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3367:59:4", "stateVariable": true, "storageLocation": "default", @@ -2351,7 +2351,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4632, + "id": 4641, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3367:4:4", @@ -2363,7 +2363,7 @@ "value": { "argumentTypes": null, "hexValue": "3530323030", - "id": 4633, + "id": 4642, "isConstant": false, "isLValue": false, "isPure": true, @@ -2382,10 +2382,10 @@ }, { "constant": true, - "id": 4637, + "id": 4646, "name": "ERR_SUPERBLOCK_BAD_MISMATCH", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3432:49:4", "stateVariable": true, "storageLocation": "default", @@ -2394,7 +2394,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4635, + "id": 4644, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3432:4:4", @@ -2406,7 +2406,7 @@ "value": { "argumentTypes": null, "hexValue": "3530323130", - "id": 4636, + "id": 4645, "isConstant": false, "isLValue": false, "isPure": true, @@ -2425,10 +2425,10 @@ }, { "constant": true, - "id": 4640, + "id": 4649, "name": "ERR_SUPERBLOCK_INTERIMBLOCK_MISSING", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3487:57:4", "stateVariable": true, "storageLocation": "default", @@ -2437,7 +2437,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4638, + "id": 4647, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3487:4:4", @@ -2449,7 +2449,7 @@ "value": { "argumentTypes": null, "hexValue": "3530323230", - "id": 4639, + "id": 4648, "isConstant": false, "isLValue": false, "isPure": true, @@ -2468,10 +2468,10 @@ }, { "constant": true, - "id": 4643, + "id": 4652, "name": "ERR_SUPERBLOCK_BAD_INTERIM_PREVHASH", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3550:57:4", "stateVariable": true, "storageLocation": "default", @@ -2480,7 +2480,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4641, + "id": 4650, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3550:4:4", @@ -2492,7 +2492,7 @@ "value": { "argumentTypes": null, "hexValue": "3530323330", - "id": 4642, + "id": 4651, "isConstant": false, "isLValue": false, "isPure": true, @@ -2511,10 +2511,10 @@ }, { "constant": true, - "id": 4646, + "id": 4655, "name": "ERR_SUPERBLOCK_BAD_INTERIM_BLOCKINDEX", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3613:59:4", "stateVariable": true, "storageLocation": "default", @@ -2523,7 +2523,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4644, + "id": 4653, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3613:4:4", @@ -2535,7 +2535,7 @@ "value": { "argumentTypes": null, "hexValue": "3530323430", - "id": 4645, + "id": 4654, "isConstant": false, "isLValue": false, "isPure": true, @@ -2554,10 +2554,10 @@ }, { "constant": true, - "id": 4649, + "id": 4658, "name": "ERR_BAD_FEE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3712:33:4", "stateVariable": true, "storageLocation": "default", @@ -2566,7 +2566,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4647, + "id": 4656, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3712:4:4", @@ -2578,7 +2578,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303130", - "id": 4648, + "id": 4657, "isConstant": false, "isLValue": false, "isPure": true, @@ -2597,10 +2597,10 @@ }, { "constant": true, - "id": 4652, + "id": 4661, "name": "ERR_CONFIRMATIONS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3751:39:4", "stateVariable": true, "storageLocation": "default", @@ -2609,7 +2609,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4650, + "id": 4659, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3751:4:4", @@ -2621,7 +2621,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303230", - "id": 4651, + "id": 4660, "isConstant": false, "isLValue": false, "isPure": true, @@ -2640,10 +2640,10 @@ }, { "constant": true, - "id": 4655, + "id": 4664, "name": "ERR_CHAIN", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3796:31:4", "stateVariable": true, "storageLocation": "default", @@ -2652,7 +2652,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4653, + "id": 4662, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3796:4:4", @@ -2664,7 +2664,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303330", - "id": 4654, + "id": 4663, "isConstant": false, "isLValue": false, "isPure": true, @@ -2683,10 +2683,10 @@ }, { "constant": true, - "id": 4658, + "id": 4667, "name": "ERR_SUPERBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3833:36:4", "stateVariable": true, "storageLocation": "default", @@ -2695,7 +2695,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4656, + "id": 4665, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3833:4:4", @@ -2707,7 +2707,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303430", - "id": 4657, + "id": 4666, "isConstant": false, "isLValue": false, "isPure": true, @@ -2726,10 +2726,10 @@ }, { "constant": true, - "id": 4661, + "id": 4670, "name": "ERR_MERKLE_ROOT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3875:37:4", "stateVariable": true, "storageLocation": "default", @@ -2738,7 +2738,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4659, + "id": 4668, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3875:4:4", @@ -2750,7 +2750,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303530", - "id": 4660, + "id": 4669, "isConstant": false, "isLValue": false, "isPure": true, @@ -2769,10 +2769,10 @@ }, { "constant": true, - "id": 4664, + "id": 4673, "name": "ERR_TX_64BYTE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3918:35:4", "stateVariable": true, "storageLocation": "default", @@ -2781,7 +2781,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4662, + "id": 4671, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3918:4:4", @@ -2793,7 +2793,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303630", - "id": 4663, + "id": 4672, "isConstant": false, "isLValue": false, "isPure": true, @@ -2812,10 +2812,10 @@ }, { "constant": true, - "id": 4667, + "id": 4676, "name": "ERR_SUPERBLOCK_MERKLE_ROOT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3959:48:4", "stateVariable": true, "storageLocation": "default", @@ -2824,7 +2824,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4665, + "id": 4674, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3959:4:4", @@ -2836,7 +2836,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303730", - "id": 4666, + "id": 4675, "isConstant": false, "isLValue": false, "isPure": true, @@ -2855,10 +2855,10 @@ }, { "constant": true, - "id": 4670, + "id": 4679, "name": "ERR_RELAY_VERIFY", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "4044:38:4", "stateVariable": true, "storageLocation": "default", @@ -2867,7 +2867,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4668, + "id": 4677, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4044:4:4", @@ -2879,7 +2879,7 @@ "value": { "argumentTypes": null, "hexValue": "3330303130", - "id": 4669, + "id": 4678, "isConstant": false, "isLValue": false, "isPure": true, @@ -2898,10 +2898,10 @@ }, { "constant": true, - "id": 4673, + "id": 4682, "name": "ERR_CANCEL_TRANSFER_VERIFY", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "4088:48:4", "stateVariable": true, "storageLocation": "default", @@ -2910,7 +2910,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4671, + "id": 4680, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4088:4:4", @@ -2922,7 +2922,7 @@ "value": { "argumentTypes": null, "hexValue": "3330303230", - "id": 4672, + "id": 4681, "isConstant": false, "isLValue": false, "isPure": true, @@ -2941,10 +2941,10 @@ }, { "constant": true, - "id": 4676, + "id": 4685, "name": "minProposalDeposit", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "4142:61:4", "stateVariable": true, "storageLocation": "default", @@ -2953,7 +2953,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4674, + "id": 4683, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4142:4:4", @@ -2965,7 +2965,7 @@ "value": { "argumentTypes": null, "hexValue": "33303030303030303030303030303030303030", - "id": 4675, + "id": 4684, "isConstant": false, "isLValue": false, "isPure": true, @@ -2983,7 +2983,7 @@ "visibility": "public" } ], - "scope": 4678, + "scope": 4687, "src": "67:4139:4" } ], @@ -2993,14 +2993,14 @@ "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinErrorCodes.sol", "exportedSymbols": { "SyscoinErrorCodes": [ - 4677 + 4686 ] }, - "id": 4678, + "id": 4687, "nodeType": "SourceUnit", "nodes": [ { - "id": 4472, + "id": 4481, "literals": [ "solidity", "^", @@ -3016,19 +3016,19 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 4677, + "id": 4686, "linearizedBaseContracts": [ - 4677 + 4686 ], "name": "SyscoinErrorCodes", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 4475, + "id": 4484, "name": "ERR_INVALID_HEADER", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "119:40:4", "stateVariable": true, "storageLocation": "default", @@ -3037,7 +3037,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4473, + "id": 4482, "name": "uint", "nodeType": "ElementaryTypeName", "src": "119:4:4", @@ -3049,7 +3049,7 @@ "value": { "argumentTypes": null, "hexValue": "3130303530", - "id": 4474, + "id": 4483, "isConstant": false, "isLValue": false, "isPure": true, @@ -3068,10 +3068,10 @@ }, { "constant": true, - "id": 4478, + "id": 4487, "name": "ERR_COINBASE_INDEX", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "165:40:4", "stateVariable": true, "storageLocation": "default", @@ -3080,7 +3080,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4476, + "id": 4485, "name": "uint", "nodeType": "ElementaryTypeName", "src": "165:4:4", @@ -3092,7 +3092,7 @@ "value": { "argumentTypes": null, "hexValue": "3130303630", - "id": 4477, + "id": 4486, "isConstant": false, "isLValue": false, "isPure": true, @@ -3111,10 +3111,10 @@ }, { "constant": true, - "id": 4481, + "id": 4490, "name": "ERR_NOT_MERGE_MINED", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "262:41:4", "stateVariable": true, "storageLocation": "default", @@ -3123,7 +3123,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4479, + "id": 4488, "name": "uint", "nodeType": "ElementaryTypeName", "src": "262:4:4", @@ -3135,7 +3135,7 @@ "value": { "argumentTypes": null, "hexValue": "3130303730", - "id": 4480, + "id": 4489, "isConstant": false, "isLValue": false, "isPure": true, @@ -3154,10 +3154,10 @@ }, { "constant": true, - "id": 4484, + "id": 4493, "name": "ERR_FOUND_TWICE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "370:37:4", "stateVariable": true, "storageLocation": "default", @@ -3166,7 +3166,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4482, + "id": 4491, "name": "uint", "nodeType": "ElementaryTypeName", "src": "370:4:4", @@ -3178,7 +3178,7 @@ "value": { "argumentTypes": null, "hexValue": "3130303830", - "id": 4483, + "id": 4492, "isConstant": false, "isLValue": false, "isPure": true, @@ -3197,10 +3197,10 @@ }, { "constant": true, - "id": 4487, + "id": 4496, "name": "ERR_NO_MERGE_HEADER", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "439:41:4", "stateVariable": true, "storageLocation": "default", @@ -3209,7 +3209,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4485, + "id": 4494, "name": "uint", "nodeType": "ElementaryTypeName", "src": "439:4:4", @@ -3221,7 +3221,7 @@ "value": { "argumentTypes": null, "hexValue": "3130303930", - "id": 4486, + "id": 4495, "isConstant": false, "isLValue": false, "isPure": true, @@ -3240,10 +3240,10 @@ }, { "constant": true, - "id": 4490, + "id": 4499, "name": "ERR_CHAIN_MERKLE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "510:38:4", "stateVariable": true, "storageLocation": "default", @@ -3252,7 +3252,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4488, + "id": 4497, "name": "uint", "nodeType": "ElementaryTypeName", "src": "510:4:4", @@ -3264,7 +3264,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313130", - "id": 4489, + "id": 4498, "isConstant": false, "isLValue": false, "isPure": true, @@ -3283,10 +3283,10 @@ }, { "constant": true, - "id": 4493, + "id": 4502, "name": "ERR_PARENT_MERKLE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "554:39:4", "stateVariable": true, "storageLocation": "default", @@ -3295,7 +3295,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4491, + "id": 4500, "name": "uint", "nodeType": "ElementaryTypeName", "src": "554:4:4", @@ -3307,7 +3307,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313230", - "id": 4492, + "id": 4501, "isConstant": false, "isLValue": false, "isPure": true, @@ -3326,10 +3326,10 @@ }, { "constant": true, - "id": 4496, + "id": 4505, "name": "ERR_PROOF_OF_WORK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "599:39:4", "stateVariable": true, "storageLocation": "default", @@ -3338,7 +3338,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4494, + "id": 4503, "name": "uint", "nodeType": "ElementaryTypeName", "src": "599:4:4", @@ -3350,7 +3350,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313330", - "id": 4495, + "id": 4504, "isConstant": false, "isLValue": false, "isPure": true, @@ -3369,10 +3369,10 @@ }, { "constant": true, - "id": 4499, + "id": 4508, "name": "ERR_INVALID_HEADER_HASH", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "644:45:4", "stateVariable": true, "storageLocation": "default", @@ -3381,7 +3381,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4497, + "id": 4506, "name": "uint", "nodeType": "ElementaryTypeName", "src": "644:4:4", @@ -3393,7 +3393,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313430", - "id": 4498, + "id": 4507, "isConstant": false, "isLValue": false, "isPure": true, @@ -3412,10 +3412,10 @@ }, { "constant": true, - "id": 4502, + "id": 4511, "name": "ERR_PROOF_OF_WORK_AUXPOW", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "695:46:4", "stateVariable": true, "storageLocation": "default", @@ -3424,7 +3424,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4500, + "id": 4509, "name": "uint", "nodeType": "ElementaryTypeName", "src": "695:4:4", @@ -3436,7 +3436,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313530", - "id": 4501, + "id": 4510, "isConstant": false, "isLValue": false, "isPure": true, @@ -3455,10 +3455,10 @@ }, { "constant": true, - "id": 4505, + "id": 4514, "name": "ERR_PARSE_TX_OUTPUT_LENGTH", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "747:48:4", "stateVariable": true, "storageLocation": "default", @@ -3467,7 +3467,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4503, + "id": 4512, "name": "uint", "nodeType": "ElementaryTypeName", "src": "747:4:4", @@ -3479,7 +3479,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313630", - "id": 4504, + "id": 4513, "isConstant": false, "isLValue": false, "isPure": true, @@ -3498,10 +3498,10 @@ }, { "constant": true, - "id": 4508, + "id": 4517, "name": "ERR_SUPERBLOCK_OK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "803:35:4", "stateVariable": true, "storageLocation": "default", @@ -3510,7 +3510,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4506, + "id": 4515, "name": "uint", "nodeType": "ElementaryTypeName", "src": "803:4:4", @@ -3522,7 +3522,7 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 4507, + "id": 4516, "isConstant": false, "isLValue": false, "isPure": true, @@ -3541,10 +3541,10 @@ }, { "constant": true, - "id": 4511, + "id": 4520, "name": "ERR_SUPERBLOCK_MISSING_BLOCKS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "844:47:4", "stateVariable": true, "storageLocation": "default", @@ -3553,7 +3553,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4509, + "id": 4518, "name": "uint", "nodeType": "ElementaryTypeName", "src": "844:4:4", @@ -3565,7 +3565,7 @@ "value": { "argumentTypes": null, "hexValue": "31", - "id": 4510, + "id": 4519, "isConstant": false, "isLValue": false, "isPure": true, @@ -3584,10 +3584,10 @@ }, { "constant": true, - "id": 4514, + "id": 4523, "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "897:47:4", "stateVariable": true, "storageLocation": "default", @@ -3596,7 +3596,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4512, + "id": 4521, "name": "uint", "nodeType": "ElementaryTypeName", "src": "897:4:4", @@ -3608,7 +3608,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303230", - "id": 4513, + "id": 4522, "isConstant": false, "isLValue": false, "isPure": true, @@ -3627,10 +3627,10 @@ }, { "constant": true, - "id": 4517, + "id": 4526, "name": "ERR_SUPERBLOCK_BAD_SYSCOIN_STATUS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "950:55:4", "stateVariable": true, "storageLocation": "default", @@ -3639,7 +3639,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4515, + "id": 4524, "name": "uint", "nodeType": "ElementaryTypeName", "src": "950:4:4", @@ -3651,7 +3651,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303235", - "id": 4516, + "id": 4525, "isConstant": false, "isLValue": false, "isPure": true, @@ -3670,10 +3670,10 @@ }, { "constant": true, - "id": 4520, + "id": 4529, "name": "ERR_SUPERBLOCK_TIMEOUT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1011:44:4", "stateVariable": true, "storageLocation": "default", @@ -3682,7 +3682,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4518, + "id": 4527, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1011:4:4", @@ -3694,7 +3694,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303236", - "id": 4519, + "id": 4528, "isConstant": false, "isLValue": false, "isPure": true, @@ -3713,10 +3713,10 @@ }, { "constant": true, - "id": 4523, + "id": 4532, "name": "ERR_SUPERBLOCK_NO_TIMEOUT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1061:47:4", "stateVariable": true, "storageLocation": "default", @@ -3725,7 +3725,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4521, + "id": 4530, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1061:4:4", @@ -3737,7 +3737,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303330", - "id": 4522, + "id": 4531, "isConstant": false, "isLValue": false, "isPure": true, @@ -3756,10 +3756,10 @@ }, { "constant": true, - "id": 4526, + "id": 4535, "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1114:50:4", "stateVariable": true, "storageLocation": "default", @@ -3768,7 +3768,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4524, + "id": 4533, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1114:4:4", @@ -3780,7 +3780,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303335", - "id": 4525, + "id": 4534, "isConstant": false, "isLValue": false, "isPure": true, @@ -3799,10 +3799,10 @@ }, { "constant": true, - "id": 4529, + "id": 4538, "name": "ERR_SUPERBLOCK_INVALID_TIMESTAMP", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1170:54:4", "stateVariable": true, "storageLocation": "default", @@ -3811,7 +3811,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4527, + "id": 4536, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1170:4:4", @@ -3823,7 +3823,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303336", - "id": 4528, + "id": 4537, "isConstant": false, "isLValue": false, "isPure": true, @@ -3842,10 +3842,10 @@ }, { "constant": true, - "id": 4532, + "id": 4541, "name": "ERR_SUPERBLOCK_INVALID_MERKLE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1230:51:4", "stateVariable": true, "storageLocation": "default", @@ -3854,7 +3854,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4530, + "id": 4539, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1230:4:4", @@ -3866,7 +3866,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303338", - "id": 4531, + "id": 4540, "isConstant": false, "isLValue": false, "isPure": true, @@ -3885,10 +3885,10 @@ }, { "constant": true, - "id": 4535, + "id": 4544, "name": "ERR_SUPERBLOCK_BAD_PARENT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1402:47:4", "stateVariable": true, "storageLocation": "default", @@ -3897,7 +3897,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4533, + "id": 4542, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1402:4:4", @@ -3909,7 +3909,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303430", - "id": 4534, + "id": 4543, "isConstant": false, "isLValue": false, "isPure": true, @@ -3928,10 +3928,10 @@ }, { "constant": true, - "id": 4538, + "id": 4547, "name": "ERR_SUPERBLOCK_BAD_PARENT_UNINITIALIZED", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1455:61:4", "stateVariable": true, "storageLocation": "default", @@ -3940,7 +3940,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4536, + "id": 4545, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1455:4:4", @@ -3952,7 +3952,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303430", - "id": 4537, + "id": 4546, "isConstant": false, "isLValue": false, "isPure": true, @@ -3971,10 +3971,10 @@ }, { "constant": true, - "id": 4541, + "id": 4550, "name": "ERR_SUPERBLOCK_BAD_PARENT_NEW", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1522:51:4", "stateVariable": true, "storageLocation": "default", @@ -3983,7 +3983,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4539, + "id": 4548, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1522:4:4", @@ -3995,7 +3995,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303431", - "id": 4540, + "id": 4549, "isConstant": false, "isLValue": false, "isPure": true, @@ -4014,10 +4014,10 @@ }, { "constant": true, - "id": 4544, + "id": 4553, "name": "ERR_SUPERBLOCK_BAD_PARENT_INBATTLE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1579:56:4", "stateVariable": true, "storageLocation": "default", @@ -4026,7 +4026,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4542, + "id": 4551, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1579:4:4", @@ -4038,7 +4038,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303432", - "id": 4543, + "id": 4552, "isConstant": false, "isLValue": false, "isPure": true, @@ -4057,10 +4057,10 @@ }, { "constant": true, - "id": 4547, + "id": 4556, "name": "ERR_SUPERBLOCK_BAD_PARENT_INVALID", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1641:55:4", "stateVariable": true, "storageLocation": "default", @@ -4069,7 +4069,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4545, + "id": 4554, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1641:4:4", @@ -4081,7 +4081,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303435", - "id": 4546, + "id": 4555, "isConstant": false, "isLValue": false, "isPure": true, @@ -4100,10 +4100,10 @@ }, { "constant": true, - "id": 4550, + "id": 4559, "name": "ERR_SUPERBLOCK_OWN_CHALLENGE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1703:50:4", "stateVariable": true, "storageLocation": "default", @@ -4112,7 +4112,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4548, + "id": 4557, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1703:4:4", @@ -4124,7 +4124,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303535", - "id": 4549, + "id": 4558, "isConstant": false, "isLValue": false, "isPure": true, @@ -4143,10 +4143,10 @@ }, { "constant": true, - "id": 4553, + "id": 4562, "name": "ERR_SUPERBLOCK_BAD_PREV_TIMESTAMP", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1759:55:4", "stateVariable": true, "storageLocation": "default", @@ -4155,7 +4155,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4551, + "id": 4560, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1759:4:4", @@ -4167,7 +4167,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303536", - "id": 4552, + "id": 4561, "isConstant": false, "isLValue": false, "isPure": true, @@ -4186,10 +4186,10 @@ }, { "constant": true, - "id": 4556, + "id": 4565, "name": "ERR_SUPERBLOCK_BITS_SUPERBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1820:52:4", "stateVariable": true, "storageLocation": "default", @@ -4198,7 +4198,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4554, + "id": 4563, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1820:4:4", @@ -4210,7 +4210,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303537", - "id": 4555, + "id": 4564, "isConstant": false, "isLValue": false, "isPure": true, @@ -4229,10 +4229,10 @@ }, { "constant": true, - "id": 4559, + "id": 4568, "name": "ERR_SUPERBLOCK_BITS_PREVBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1878:51:4", "stateVariable": true, "storageLocation": "default", @@ -4241,7 +4241,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4557, + "id": 4566, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1878:4:4", @@ -4253,7 +4253,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303538", - "id": 4558, + "id": 4567, "isConstant": false, "isLValue": false, "isPure": true, @@ -4272,10 +4272,10 @@ }, { "constant": true, - "id": 4562, + "id": 4571, "name": "ERR_SUPERBLOCK_HASH_SUPERBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1935:52:4", "stateVariable": true, "storageLocation": "default", @@ -4284,7 +4284,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4560, + "id": 4569, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1935:4:4", @@ -4296,7 +4296,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303539", - "id": 4561, + "id": 4570, "isConstant": false, "isLValue": false, "isPure": true, @@ -4315,10 +4315,10 @@ }, { "constant": true, - "id": 4565, + "id": 4574, "name": "ERR_SUPERBLOCK_HASH_PREVBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "1993:51:4", "stateVariable": true, "storageLocation": "default", @@ -4327,7 +4327,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4563, + "id": 4572, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1993:4:4", @@ -4339,7 +4339,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303630", - "id": 4564, + "id": 4573, "isConstant": false, "isLValue": false, "isPure": true, @@ -4358,10 +4358,10 @@ }, { "constant": true, - "id": 4568, + "id": 4577, "name": "ERR_SUPERBLOCK_HASH_PREVSUPERBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2050:56:4", "stateVariable": true, "storageLocation": "default", @@ -4370,7 +4370,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4566, + "id": 4575, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2050:4:4", @@ -4382,7 +4382,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303631", - "id": 4567, + "id": 4576, "isConstant": false, "isLValue": false, "isPure": true, @@ -4401,10 +4401,10 @@ }, { "constant": true, - "id": 4571, + "id": 4580, "name": "ERR_SUPERBLOCK_MAX_INPROGRESS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2112:51:4", "stateVariable": true, "storageLocation": "default", @@ -4413,7 +4413,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4569, + "id": 4578, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2112:4:4", @@ -4425,7 +4425,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303632", - "id": 4570, + "id": 4579, "isConstant": false, "isLValue": false, "isPure": true, @@ -4444,10 +4444,10 @@ }, { "constant": true, - "id": 4574, + "id": 4583, "name": "ERR_SUPERBLOCK_BITS_LASTBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2169:51:4", "stateVariable": true, "storageLocation": "default", @@ -4456,7 +4456,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4572, + "id": 4581, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2169:4:4", @@ -4468,7 +4468,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303634", - "id": 4573, + "id": 4582, "isConstant": false, "isLValue": false, "isPure": true, @@ -4487,10 +4487,10 @@ }, { "constant": true, - "id": 4577, + "id": 4586, "name": "ERR_SUPERBLOCK_MIN_DEPOSIT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2226:48:4", "stateVariable": true, "storageLocation": "default", @@ -4499,7 +4499,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4575, + "id": 4584, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2226:4:4", @@ -4511,7 +4511,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303635", - "id": 4576, + "id": 4585, "isConstant": false, "isLValue": false, "isPure": true, @@ -4530,10 +4530,10 @@ }, { "constant": true, - "id": 4580, + "id": 4589, "name": "ERR_SUPERBLOCK_BITS_INTERIM_PREVBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2280:59:4", "stateVariable": true, "storageLocation": "default", @@ -4542,7 +4542,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4578, + "id": 4587, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2280:4:4", @@ -4554,7 +4554,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303636", - "id": 4579, + "id": 4588, "isConstant": false, "isLValue": false, "isPure": true, @@ -4573,10 +4573,10 @@ }, { "constant": true, - "id": 4583, + "id": 4592, "name": "ERR_SUPERBLOCK_HASH_INTERIM_PREVBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2345:59:4", "stateVariable": true, "storageLocation": "default", @@ -4585,7 +4585,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4581, + "id": 4590, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2345:4:4", @@ -4597,7 +4597,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303637", - "id": 4582, + "id": 4591, "isConstant": false, "isLValue": false, "isPure": true, @@ -4616,10 +4616,10 @@ }, { "constant": true, - "id": 4586, + "id": 4595, "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP_AVERAGE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2410:58:4", "stateVariable": true, "storageLocation": "default", @@ -4628,7 +4628,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4584, + "id": 4593, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2410:4:4", @@ -4640,7 +4640,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303638", - "id": 4585, + "id": 4594, "isConstant": false, "isLValue": false, "isPure": true, @@ -4659,10 +4659,10 @@ }, { "constant": true, - "id": 4589, + "id": 4598, "name": "ERR_SUPERBLOCK_BAD_TIMESTAMP_MTP", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2474:54:4", "stateVariable": true, "storageLocation": "default", @@ -4671,7 +4671,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4587, + "id": 4596, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2474:4:4", @@ -4683,7 +4683,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303639", - "id": 4588, + "id": 4597, "isConstant": false, "isLValue": false, "isPure": true, @@ -4702,10 +4702,10 @@ }, { "constant": true, - "id": 4592, + "id": 4601, "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2535:53:4", "stateVariable": true, "storageLocation": "default", @@ -4714,7 +4714,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4590, + "id": 4599, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2535:4:4", @@ -4726,7 +4726,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303730", - "id": 4591, + "id": 4600, "isConstant": false, "isLValue": false, "isPure": true, @@ -4745,10 +4745,10 @@ }, { "constant": true, - "id": 4595, + "id": 4604, "name": "ERR_SUPERBLOCK_MISMATCH_TIMESTAMP_MTP", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2594:59:4", "stateVariable": true, "storageLocation": "default", @@ -4757,7 +4757,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4593, + "id": 4602, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2594:4:4", @@ -4769,7 +4769,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303731", - "id": 4594, + "id": 4603, "isConstant": false, "isLValue": false, "isPure": true, @@ -4788,10 +4788,10 @@ }, { "constant": true, - "id": 4598, + "id": 4607, "name": "ERR_SUPERBLOCK_TOOSMALL_TIMESTAMP_MTP", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2659:59:4", "stateVariable": true, "storageLocation": "default", @@ -4800,7 +4800,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4596, + "id": 4605, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2659:4:4", @@ -4812,7 +4812,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303732", - "id": 4597, + "id": 4606, "isConstant": false, "isLValue": false, "isPure": true, @@ -4831,10 +4831,10 @@ }, { "constant": true, - "id": 4601, + "id": 4610, "name": "ERR_SUPERBLOCK_BAD_CLAIM", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2725:46:4", "stateVariable": true, "storageLocation": "default", @@ -4843,7 +4843,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4599, + "id": 4608, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2725:4:4", @@ -4855,7 +4855,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303830", - "id": 4600, + "id": 4609, "isConstant": false, "isLValue": false, "isPure": true, @@ -4874,10 +4874,10 @@ }, { "constant": true, - "id": 4604, + "id": 4613, "name": "ERR_SUPERBLOCK_VERIFICATION_PENDING", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2777:57:4", "stateVariable": true, "storageLocation": "default", @@ -4886,7 +4886,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4602, + "id": 4611, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2777:4:4", @@ -4898,7 +4898,7 @@ "value": { "argumentTypes": null, "hexValue": "3530303930", - "id": 4603, + "id": 4612, "isConstant": false, "isLValue": false, "isPure": true, @@ -4917,10 +4917,10 @@ }, { "constant": true, - "id": 4607, + "id": 4616, "name": "ERR_SUPERBLOCK_CLAIM_DECIDED", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2840:50:4", "stateVariable": true, "storageLocation": "default", @@ -4929,7 +4929,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4605, + "id": 4614, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2840:4:4", @@ -4941,7 +4941,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313030", - "id": 4606, + "id": 4615, "isConstant": false, "isLValue": false, "isPure": true, @@ -4960,10 +4960,10 @@ }, { "constant": true, - "id": 4610, + "id": 4619, "name": "ERR_SUPERBLOCK_CHALLENGE_EXISTS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2896:53:4", "stateVariable": true, "storageLocation": "default", @@ -4972,7 +4972,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4608, + "id": 4617, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2896:4:4", @@ -4984,7 +4984,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313130", - "id": 4609, + "id": 4618, "isConstant": false, "isLValue": false, "isPure": true, @@ -5003,10 +5003,10 @@ }, { "constant": true, - "id": 4613, + "id": 4622, "name": "ERR_SUPERBLOCK_BAD_ACCUMULATED_WORK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "2956:57:4", "stateVariable": true, "storageLocation": "default", @@ -5015,7 +5015,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4611, + "id": 4620, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2956:4:4", @@ -5027,7 +5027,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313230", - "id": 4612, + "id": 4621, "isConstant": false, "isLValue": false, "isPure": true, @@ -5046,10 +5046,10 @@ }, { "constant": true, - "id": 4616, + "id": 4625, "name": "ERR_SUPERBLOCK_BAD_BITS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3019:45:4", "stateVariable": true, "storageLocation": "default", @@ -5058,7 +5058,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4614, + "id": 4623, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3019:4:4", @@ -5070,7 +5070,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313330", - "id": 4615, + "id": 4624, "isConstant": false, "isLValue": false, "isPure": true, @@ -5089,10 +5089,10 @@ }, { "constant": true, - "id": 4619, + "id": 4628, "name": "ERR_SUPERBLOCK_MISSING_CONFIRMATIONS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3070:58:4", "stateVariable": true, "storageLocation": "default", @@ -5101,7 +5101,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4617, + "id": 4626, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3070:4:4", @@ -5113,7 +5113,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313430", - "id": 4618, + "id": 4627, "isConstant": false, "isLValue": false, "isPure": true, @@ -5132,10 +5132,10 @@ }, { "constant": true, - "id": 4622, + "id": 4631, "name": "ERR_SUPERBLOCK_BAD_LASTBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3134:50:4", "stateVariable": true, "storageLocation": "default", @@ -5144,7 +5144,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4620, + "id": 4629, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3134:4:4", @@ -5156,7 +5156,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313530", - "id": 4621, + "id": 4630, "isConstant": false, "isLValue": false, "isPure": true, @@ -5175,10 +5175,10 @@ }, { "constant": true, - "id": 4625, + "id": 4634, "name": "ERR_SUPERBLOCK_BAD_LASTBLOCK_STATUS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3190:57:4", "stateVariable": true, "storageLocation": "default", @@ -5187,7 +5187,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4623, + "id": 4632, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3190:4:4", @@ -5199,7 +5199,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313630", - "id": 4624, + "id": 4633, "isConstant": false, "isLValue": false, "isPure": true, @@ -5218,10 +5218,10 @@ }, { "constant": true, - "id": 4628, + "id": 4637, "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3253:52:4", "stateVariable": true, "storageLocation": "default", @@ -5230,7 +5230,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4626, + "id": 4635, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3253:4:4", @@ -5242,7 +5242,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313730", - "id": 4627, + "id": 4636, "isConstant": false, "isLValue": false, "isPure": true, @@ -5261,10 +5261,10 @@ }, { "constant": true, - "id": 4631, + "id": 4640, "name": "ERR_SUPERBLOCK_BAD_PREVBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3311:50:4", "stateVariable": true, "storageLocation": "default", @@ -5273,7 +5273,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4629, + "id": 4638, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3311:4:4", @@ -5285,7 +5285,7 @@ "value": { "argumentTypes": null, "hexValue": "3530313930", - "id": 4630, + "id": 4639, "isConstant": false, "isLValue": false, "isPure": true, @@ -5304,10 +5304,10 @@ }, { "constant": true, - "id": 4634, + "id": 4643, "name": "ERR_SUPERBLOCK_CLAIM_ALREADY_DEFENDED", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3367:59:4", "stateVariable": true, "storageLocation": "default", @@ -5316,7 +5316,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4632, + "id": 4641, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3367:4:4", @@ -5328,7 +5328,7 @@ "value": { "argumentTypes": null, "hexValue": "3530323030", - "id": 4633, + "id": 4642, "isConstant": false, "isLValue": false, "isPure": true, @@ -5347,10 +5347,10 @@ }, { "constant": true, - "id": 4637, + "id": 4646, "name": "ERR_SUPERBLOCK_BAD_MISMATCH", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3432:49:4", "stateVariable": true, "storageLocation": "default", @@ -5359,7 +5359,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4635, + "id": 4644, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3432:4:4", @@ -5371,7 +5371,7 @@ "value": { "argumentTypes": null, "hexValue": "3530323130", - "id": 4636, + "id": 4645, "isConstant": false, "isLValue": false, "isPure": true, @@ -5390,10 +5390,10 @@ }, { "constant": true, - "id": 4640, + "id": 4649, "name": "ERR_SUPERBLOCK_INTERIMBLOCK_MISSING", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3487:57:4", "stateVariable": true, "storageLocation": "default", @@ -5402,7 +5402,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4638, + "id": 4647, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3487:4:4", @@ -5414,7 +5414,7 @@ "value": { "argumentTypes": null, "hexValue": "3530323230", - "id": 4639, + "id": 4648, "isConstant": false, "isLValue": false, "isPure": true, @@ -5433,10 +5433,10 @@ }, { "constant": true, - "id": 4643, + "id": 4652, "name": "ERR_SUPERBLOCK_BAD_INTERIM_PREVHASH", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3550:57:4", "stateVariable": true, "storageLocation": "default", @@ -5445,7 +5445,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4641, + "id": 4650, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3550:4:4", @@ -5457,7 +5457,7 @@ "value": { "argumentTypes": null, "hexValue": "3530323330", - "id": 4642, + "id": 4651, "isConstant": false, "isLValue": false, "isPure": true, @@ -5476,10 +5476,10 @@ }, { "constant": true, - "id": 4646, + "id": 4655, "name": "ERR_SUPERBLOCK_BAD_INTERIM_BLOCKINDEX", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3613:59:4", "stateVariable": true, "storageLocation": "default", @@ -5488,7 +5488,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4644, + "id": 4653, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3613:4:4", @@ -5500,7 +5500,7 @@ "value": { "argumentTypes": null, "hexValue": "3530323430", - "id": 4645, + "id": 4654, "isConstant": false, "isLValue": false, "isPure": true, @@ -5519,10 +5519,10 @@ }, { "constant": true, - "id": 4649, + "id": 4658, "name": "ERR_BAD_FEE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3712:33:4", "stateVariable": true, "storageLocation": "default", @@ -5531,7 +5531,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4647, + "id": 4656, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3712:4:4", @@ -5543,7 +5543,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303130", - "id": 4648, + "id": 4657, "isConstant": false, "isLValue": false, "isPure": true, @@ -5562,10 +5562,10 @@ }, { "constant": true, - "id": 4652, + "id": 4661, "name": "ERR_CONFIRMATIONS", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3751:39:4", "stateVariable": true, "storageLocation": "default", @@ -5574,7 +5574,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4650, + "id": 4659, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3751:4:4", @@ -5586,7 +5586,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303230", - "id": 4651, + "id": 4660, "isConstant": false, "isLValue": false, "isPure": true, @@ -5605,10 +5605,10 @@ }, { "constant": true, - "id": 4655, + "id": 4664, "name": "ERR_CHAIN", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3796:31:4", "stateVariable": true, "storageLocation": "default", @@ -5617,7 +5617,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4653, + "id": 4662, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3796:4:4", @@ -5629,7 +5629,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303330", - "id": 4654, + "id": 4663, "isConstant": false, "isLValue": false, "isPure": true, @@ -5648,10 +5648,10 @@ }, { "constant": true, - "id": 4658, + "id": 4667, "name": "ERR_SUPERBLOCK", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3833:36:4", "stateVariable": true, "storageLocation": "default", @@ -5660,7 +5660,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4656, + "id": 4665, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3833:4:4", @@ -5672,7 +5672,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303430", - "id": 4657, + "id": 4666, "isConstant": false, "isLValue": false, "isPure": true, @@ -5691,10 +5691,10 @@ }, { "constant": true, - "id": 4661, + "id": 4670, "name": "ERR_MERKLE_ROOT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3875:37:4", "stateVariable": true, "storageLocation": "default", @@ -5703,7 +5703,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4659, + "id": 4668, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3875:4:4", @@ -5715,7 +5715,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303530", - "id": 4660, + "id": 4669, "isConstant": false, "isLValue": false, "isPure": true, @@ -5734,10 +5734,10 @@ }, { "constant": true, - "id": 4664, + "id": 4673, "name": "ERR_TX_64BYTE", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3918:35:4", "stateVariable": true, "storageLocation": "default", @@ -5746,7 +5746,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4662, + "id": 4671, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3918:4:4", @@ -5758,7 +5758,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303630", - "id": 4663, + "id": 4672, "isConstant": false, "isLValue": false, "isPure": true, @@ -5777,10 +5777,10 @@ }, { "constant": true, - "id": 4667, + "id": 4676, "name": "ERR_SUPERBLOCK_MERKLE_ROOT", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "3959:48:4", "stateVariable": true, "storageLocation": "default", @@ -5789,7 +5789,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4665, + "id": 4674, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3959:4:4", @@ -5801,7 +5801,7 @@ "value": { "argumentTypes": null, "hexValue": "3230303730", - "id": 4666, + "id": 4675, "isConstant": false, "isLValue": false, "isPure": true, @@ -5820,10 +5820,10 @@ }, { "constant": true, - "id": 4670, + "id": 4679, "name": "ERR_RELAY_VERIFY", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "4044:38:4", "stateVariable": true, "storageLocation": "default", @@ -5832,7 +5832,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4668, + "id": 4677, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4044:4:4", @@ -5844,7 +5844,7 @@ "value": { "argumentTypes": null, "hexValue": "3330303130", - "id": 4669, + "id": 4678, "isConstant": false, "isLValue": false, "isPure": true, @@ -5863,10 +5863,10 @@ }, { "constant": true, - "id": 4673, + "id": 4682, "name": "ERR_CANCEL_TRANSFER_VERIFY", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "4088:48:4", "stateVariable": true, "storageLocation": "default", @@ -5875,7 +5875,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4671, + "id": 4680, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4088:4:4", @@ -5887,7 +5887,7 @@ "value": { "argumentTypes": null, "hexValue": "3330303230", - "id": 4672, + "id": 4681, "isConstant": false, "isLValue": false, "isPure": true, @@ -5906,10 +5906,10 @@ }, { "constant": true, - "id": 4676, + "id": 4685, "name": "minProposalDeposit", "nodeType": "VariableDeclaration", - "scope": 4677, + "scope": 4686, "src": "4142:61:4", "stateVariable": true, "storageLocation": "default", @@ -5918,7 +5918,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4674, + "id": 4683, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4142:4:4", @@ -5930,7 +5930,7 @@ "value": { "argumentTypes": null, "hexValue": "33303030303030303030303030303030303030", - "id": 4675, + "id": 4684, "isConstant": false, "isLValue": false, "isPure": true, @@ -5948,7 +5948,7 @@ "visibility": "public" } ], - "scope": 4678, + "scope": 4687, "src": "67:4139:4" } ], @@ -5959,8 +5959,8 @@ "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.510Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.382Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/SyscoinMessageLibrary.json b/build/contracts/SyscoinMessageLibrary.json index 3df6e30..0ce6974 100644 --- a/build/contracts/SyscoinMessageLibrary.json +++ b/build/contracts/SyscoinMessageLibrary.json @@ -184,14 +184,14 @@ "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinParser/SyscoinMessageLibrary.sol", "exportedSymbols": { "SyscoinMessageLibrary": [ - 4991 + 5000 ] }, - "id": 4992, + "id": 5001, "nodeType": "SourceUnit", "nodes": [ { - "id": 4679, + "id": 4688, "literals": [ "solidity", "^", @@ -204,10 +204,10 @@ { "absolutePath": "solidity-rlp/contracts/RLPReader.sol", "file": "solidity-rlp/contracts/RLPReader.sol", - "id": 4680, + "id": 4689, "nodeType": "ImportDirective", - "scope": 4992, - "sourceUnit": 10170, + "scope": 5001, + "sourceUnit": 11084, "src": "26:46:5", "symbolAliases": [], "unitAlias": "" @@ -218,24 +218,24 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 4991, + "id": 5000, "linearizedBaseContracts": [ - 4991 + 5000 ], "name": "SyscoinMessageLibrary", "nodeType": "ContractDefinition", "nodes": [ { - "id": 4683, + "id": 4692, "libraryName": { "contractScope": null, - "id": 4681, + "id": 4690, "name": "RLPReader", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10169, + "referencedDeclaration": 11083, "src": "164:9:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_RLPReader_$10169", + "typeIdentifier": "t_contract$_RLPReader_$11083", "typeString": "library RLPReader" } }, @@ -243,35 +243,35 @@ "src": "158:38:5", "typeName": { "contractScope": null, - "id": 4682, + "id": 4691, "name": "RLPReader.RLPItem", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9490, + "referencedDeclaration": 10404, "src": "178:17:5", "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_storage_ptr", + "typeIdentifier": "t_struct$_RLPItem_$10404_storage_ptr", "typeString": "struct RLPReader.RLPItem" } } }, { - "id": 4686, + "id": 4695, "libraryName": { "contractScope": null, - "id": 4684, + "id": 4693, "name": "RLPReader", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10169, + "referencedDeclaration": 11083, "src": "207:9:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_RLPReader_$10169", + "typeIdentifier": "t_contract$_RLPReader_$11083", "typeString": "library RLPReader" } }, "nodeType": "UsingForDirective", "src": "201:26:5", "typeName": { - "id": 4685, + "id": 4694, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "221:5:5", @@ -283,10 +283,10 @@ }, { "constant": true, - "id": 4689, + "id": 4698, "name": "ERR_PARSE_TX_SYS", "nodeType": "VariableDeclaration", - "scope": 4991, + "scope": 5000, "src": "233:38:5", "stateVariable": true, "storageLocation": "default", @@ -295,7 +295,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4687, + "id": 4696, "name": "uint", "nodeType": "ElementaryTypeName", "src": "233:4:5", @@ -307,7 +307,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313730", - "id": 4688, + "id": 4697, "isConstant": false, "isLValue": false, "isPure": true, @@ -326,22 +326,22 @@ }, { "canonicalName": "SyscoinMessageLibrary.Network", - "id": 4693, + "id": 4702, "members": [ { - "id": 4690, + "id": 4699, "name": "MAINNET", "nodeType": "EnumValue", "src": "292:7:5" }, { - "id": 4691, + "id": 4700, "name": "TESTNET", "nodeType": "EnumValue", "src": "301:7:5" }, { - "id": 4692, + "id": 4701, "name": "REGTEST", "nodeType": "EnumValue", "src": "310:7:5" @@ -353,10 +353,10 @@ }, { "constant": true, - "id": 4696, + "id": 4705, "name": "SYSCOIN_TX_VERSION_ALLOCATION_BURN_TO_ETHEREUM", "nodeType": "VariableDeclaration", - "scope": 4991, + "scope": 5000, "src": "324:71:5", "stateVariable": true, "storageLocation": "default", @@ -365,7 +365,7 @@ "typeString": "uint32" }, "typeName": { - "id": 4694, + "id": 4703, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "324:6:5", @@ -377,7 +377,7 @@ "value": { "argumentTypes": null, "hexValue": "307837343037", - "id": 4695, + "id": 4704, "isConstant": false, "isLValue": false, "isPure": true, @@ -396,21 +396,21 @@ }, { "body": { - "id": 4773, + "id": 4782, "nodeType": "Block", "src": "592:494:5", "statements": [ { "assignments": [ - 4708 + 4717 ], "declarations": [ { "constant": false, - "id": 4708, + "id": 4717, "name": "ibit", "nodeType": "VariableDeclaration", - "scope": 4773, + "scope": 4782, "src": "660:10:5", "stateVariable": false, "storageLocation": "default", @@ -419,7 +419,7 @@ "typeString": "uint8" }, "typeName": { - "id": 4707, + "id": 4716, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "660:5:5", @@ -432,7 +432,7 @@ "visibility": "internal" } ], - "id": 4714, + "id": 4723, "initialValue": { "argumentTypes": null, "arguments": [ @@ -440,25 +440,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4710, + "id": 4719, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4698, + "referencedDeclaration": 4707, "src": "679:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 4712, + "id": 4721, "indexExpression": { "argumentTypes": null, - "id": 4711, + "id": 4720, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "687:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -484,7 +484,7 @@ "typeString": "bytes1" } ], - "id": 4709, + "id": 4718, "isConstant": false, "isLValue": false, "isPure": true, @@ -497,7 +497,7 @@ }, "typeName": "uint8" }, - "id": 4713, + "id": 4722, "isConstant": false, "isLValue": false, "isPure": false, @@ -517,18 +517,18 @@ { "expression": { "argumentTypes": null, - "id": 4717, + "id": 4726, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4715, + "id": 4724, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "702:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -540,7 +540,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "31", - "id": 4716, + "id": 4725, "isConstant": false, "isLValue": false, "isPure": true, @@ -561,7 +561,7 @@ "typeString": "uint256" } }, - "id": 4718, + "id": 4727, "nodeType": "ExpressionStatement", "src": "702:8:5" }, @@ -572,18 +572,18 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 4721, + "id": 4730, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4719, + "id": 4728, "name": "ibit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, + "referencedDeclaration": 4717, "src": "739:4:5", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -595,7 +595,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30786664", - "id": 4720, + "id": 4729, "isConstant": false, "isLValue": false, "isPure": true, @@ -623,18 +623,18 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 4729, + "id": 4738, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4727, + "id": 4736, "name": "ibit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, + "referencedDeclaration": 4717, "src": "805:4:5", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -646,7 +646,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30786664", - "id": 4728, + "id": 4737, "isConstant": false, "isLValue": false, "isPure": true, @@ -674,18 +674,18 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 4743, + "id": 4752, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4741, + "id": 4750, "name": "ibit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, + "referencedDeclaration": 4717, "src": "900:4:5", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -697,7 +697,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30786665", - "id": 4742, + "id": 4751, "isConstant": false, "isLValue": false, "isPure": true, @@ -725,18 +725,18 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 4757, + "id": 4766, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4755, + "id": 4764, "name": "ibit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, + "referencedDeclaration": 4717, "src": "995:4:5", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -748,7 +748,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30786666", - "id": 4756, + "id": 4765, "isConstant": false, "isLValue": false, "isPure": true, @@ -770,11 +770,11 @@ } }, "falseBody": null, - "id": 4769, + "id": 4778, "nodeType": "IfStatement", "src": "991:89:5", "trueBody": { - "id": 4768, + "id": 4777, "nodeType": "Block", "src": "1009:71:5", "statements": [ @@ -787,11 +787,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4759, + "id": 4768, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4698, + "referencedDeclaration": 4707, "src": "1042:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -800,11 +800,11 @@ }, { "argumentTypes": null, - "id": 4760, + "id": 4769, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "1051:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -814,7 +814,7 @@ { "argumentTypes": null, "hexValue": "3634", - "id": 4761, + "id": 4770, "isConstant": false, "isLValue": false, "isPure": true, @@ -845,18 +845,18 @@ "typeString": "int_const 64" } ], - "id": 4758, + "id": 4767, "name": "getBytesLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4819, + "referencedDeclaration": 4828, "src": "1031:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,uint256,uint256) pure returns (uint256)" } }, - "id": 4762, + "id": 4771, "isConstant": false, "isLValue": false, "isPure": false, @@ -876,18 +876,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4765, + "id": 4774, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4763, + "id": 4772, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "1061:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -899,7 +899,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "38", - "id": 4764, + "id": 4773, "isConstant": false, "isLValue": false, "isPure": true, @@ -921,7 +921,7 @@ } } ], - "id": 4766, + "id": 4775, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -934,19 +934,19 @@ "typeString": "tuple(uint256,uint256)" } }, - "functionReturnParameters": 4706, - "id": 4767, + "functionReturnParameters": 4715, + "id": 4776, "nodeType": "Return", "src": "1023:46:5" } ] } }, - "id": 4770, + "id": 4779, "nodeType": "IfStatement", "src": "896:184:5", "trueBody": { - "id": 4754, + "id": 4763, "nodeType": "Block", "src": "914:71:5", "statements": [ @@ -959,11 +959,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4745, + "id": 4754, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4698, + "referencedDeclaration": 4707, "src": "947:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -972,11 +972,11 @@ }, { "argumentTypes": null, - "id": 4746, + "id": 4755, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "956:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -986,7 +986,7 @@ { "argumentTypes": null, "hexValue": "3332", - "id": 4747, + "id": 4756, "isConstant": false, "isLValue": false, "isPure": true, @@ -1017,18 +1017,18 @@ "typeString": "int_const 32" } ], - "id": 4744, + "id": 4753, "name": "getBytesLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4819, + "referencedDeclaration": 4828, "src": "936:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,uint256,uint256) pure returns (uint256)" } }, - "id": 4748, + "id": 4757, "isConstant": false, "isLValue": false, "isPure": false, @@ -1048,18 +1048,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4751, + "id": 4760, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4749, + "id": 4758, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "966:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1071,7 +1071,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "34", - "id": 4750, + "id": 4759, "isConstant": false, "isLValue": false, "isPure": true, @@ -1093,7 +1093,7 @@ } } ], - "id": 4752, + "id": 4761, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1106,19 +1106,19 @@ "typeString": "tuple(uint256,uint256)" } }, - "functionReturnParameters": 4706, - "id": 4753, + "functionReturnParameters": 4715, + "id": 4762, "nodeType": "Return", "src": "928:46:5" } ] } }, - "id": 4771, + "id": 4780, "nodeType": "IfStatement", "src": "801:279:5", "trueBody": { - "id": 4740, + "id": 4749, "nodeType": "Block", "src": "819:71:5", "statements": [ @@ -1131,11 +1131,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4731, + "id": 4740, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4698, + "referencedDeclaration": 4707, "src": "852:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -1144,11 +1144,11 @@ }, { "argumentTypes": null, - "id": 4732, + "id": 4741, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "861:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1158,7 +1158,7 @@ { "argumentTypes": null, "hexValue": "3136", - "id": 4733, + "id": 4742, "isConstant": false, "isLValue": false, "isPure": true, @@ -1189,18 +1189,18 @@ "typeString": "int_const 16" } ], - "id": 4730, + "id": 4739, "name": "getBytesLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4819, + "referencedDeclaration": 4828, "src": "841:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,uint256,uint256) pure returns (uint256)" } }, - "id": 4734, + "id": 4743, "isConstant": false, "isLValue": false, "isPure": false, @@ -1220,18 +1220,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4737, + "id": 4746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4735, + "id": 4744, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "871:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1243,7 +1243,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 4736, + "id": 4745, "isConstant": false, "isLValue": false, "isPure": true, @@ -1265,7 +1265,7 @@ } } ], - "id": 4738, + "id": 4747, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1278,19 +1278,19 @@ "typeString": "tuple(uint256,uint256)" } }, - "functionReturnParameters": 4706, - "id": 4739, + "functionReturnParameters": 4715, + "id": 4748, "nodeType": "Return", "src": "833:46:5" } ] } }, - "id": 4772, + "id": 4781, "nodeType": "IfStatement", "src": "735:345:5", "trueBody": { - "id": 4726, + "id": 4735, "nodeType": "Block", "src": "752:43:5", "statements": [ @@ -1300,11 +1300,11 @@ "components": [ { "argumentTypes": null, - "id": 4722, + "id": 4731, "name": "ibit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, + "referencedDeclaration": 4717, "src": "774:4:5", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -1313,11 +1313,11 @@ }, { "argumentTypes": null, - "id": 4723, + "id": 4732, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "780:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1325,7 +1325,7 @@ } } ], - "id": 4724, + "id": 4733, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1338,8 +1338,8 @@ "typeString": "tuple(uint8,uint256)" } }, - "functionReturnParameters": 4706, - "id": 4725, + "functionReturnParameters": 4715, + "id": 4734, "nodeType": "Return", "src": "766:18:5" } @@ -1349,22 +1349,22 @@ ] }, "documentation": null, - "id": 4774, + "id": 4783, "implemented": true, "kind": "function", "modifiers": [], "name": "parseVarInt", "nodeType": "FunctionDefinition", "parameters": { - "id": 4701, + "id": 4710, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4698, + "id": 4707, "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 4774, + "scope": 4783, "src": "527:20:5", "stateVariable": false, "storageLocation": "memory", @@ -1373,7 +1373,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4697, + "id": 4706, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "527:5:5", @@ -1387,10 +1387,10 @@ }, { "constant": false, - "id": 4700, + "id": 4709, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 4774, + "scope": 4783, "src": "549:8:5", "stateVariable": false, "storageLocation": "default", @@ -1399,7 +1399,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4699, + "id": 4708, "name": "uint", "nodeType": "ElementaryTypeName", "src": "549:4:5", @@ -1415,15 +1415,15 @@ "src": "526:32:5" }, "returnParameters": { - "id": 4706, + "id": 4715, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4703, + "id": 4712, "name": "", "nodeType": "VariableDeclaration", - "scope": 4774, + "scope": 4783, "src": "580:4:5", "stateVariable": false, "storageLocation": "default", @@ -1432,7 +1432,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4702, + "id": 4711, "name": "uint", "nodeType": "ElementaryTypeName", "src": "580:4:5", @@ -1446,10 +1446,10 @@ }, { "constant": false, - "id": 4705, + "id": 4714, "name": "", "nodeType": "VariableDeclaration", - "scope": 4774, + "scope": 4783, "src": "586:4:5", "stateVariable": false, "storageLocation": "default", @@ -1458,7 +1458,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4704, + "id": 4713, "name": "uint", "nodeType": "ElementaryTypeName", "src": "586:4:5", @@ -1473,7 +1473,7 @@ ], "src": "579:12:5" }, - "scope": 4991, + "scope": 5000, "src": "506:580:5", "stateMutability": "pure", "superFunction": null, @@ -1481,31 +1481,31 @@ }, { "body": { - "id": 4818, + "id": 4827, "nodeType": "Block", "src": "1260:134:5", "statements": [ { "body": { - "id": 4816, + "id": 4825, "nodeType": "Block", "src": "1309:79:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 4814, + "id": 4823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4797, + "id": 4806, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4783, + "referencedDeclaration": 4792, "src": "1323:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1520,7 +1520,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4813, + "id": 4822, "isConstant": false, "isLValue": false, "isPure": false, @@ -1535,36 +1535,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4800, + "id": 4809, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4776, + "referencedDeclaration": 4785, "src": "1347:4:5", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 4804, + "id": 4813, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4803, + "id": 4812, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4801, + "id": 4810, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4778, + "referencedDeclaration": 4787, "src": "1352:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1575,11 +1575,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 4802, + "id": 4811, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4786, + "referencedDeclaration": 4795, "src": "1358:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1611,7 +1611,7 @@ "typeString": "bytes1" } ], - "id": 4799, + "id": 4808, "isConstant": false, "isLValue": false, "isPure": true, @@ -1624,7 +1624,7 @@ }, "typeName": "uint8" }, - "id": 4805, + "id": 4814, "isConstant": false, "isLValue": false, "isPure": false, @@ -1646,7 +1646,7 @@ "typeString": "uint8" } ], - "id": 4798, + "id": 4807, "isConstant": false, "isLValue": false, "isPure": true, @@ -1659,7 +1659,7 @@ }, "typeName": "uint256" }, - "id": 4806, + "id": 4815, "isConstant": false, "isLValue": false, "isPure": false, @@ -1681,7 +1681,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4812, + "id": 4821, "isConstant": false, "isLValue": false, "isPure": false, @@ -1689,7 +1689,7 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 4807, + "id": 4816, "isConstant": false, "isLValue": false, "isPure": true, @@ -1715,18 +1715,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4810, + "id": 4819, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4808, + "id": 4817, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4786, + "referencedDeclaration": 4795, "src": "1371:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1738,7 +1738,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "38", - "id": 4809, + "id": 4818, "isConstant": false, "isLValue": false, "isPure": true, @@ -1760,7 +1760,7 @@ } } ], - "id": 4811, + "id": 4820, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1791,7 +1791,7 @@ "typeString": "uint256" } }, - "id": 4815, + "id": 4824, "nodeType": "ExpressionStatement", "src": "1323:54:5" } @@ -1803,18 +1803,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4793, + "id": 4802, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4789, + "id": 4798, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4786, + "referencedDeclaration": 4795, "src": "1290:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1829,18 +1829,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4792, + "id": 4801, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4790, + "id": 4799, "name": "bits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4780, + "referencedDeclaration": 4789, "src": "1294:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1852,7 +1852,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "38", - "id": 4791, + "id": 4800, "isConstant": false, "isLValue": false, "isPure": true, @@ -1879,18 +1879,18 @@ "typeString": "bool" } }, - "id": 4817, + "id": 4826, "initializationExpression": { "assignments": [ - 4786 + 4795 ], "declarations": [ { "constant": false, - "id": 4786, + "id": 4795, "name": "i", "nodeType": "VariableDeclaration", - "scope": 4817, + "scope": 4826, "src": "1275:9:5", "stateVariable": false, "storageLocation": "default", @@ -1899,7 +1899,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4785, + "id": 4794, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1275:7:5", @@ -1912,11 +1912,11 @@ "visibility": "internal" } ], - "id": 4788, + "id": 4797, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 4787, + "id": 4796, "isConstant": false, "isLValue": false, "isPure": true, @@ -1937,7 +1937,7 @@ "loopExpression": { "expression": { "argumentTypes": null, - "id": 4795, + "id": 4804, "isConstant": false, "isLValue": false, "isPure": false, @@ -1948,11 +1948,11 @@ "src": "1304:3:5", "subExpression": { "argumentTypes": null, - "id": 4794, + "id": 4803, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4786, + "referencedDeclaration": 4795, "src": "1304:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1964,7 +1964,7 @@ "typeString": "uint256" } }, - "id": 4796, + "id": 4805, "nodeType": "ExpressionStatement", "src": "1304:3:5" }, @@ -1974,22 +1974,22 @@ ] }, "documentation": null, - "id": 4819, + "id": 4828, "implemented": true, "kind": "function", "modifiers": [], "name": "getBytesLE", "nodeType": "FunctionDefinition", "parameters": { - "id": 4781, + "id": 4790, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4776, + "id": 4785, "name": "data", "nodeType": "VariableDeclaration", - "scope": 4819, + "scope": 4828, "src": "1155:17:5", "stateVariable": false, "storageLocation": "memory", @@ -1998,7 +1998,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4775, + "id": 4784, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1155:5:5", @@ -2012,10 +2012,10 @@ }, { "constant": false, - "id": 4778, + "id": 4787, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 4819, + "scope": 4828, "src": "1174:8:5", "stateVariable": false, "storageLocation": "default", @@ -2024,7 +2024,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4777, + "id": 4786, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1174:4:5", @@ -2038,10 +2038,10 @@ }, { "constant": false, - "id": 4780, + "id": 4789, "name": "bits", "nodeType": "VariableDeclaration", - "scope": 4819, + "scope": 4828, "src": "1184:9:5", "stateVariable": false, "storageLocation": "default", @@ -2050,7 +2050,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4779, + "id": 4788, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1184:4:5", @@ -2066,15 +2066,15 @@ "src": "1154:40:5" }, "returnParameters": { - "id": 4784, + "id": 4793, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4783, + "id": 4792, "name": "result", "nodeType": "VariableDeclaration", - "scope": 4819, + "scope": 4828, "src": "1240:14:5", "stateVariable": false, "storageLocation": "default", @@ -2083,7 +2083,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4782, + "id": 4791, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1240:7:5", @@ -2098,7 +2098,7 @@ ], "src": "1239:16:5" }, - "scope": 4991, + "scope": 5000, "src": "1135:259:5", "stateMutability": "pure", "superFunction": null, @@ -2106,7 +2106,7 @@ }, { "body": { - "id": 4829, + "id": 4838, "nodeType": "Block", "src": "1641:377:5", "statements": [ @@ -2114,7 +2114,7 @@ "externalReferences": [ { "input": { - "declaration": 4821, + "declaration": 4830, "isOffset": false, "isSlot": false, "src": "1700:5:5", @@ -2123,7 +2123,7 @@ }, { "pos": { - "declaration": 4823, + "declaration": 4832, "isOffset": false, "isSlot": false, "src": "1714:3:5", @@ -2132,7 +2132,7 @@ }, { "result": { - "declaration": 4826, + "declaration": 4835, "isOffset": false, "isSlot": false, "src": "1964:6:5", @@ -2140,7 +2140,7 @@ } } ], - "id": 4828, + "id": 4837, "nodeType": "InlineAssembly", "operations": "{\n let data := mload(add(add(input, 0x20), pos))\n let flip := mload(0x40)\n mstore8(add(flip, 0), byte(3, data))\n mstore8(add(flip, 1), byte(2, data))\n mstore8(add(flip, 2), byte(1, data))\n mstore8(add(flip, 3), byte(0, data))\n result := shr(mul(8, 28), mload(flip))\n}", "src": "1651:361:5" @@ -2148,22 +2148,22 @@ ] }, "documentation": null, - "id": 4830, + "id": 4839, "implemented": true, "kind": "function", "modifiers": [], "name": "bytesToUint32Flipped", "nodeType": "FunctionDefinition", "parameters": { - "id": 4824, + "id": 4833, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4821, + "id": 4830, "name": "input", "nodeType": "VariableDeclaration", - "scope": 4830, + "scope": 4839, "src": "1547:18:5", "stateVariable": false, "storageLocation": "memory", @@ -2172,7 +2172,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4820, + "id": 4829, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1547:5:5", @@ -2186,10 +2186,10 @@ }, { "constant": false, - "id": 4823, + "id": 4832, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 4830, + "scope": 4839, "src": "1567:8:5", "stateVariable": false, "storageLocation": "default", @@ -2198,7 +2198,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4822, + "id": 4831, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1567:4:5", @@ -2214,15 +2214,15 @@ "src": "1546:30:5" }, "returnParameters": { - "id": 4827, + "id": 4836, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4826, + "id": 4835, "name": "result", "nodeType": "VariableDeclaration", - "scope": 4830, + "scope": 4839, "src": "1622:13:5", "stateVariable": false, "storageLocation": "default", @@ -2231,7 +2231,7 @@ "typeString": "uint32" }, "typeName": { - "id": 4825, + "id": 4834, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1622:6:5", @@ -2246,7 +2246,7 @@ ], "src": "1621:15:5" }, - "scope": 4991, + "scope": 5000, "src": "1517:501:5", "stateMutability": "pure", "superFunction": null, @@ -2254,7 +2254,7 @@ }, { "body": { - "id": 4838, + "id": 4847, "nodeType": "Block", "src": "2282:1748:5", "statements": [ @@ -2262,7 +2262,7 @@ "externalReferences": [ { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3047:6:5", @@ -2271,7 +2271,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2380:6:5", @@ -2280,7 +2280,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2431:6:5", @@ -2289,7 +2289,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2482:6:5", @@ -2298,7 +2298,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2533:6:5", @@ -2307,7 +2307,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2788:6:5", @@ -2316,7 +2316,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2584:6:5", @@ -2325,7 +2325,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2635:6:5", @@ -2334,7 +2334,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2686:6:5", @@ -2343,7 +2343,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2737:6:5", @@ -2352,7 +2352,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3203:6:5", @@ -2361,7 +2361,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3255:6:5", @@ -2370,7 +2370,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3307:6:5", @@ -2379,7 +2379,7 @@ }, { "result": { - "declaration": 4835, + "declaration": 4844, "isOffset": false, "isSlot": false, "src": "3994:6:5", @@ -2388,7 +2388,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2839:6:5", @@ -2397,7 +2397,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2891:6:5", @@ -2406,7 +2406,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2943:6:5", @@ -2415,7 +2415,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2995:6:5", @@ -2424,7 +2424,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3099:6:5", @@ -2433,7 +2433,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3151:6:5", @@ -2442,7 +2442,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3359:6:5", @@ -2451,7 +2451,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3411:6:5", @@ -2460,7 +2460,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3463:6:5", @@ -2469,7 +2469,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3514:6:5", @@ -2478,7 +2478,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3565:6:5", @@ -2487,7 +2487,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3616:6:5", @@ -2496,7 +2496,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3667:6:5", @@ -2505,7 +2505,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3718:6:5", @@ -2514,7 +2514,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3769:6:5", @@ -2523,7 +2523,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3820:6:5", @@ -2532,7 +2532,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3871:6:5", @@ -2541,7 +2541,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3922:6:5", @@ -2550,7 +2550,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3973:6:5", @@ -2558,7 +2558,7 @@ } } ], - "id": 4837, + "id": 4846, "nodeType": "InlineAssembly", "operations": "{\n let pos := mload(0x40)\n mstore8(add(pos, 0), byte(31, _input))\n mstore8(add(pos, 1), byte(30, _input))\n mstore8(add(pos, 2), byte(29, _input))\n mstore8(add(pos, 3), byte(28, _input))\n mstore8(add(pos, 4), byte(27, _input))\n mstore8(add(pos, 5), byte(26, _input))\n mstore8(add(pos, 6), byte(25, _input))\n mstore8(add(pos, 7), byte(24, _input))\n mstore8(add(pos, 8), byte(23, _input))\n mstore8(add(pos, 9), byte(22, _input))\n mstore8(add(pos, 10), byte(21, _input))\n mstore8(add(pos, 11), byte(20, _input))\n mstore8(add(pos, 12), byte(19, _input))\n mstore8(add(pos, 13), byte(18, _input))\n mstore8(add(pos, 14), byte(17, _input))\n mstore8(add(pos, 15), byte(16, _input))\n mstore8(add(pos, 16), byte(15, _input))\n mstore8(add(pos, 17), byte(14, _input))\n mstore8(add(pos, 18), byte(13, _input))\n mstore8(add(pos, 19), byte(12, _input))\n mstore8(add(pos, 20), byte(11, _input))\n mstore8(add(pos, 21), byte(10, _input))\n mstore8(add(pos, 22), byte(9, _input))\n mstore8(add(pos, 23), byte(8, _input))\n mstore8(add(pos, 24), byte(7, _input))\n mstore8(add(pos, 25), byte(6, _input))\n mstore8(add(pos, 26), byte(5, _input))\n mstore8(add(pos, 27), byte(4, _input))\n mstore8(add(pos, 28), byte(3, _input))\n mstore8(add(pos, 29), byte(2, _input))\n mstore8(add(pos, 30), byte(1, _input))\n mstore8(add(pos, 31), byte(0, _input))\n result := mload(pos)\n}", "src": "2292:1732:5" @@ -2566,22 +2566,22 @@ ] }, "documentation": null, - "id": 4839, + "id": 4848, "implemented": true, "kind": "function", "modifiers": [], "name": "flip32Bytes", "nodeType": "FunctionDefinition", "parameters": { - "id": 4833, + "id": 4842, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4832, + "id": 4841, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 4839, + "scope": 4848, "src": "2235:11:5", "stateVariable": false, "storageLocation": "default", @@ -2590,7 +2590,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4831, + "id": 4840, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2235:4:5", @@ -2606,15 +2606,15 @@ "src": "2234:13:5" }, "returnParameters": { - "id": 4836, + "id": 4845, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4835, + "id": 4844, "name": "result", "nodeType": "VariableDeclaration", - "scope": 4839, + "scope": 4848, "src": "2269:11:5", "stateVariable": false, "storageLocation": "default", @@ -2623,7 +2623,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4834, + "id": 4843, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2269:4:5", @@ -2638,7 +2638,7 @@ ], "src": "2268:13:5" }, - "scope": 4991, + "scope": 5000, "src": "2214:1816:5", "stateMutability": "pure", "superFunction": null, @@ -2646,21 +2646,21 @@ }, { "body": { - "id": 4961, + "id": 4970, "nodeType": "Block", "src": "4558:814:5", "statements": [ { "assignments": [ - 4852 + 4861 ], "declarations": [ { "constant": false, - "id": 4852, + "id": 4861, "name": "length", "nodeType": "VariableDeclaration", - "scope": 4961, + "scope": 4970, "src": "4568:11:5", "stateVariable": false, "storageLocation": "default", @@ -2669,7 +2669,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4851, + "id": 4860, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4568:4:5", @@ -2682,23 +2682,23 @@ "visibility": "internal" } ], - "id": 4855, + "id": 4864, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4853, + "id": 4862, "name": "_siblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4846, + "referencedDeclaration": 4855, "src": "4582:9:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 4854, + "id": 4863, "isConstant": false, "isLValue": false, "isPure": false, @@ -2717,15 +2717,15 @@ }, { "assignments": [ - 4857 + 4866 ], "declarations": [ { "constant": false, - "id": 4857, + "id": 4866, "name": "i", "nodeType": "VariableDeclaration", - "scope": 4961, + "scope": 4970, "src": "4608:6:5", "stateVariable": false, "storageLocation": "default", @@ -2734,7 +2734,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4856, + "id": 4865, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4608:4:5", @@ -2747,21 +2747,21 @@ "visibility": "internal" } ], - "id": 4858, + "id": 4867, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "4608:6:5" }, { "body": { - "id": 4879, + "id": 4888, "nodeType": "Block", "src": "4653:65:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 4877, + "id": 4886, "isConstant": false, "isLValue": false, "isPure": false, @@ -2770,25 +2770,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4869, + "id": 4878, "name": "_siblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4846, + "referencedDeclaration": 4855, "src": "4667:9:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 4871, + "id": 4880, "indexExpression": { "argumentTypes": null, - "id": 4870, + "id": 4879, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4677:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2815,25 +2815,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4873, + "id": 4882, "name": "_siblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4846, + "referencedDeclaration": 4855, "src": "4694:9:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 4875, + "id": 4884, "indexExpression": { "argumentTypes": null, - "id": 4874, + "id": 4883, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4704:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2859,18 +2859,18 @@ "typeString": "uint256" } ], - "id": 4872, + "id": 4881, "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "4682:11:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 4876, + "id": 4885, "isConstant": false, "isLValue": false, "isPure": false, @@ -2890,7 +2890,7 @@ "typeString": "uint256" } }, - "id": 4878, + "id": 4887, "nodeType": "ExpressionStatement", "src": "4667:40:5" } @@ -2902,18 +2902,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4865, + "id": 4874, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4863, + "id": 4872, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4636:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2924,11 +2924,11 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 4864, + "id": 4873, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4852, + "referencedDeclaration": 4861, "src": "4640:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2941,22 +2941,22 @@ "typeString": "bool" } }, - "id": 4880, + "id": 4889, "initializationExpression": { "expression": { "argumentTypes": null, - "id": 4861, + "id": 4870, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4859, + "id": 4868, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4629:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2968,7 +2968,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 4860, + "id": 4869, "isConstant": false, "isLValue": false, "isPure": true, @@ -2989,14 +2989,14 @@ "typeString": "uint256" } }, - "id": 4862, + "id": 4871, "nodeType": "ExpressionStatement", "src": "4629:5:5" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 4867, + "id": 4876, "isConstant": false, "isLValue": false, "isPure": false, @@ -3007,11 +3007,11 @@ "src": "4648:3:5", "subExpression": { "argumentTypes": null, - "id": 4866, + "id": 4875, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4648:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3023,7 +3023,7 @@ "typeString": "uint256" } }, - "id": 4868, + "id": 4877, "nodeType": "ExpressionStatement", "src": "4648:3:5" }, @@ -3033,18 +3033,18 @@ { "expression": { "argumentTypes": null, - "id": 4883, + "id": 4892, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4881, + "id": 4890, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4728:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3056,7 +3056,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 4882, + "id": 4891, "isConstant": false, "isLValue": false, "isPure": true, @@ -3077,21 +3077,21 @@ "typeString": "uint256" } }, - "id": 4884, + "id": 4893, "nodeType": "ExpressionStatement", "src": "4728:5:5" }, { "assignments": [ - 4886 + 4895 ], "declarations": [ { "constant": false, - "id": 4886, + "id": 4895, "name": "resultHash", "nodeType": "VariableDeclaration", - "scope": 4961, + "scope": 4970, "src": "4743:15:5", "stateVariable": false, "storageLocation": "default", @@ -3100,7 +3100,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4885, + "id": 4894, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4743:4:5", @@ -3113,17 +3113,17 @@ "visibility": "internal" } ], - "id": 4890, + "id": 4899, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4888, + "id": 4897, "name": "_txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4841, + "referencedDeclaration": 4850, "src": "4773:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3138,18 +3138,18 @@ "typeString": "uint256" } ], - "id": 4887, + "id": 4896, "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "4761:11:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 4889, + "id": 4898, "isConstant": false, "isLValue": false, "isPure": false, @@ -3168,21 +3168,21 @@ }, { "body": { - "id": 4955, + "id": 4964, "nodeType": "Block", "src": "4819:506:5", "statements": [ { "assignments": [ - 4895 + 4904 ], "declarations": [ { "constant": false, - "id": 4895, + "id": 4904, "name": "proofHex", "nodeType": "VariableDeclaration", - "scope": 4955, + "scope": 4964, "src": "4833:13:5", "stateVariable": false, "storageLocation": "default", @@ -3191,7 +3191,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4894, + "id": 4903, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4833:4:5", @@ -3204,30 +3204,30 @@ "visibility": "internal" } ], - "id": 4899, + "id": 4908, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4896, + "id": 4905, "name": "_siblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4846, + "referencedDeclaration": 4855, "src": "4849:9:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 4898, + "id": 4907, "indexExpression": { "argumentTypes": null, - "id": 4897, + "id": 4906, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4859:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3250,15 +3250,15 @@ }, { "assignments": [ - 4901 + 4910 ], "declarations": [ { "constant": false, - "id": 4901, + "id": 4910, "name": "left", "nodeType": "VariableDeclaration", - "scope": 4955, + "scope": 4964, "src": "4876:9:5", "stateVariable": false, "storageLocation": "default", @@ -3267,7 +3267,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4900, + "id": 4909, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4876:4:5", @@ -3280,22 +3280,22 @@ "visibility": "internal" } ], - "id": 4902, + "id": 4911, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "4876:9:5" }, { "assignments": [ - 4904 + 4913 ], "declarations": [ { "constant": false, - "id": 4904, + "id": 4913, "name": "right", "nodeType": "VariableDeclaration", - "scope": 4955, + "scope": 4964, "src": "4899:10:5", "stateVariable": false, "storageLocation": "default", @@ -3304,7 +3304,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4903, + "id": 4912, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4899:4:5", @@ -3317,7 +3317,7 @@ "visibility": "internal" } ], - "id": 4905, + "id": 4914, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "4899:10:5" @@ -3329,7 +3329,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4910, + "id": 4919, "isConstant": false, "isLValue": false, "isPure": false, @@ -3340,18 +3340,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4908, + "id": 4917, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4906, + "id": 4915, "name": "_txIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4843, + "referencedDeclaration": 4852, "src": "4927:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3363,7 +3363,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 4907, + "id": 4916, "isConstant": false, "isLValue": false, "isPure": true, @@ -3389,7 +3389,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 4909, + "id": 4918, "isConstant": false, "isLValue": false, "isPure": true, @@ -3411,25 +3411,25 @@ } }, "falseBody": { - "id": 4928, + "id": 4937, "nodeType": "Block", "src": "5087:84:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 4922, + "id": 4931, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4920, + "id": 4929, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4901, + "referencedDeclaration": 4910, "src": "5105:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3440,11 +3440,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4921, + "id": 4930, "name": "resultHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4886, + "referencedDeclaration": 4895, "src": "5112:10:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3457,25 +3457,25 @@ "typeString": "uint256" } }, - "id": 4923, + "id": 4932, "nodeType": "ExpressionStatement", "src": "5105:17:5" }, { "expression": { "argumentTypes": null, - "id": 4926, + "id": 4935, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4924, + "id": 4933, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4904, + "referencedDeclaration": 4913, "src": "5140:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3486,11 +3486,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4925, + "id": 4934, "name": "proofHex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, + "referencedDeclaration": 4904, "src": "5148:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3503,35 +3503,35 @@ "typeString": "uint256" } }, - "id": 4927, + "id": 4936, "nodeType": "ExpressionStatement", "src": "5140:16:5" } ] }, - "id": 4929, + "id": 4938, "nodeType": "IfStatement", "src": "4923:248:5", "trueBody": { - "id": 4919, + "id": 4928, "nodeType": "Block", "src": "4946:135:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 4913, + "id": 4922, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4911, + "id": 4920, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4901, + "referencedDeclaration": 4910, "src": "5015:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3542,11 +3542,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4912, + "id": 4921, "name": "proofHex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, + "referencedDeclaration": 4904, "src": "5022:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3559,25 +3559,25 @@ "typeString": "uint256" } }, - "id": 4914, + "id": 4923, "nodeType": "ExpressionStatement", "src": "5015:15:5" }, { "expression": { "argumentTypes": null, - "id": 4917, + "id": 4926, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4915, + "id": 4924, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4904, + "referencedDeclaration": 4913, "src": "5048:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3588,11 +3588,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4916, + "id": 4925, "name": "resultHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4886, + "referencedDeclaration": 4895, "src": "5056:10:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3605,7 +3605,7 @@ "typeString": "uint256" } }, - "id": 4918, + "id": 4927, "nodeType": "ExpressionStatement", "src": "5048:18:5" } @@ -3615,18 +3615,18 @@ { "expression": { "argumentTypes": null, - "id": 4945, + "id": 4954, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4930, + "id": 4939, "name": "resultHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4886, + "referencedDeclaration": 4895, "src": "5184:10:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3652,11 +3652,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4938, + "id": 4947, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4901, + "referencedDeclaration": 4910, "src": "5250:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3665,11 +3665,11 @@ }, { "argumentTypes": null, - "id": 4939, + "id": 4948, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4904, + "referencedDeclaration": 4913, "src": "5256:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3690,18 +3690,18 @@ ], "expression": { "argumentTypes": null, - "id": 4936, + "id": 4945, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10171, + "referencedDeclaration": 11085, "src": "5233:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 4937, + "id": 4946, "isConstant": false, "isLValue": false, "isPure": true, @@ -3715,7 +3715,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 4940, + "id": 4949, "isConstant": false, "isLValue": false, "isPure": false, @@ -3737,18 +3737,18 @@ "typeString": "bytes memory" } ], - "id": 4935, + "id": 4944, "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10193, + "referencedDeclaration": 11107, "src": "5226:6:5", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 4941, + "id": 4950, "isConstant": false, "isLValue": false, "isPure": false, @@ -3772,18 +3772,18 @@ ], "expression": { "argumentTypes": null, - "id": 4933, + "id": 4942, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10171, + "referencedDeclaration": 11085, "src": "5209:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 4934, + "id": 4943, "isConstant": false, "isLValue": false, "isPure": true, @@ -3797,7 +3797,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 4942, + "id": 4951, "isConstant": false, "isLValue": false, "isPure": false, @@ -3819,18 +3819,18 @@ "typeString": "bytes memory" } ], - "id": 4932, + "id": 4941, "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10193, + "referencedDeclaration": 11107, "src": "5202:6:5", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 4943, + "id": 4952, "isConstant": false, "isLValue": false, "isPure": false, @@ -3852,7 +3852,7 @@ "typeString": "bytes32" } ], - "id": 4931, + "id": 4940, "isConstant": false, "isLValue": false, "isPure": true, @@ -3865,7 +3865,7 @@ }, "typeName": "uint" }, - "id": 4944, + "id": 4953, "isConstant": false, "isLValue": false, "isPure": false, @@ -3885,25 +3885,25 @@ "typeString": "uint256" } }, - "id": 4946, + "id": 4955, "nodeType": "ExpressionStatement", "src": "5184:82:5" }, { "expression": { "argumentTypes": null, - "id": 4949, + "id": 4958, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4947, + "id": 4956, "name": "_txIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4843, + "referencedDeclaration": 4852, "src": "5281:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3915,7 +3915,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "32", - "id": 4948, + "id": 4957, "isConstant": false, "isLValue": false, "isPure": true, @@ -3936,25 +3936,25 @@ "typeString": "uint256" } }, - "id": 4950, + "id": 4959, "nodeType": "ExpressionStatement", "src": "5281:13:5" }, { "expression": { "argumentTypes": null, - "id": 4953, + "id": 4962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4951, + "id": 4960, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "5308:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3966,7 +3966,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "31", - "id": 4952, + "id": 4961, "isConstant": false, "isLValue": false, "isPure": true, @@ -3987,7 +3987,7 @@ "typeString": "uint256" } }, - "id": 4954, + "id": 4963, "nodeType": "ExpressionStatement", "src": "5308:6:5" } @@ -3999,18 +3999,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4893, + "id": 4902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4891, + "id": 4900, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4807:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4021,11 +4021,11 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 4892, + "id": 4901, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4852, + "referencedDeclaration": 4861, "src": "4811:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4038,7 +4038,7 @@ "typeString": "bool" } }, - "id": 4956, + "id": 4965, "nodeType": "WhileStatement", "src": "4800:525:5" }, @@ -4048,11 +4048,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4958, + "id": 4967, "name": "resultHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4886, + "referencedDeclaration": 4895, "src": "5354:10:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4067,18 +4067,18 @@ "typeString": "uint256" } ], - "id": 4957, + "id": 4966, "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "5342:11:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 4959, + "id": 4968, "isConstant": false, "isLValue": false, "isPure": false, @@ -4092,30 +4092,30 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4850, - "id": 4960, + "functionReturnParameters": 4859, + "id": 4969, "nodeType": "Return", "src": "5335:30:5" } ] }, "documentation": null, - "id": 4962, + "id": 4971, "implemented": true, "kind": "function", "modifiers": [], "name": "computeMerkle", "nodeType": "FunctionDefinition", "parameters": { - "id": 4847, + "id": 4856, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4841, + "id": 4850, "name": "_txHash", "nodeType": "VariableDeclaration", - "scope": 4962, + "scope": 4971, "src": "4449:12:5", "stateVariable": false, "storageLocation": "default", @@ -4124,7 +4124,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4840, + "id": 4849, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4449:4:5", @@ -4138,10 +4138,10 @@ }, { "constant": false, - "id": 4843, + "id": 4852, "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 4962, + "scope": 4971, "src": "4463:13:5", "stateVariable": false, "storageLocation": "default", @@ -4150,7 +4150,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4842, + "id": 4851, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4463:4:5", @@ -4164,10 +4164,10 @@ }, { "constant": false, - "id": 4846, + "id": 4855, "name": "_siblings", "nodeType": "VariableDeclaration", - "scope": 4962, + "scope": 4971, "src": "4478:23:5", "stateVariable": false, "storageLocation": "memory", @@ -4177,7 +4177,7 @@ }, "typeName": { "baseType": { - "id": 4844, + "id": 4853, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4478:4:5", @@ -4186,7 +4186,7 @@ "typeString": "uint256" } }, - "id": 4845, + "id": 4854, "length": null, "nodeType": "ArrayTypeName", "src": "4478:6:5", @@ -4202,15 +4202,15 @@ "src": "4448:54:5" }, "returnParameters": { - "id": 4850, + "id": 4859, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4849, + "id": 4858, "name": "", "nodeType": "VariableDeclaration", - "scope": 4962, + "scope": 4971, "src": "4548:4:5", "stateVariable": false, "storageLocation": "default", @@ -4219,7 +4219,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4848, + "id": 4857, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4548:4:5", @@ -4234,7 +4234,7 @@ ], "src": "4547:6:5" }, - "scope": 4991, + "scope": 5000, "src": "4426:946:5", "stateMutability": "pure", "superFunction": null, @@ -4242,21 +4242,21 @@ }, { "body": { - "id": 4989, + "id": 4998, "nodeType": "Block", "src": "5873:352:5", "statements": [ { "assignments": [ - 4974 + 4983 ], "declarations": [ { "constant": false, - "id": 4974, + "id": 4983, "name": "len", "nodeType": "VariableDeclaration", - "scope": 4989, + "scope": 4998, "src": "5883:8:5", "stateVariable": false, "storageLocation": "default", @@ -4265,7 +4265,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4973, + "id": 4982, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5883:4:5", @@ -4278,25 +4278,25 @@ "visibility": "internal" } ], - "id": 4978, + "id": 4987, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4977, + "id": 4986, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4975, + "id": 4984, "name": "_endIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4968, + "referencedDeclaration": 4977, "src": "5894:9:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4307,11 +4307,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4976, + "id": 4985, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4966, + "referencedDeclaration": 4975, "src": "5906:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4329,15 +4329,15 @@ }, { "assignments": [ - 4980 + 4989 ], "declarations": [ { "constant": false, - "id": 4980, + "id": 4989, "name": "result", "nodeType": "VariableDeclaration", - "scope": 4989, + "scope": 4998, "src": "5922:19:5", "stateVariable": false, "storageLocation": "memory", @@ -4346,7 +4346,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4979, + "id": 4988, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5922:5:5", @@ -4359,17 +4359,17 @@ "visibility": "internal" } ], - "id": 4985, + "id": 4994, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4983, + "id": 4992, "name": "len", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4974, + "referencedDeclaration": 4983, "src": "5954:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4384,7 +4384,7 @@ "typeString": "uint256" } ], - "id": 4982, + "id": 4991, "isConstant": false, "isLValue": false, "isPure": true, @@ -4396,7 +4396,7 @@ "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { - "id": 4981, + "id": 4990, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5948:5:5", @@ -4406,7 +4406,7 @@ } } }, - "id": 4984, + "id": 4993, "isConstant": false, "isLValue": false, "isPure": false, @@ -4427,7 +4427,7 @@ "externalReferences": [ { "result": { - "declaration": 4980, + "declaration": 4989, "isOffset": false, "isSlot": false, "src": "6121:6:5", @@ -4436,7 +4436,7 @@ }, { "_rawBytes": { - "declaration": 4964, + "declaration": 4973, "isOffset": false, "isSlot": false, "src": "6085:9:5", @@ -4445,7 +4445,7 @@ }, { "offset": { - "declaration": 4966, + "declaration": 4975, "isOffset": false, "isSlot": false, "src": "6103:6:5", @@ -4454,7 +4454,7 @@ }, { "len": { - "declaration": 4974, + "declaration": 4983, "isOffset": false, "isSlot": false, "src": "6112:3:5", @@ -4463,7 +4463,7 @@ }, { "len": { - "declaration": 4974, + "declaration": 4983, "isOffset": false, "isSlot": false, "src": "6136:3:5", @@ -4471,7 +4471,7 @@ } } ], - "id": 4986, + "id": 4995, "nodeType": "InlineAssembly", "operations": "{\n if iszero(staticcall(gas(), 0x04, add(add(_rawBytes, 0x20), offset), len, add(result, 0x20), len)) { revert(0, 0) }\n}", "src": "5968:228:5" @@ -4479,41 +4479,41 @@ { "expression": { "argumentTypes": null, - "id": 4987, + "id": 4996, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4980, + "referencedDeclaration": 4989, "src": "6212:6:5", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 4972, - "id": 4988, + "functionReturnParameters": 4981, + "id": 4997, "nodeType": "Return", "src": "6205:13:5" } ] }, "documentation": null, - "id": 4990, + "id": 4999, "implemented": true, "kind": "function", "modifiers": [], "name": "sliceArray", "nodeType": "FunctionDefinition", "parameters": { - "id": 4969, + "id": 4978, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4964, + "id": 4973, "name": "_rawBytes", "nodeType": "VariableDeclaration", - "scope": 4990, + "scope": 4999, "src": "5785:22:5", "stateVariable": false, "storageLocation": "memory", @@ -4522,7 +4522,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4963, + "id": 4972, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5785:5:5", @@ -4536,10 +4536,10 @@ }, { "constant": false, - "id": 4966, + "id": 4975, "name": "offset", "nodeType": "VariableDeclaration", - "scope": 4990, + "scope": 4999, "src": "5809:11:5", "stateVariable": false, "storageLocation": "default", @@ -4548,7 +4548,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4965, + "id": 4974, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5809:4:5", @@ -4562,10 +4562,10 @@ }, { "constant": false, - "id": 4968, + "id": 4977, "name": "_endIndex", "nodeType": "VariableDeclaration", - "scope": 4990, + "scope": 4999, "src": "5822:14:5", "stateVariable": false, "storageLocation": "default", @@ -4574,7 +4574,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4967, + "id": 4976, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5822:4:5", @@ -4590,15 +4590,15 @@ "src": "5784:53:5" }, "returnParameters": { - "id": 4972, + "id": 4981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4971, + "id": 4980, "name": "", "nodeType": "VariableDeclaration", - "scope": 4990, + "scope": 4999, "src": "5859:12:5", "stateVariable": false, "storageLocation": "memory", @@ -4607,7 +4607,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4970, + "id": 4979, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5859:5:5", @@ -4622,14 +4622,14 @@ ], "src": "5858:14:5" }, - "scope": 4991, + "scope": 5000, "src": "5765:460:5", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 4992, + "scope": 5001, "src": "120:6107:5" } ], @@ -4639,14 +4639,14 @@ "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinParser/SyscoinMessageLibrary.sol", "exportedSymbols": { "SyscoinMessageLibrary": [ - 4991 + 5000 ] }, - "id": 4992, + "id": 5001, "nodeType": "SourceUnit", "nodes": [ { - "id": 4679, + "id": 4688, "literals": [ "solidity", "^", @@ -4659,10 +4659,10 @@ { "absolutePath": "solidity-rlp/contracts/RLPReader.sol", "file": "solidity-rlp/contracts/RLPReader.sol", - "id": 4680, + "id": 4689, "nodeType": "ImportDirective", - "scope": 4992, - "sourceUnit": 10170, + "scope": 5001, + "sourceUnit": 11084, "src": "26:46:5", "symbolAliases": [], "unitAlias": "" @@ -4673,24 +4673,24 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 4991, + "id": 5000, "linearizedBaseContracts": [ - 4991 + 5000 ], "name": "SyscoinMessageLibrary", "nodeType": "ContractDefinition", "nodes": [ { - "id": 4683, + "id": 4692, "libraryName": { "contractScope": null, - "id": 4681, + "id": 4690, "name": "RLPReader", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10169, + "referencedDeclaration": 11083, "src": "164:9:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_RLPReader_$10169", + "typeIdentifier": "t_contract$_RLPReader_$11083", "typeString": "library RLPReader" } }, @@ -4698,35 +4698,35 @@ "src": "158:38:5", "typeName": { "contractScope": null, - "id": 4682, + "id": 4691, "name": "RLPReader.RLPItem", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9490, + "referencedDeclaration": 10404, "src": "178:17:5", "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_storage_ptr", + "typeIdentifier": "t_struct$_RLPItem_$10404_storage_ptr", "typeString": "struct RLPReader.RLPItem" } } }, { - "id": 4686, + "id": 4695, "libraryName": { "contractScope": null, - "id": 4684, + "id": 4693, "name": "RLPReader", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10169, + "referencedDeclaration": 11083, "src": "207:9:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_RLPReader_$10169", + "typeIdentifier": "t_contract$_RLPReader_$11083", "typeString": "library RLPReader" } }, "nodeType": "UsingForDirective", "src": "201:26:5", "typeName": { - "id": 4685, + "id": 4694, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "221:5:5", @@ -4738,10 +4738,10 @@ }, { "constant": true, - "id": 4689, + "id": 4698, "name": "ERR_PARSE_TX_SYS", "nodeType": "VariableDeclaration", - "scope": 4991, + "scope": 5000, "src": "233:38:5", "stateVariable": true, "storageLocation": "default", @@ -4750,7 +4750,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4687, + "id": 4696, "name": "uint", "nodeType": "ElementaryTypeName", "src": "233:4:5", @@ -4762,7 +4762,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313730", - "id": 4688, + "id": 4697, "isConstant": false, "isLValue": false, "isPure": true, @@ -4781,22 +4781,22 @@ }, { "canonicalName": "SyscoinMessageLibrary.Network", - "id": 4693, + "id": 4702, "members": [ { - "id": 4690, + "id": 4699, "name": "MAINNET", "nodeType": "EnumValue", "src": "292:7:5" }, { - "id": 4691, + "id": 4700, "name": "TESTNET", "nodeType": "EnumValue", "src": "301:7:5" }, { - "id": 4692, + "id": 4701, "name": "REGTEST", "nodeType": "EnumValue", "src": "310:7:5" @@ -4808,10 +4808,10 @@ }, { "constant": true, - "id": 4696, + "id": 4705, "name": "SYSCOIN_TX_VERSION_ALLOCATION_BURN_TO_ETHEREUM", "nodeType": "VariableDeclaration", - "scope": 4991, + "scope": 5000, "src": "324:71:5", "stateVariable": true, "storageLocation": "default", @@ -4820,7 +4820,7 @@ "typeString": "uint32" }, "typeName": { - "id": 4694, + "id": 4703, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "324:6:5", @@ -4832,7 +4832,7 @@ "value": { "argumentTypes": null, "hexValue": "307837343037", - "id": 4695, + "id": 4704, "isConstant": false, "isLValue": false, "isPure": true, @@ -4851,21 +4851,21 @@ }, { "body": { - "id": 4773, + "id": 4782, "nodeType": "Block", "src": "592:494:5", "statements": [ { "assignments": [ - 4708 + 4717 ], "declarations": [ { "constant": false, - "id": 4708, + "id": 4717, "name": "ibit", "nodeType": "VariableDeclaration", - "scope": 4773, + "scope": 4782, "src": "660:10:5", "stateVariable": false, "storageLocation": "default", @@ -4874,7 +4874,7 @@ "typeString": "uint8" }, "typeName": { - "id": 4707, + "id": 4716, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "660:5:5", @@ -4887,7 +4887,7 @@ "visibility": "internal" } ], - "id": 4714, + "id": 4723, "initialValue": { "argumentTypes": null, "arguments": [ @@ -4895,25 +4895,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4710, + "id": 4719, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4698, + "referencedDeclaration": 4707, "src": "679:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 4712, + "id": 4721, "indexExpression": { "argumentTypes": null, - "id": 4711, + "id": 4720, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "687:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4939,7 +4939,7 @@ "typeString": "bytes1" } ], - "id": 4709, + "id": 4718, "isConstant": false, "isLValue": false, "isPure": true, @@ -4952,7 +4952,7 @@ }, "typeName": "uint8" }, - "id": 4713, + "id": 4722, "isConstant": false, "isLValue": false, "isPure": false, @@ -4972,18 +4972,18 @@ { "expression": { "argumentTypes": null, - "id": 4717, + "id": 4726, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4715, + "id": 4724, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "702:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4995,7 +4995,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "31", - "id": 4716, + "id": 4725, "isConstant": false, "isLValue": false, "isPure": true, @@ -5016,7 +5016,7 @@ "typeString": "uint256" } }, - "id": 4718, + "id": 4727, "nodeType": "ExpressionStatement", "src": "702:8:5" }, @@ -5027,18 +5027,18 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 4721, + "id": 4730, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4719, + "id": 4728, "name": "ibit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, + "referencedDeclaration": 4717, "src": "739:4:5", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -5050,7 +5050,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30786664", - "id": 4720, + "id": 4729, "isConstant": false, "isLValue": false, "isPure": true, @@ -5078,18 +5078,18 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 4729, + "id": 4738, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4727, + "id": 4736, "name": "ibit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, + "referencedDeclaration": 4717, "src": "805:4:5", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -5101,7 +5101,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30786664", - "id": 4728, + "id": 4737, "isConstant": false, "isLValue": false, "isPure": true, @@ -5129,18 +5129,18 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 4743, + "id": 4752, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4741, + "id": 4750, "name": "ibit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, + "referencedDeclaration": 4717, "src": "900:4:5", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -5152,7 +5152,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30786665", - "id": 4742, + "id": 4751, "isConstant": false, "isLValue": false, "isPure": true, @@ -5180,18 +5180,18 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 4757, + "id": 4766, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4755, + "id": 4764, "name": "ibit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, + "referencedDeclaration": 4717, "src": "995:4:5", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -5203,7 +5203,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30786666", - "id": 4756, + "id": 4765, "isConstant": false, "isLValue": false, "isPure": true, @@ -5225,11 +5225,11 @@ } }, "falseBody": null, - "id": 4769, + "id": 4778, "nodeType": "IfStatement", "src": "991:89:5", "trueBody": { - "id": 4768, + "id": 4777, "nodeType": "Block", "src": "1009:71:5", "statements": [ @@ -5242,11 +5242,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4759, + "id": 4768, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4698, + "referencedDeclaration": 4707, "src": "1042:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -5255,11 +5255,11 @@ }, { "argumentTypes": null, - "id": 4760, + "id": 4769, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "1051:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5269,7 +5269,7 @@ { "argumentTypes": null, "hexValue": "3634", - "id": 4761, + "id": 4770, "isConstant": false, "isLValue": false, "isPure": true, @@ -5300,18 +5300,18 @@ "typeString": "int_const 64" } ], - "id": 4758, + "id": 4767, "name": "getBytesLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4819, + "referencedDeclaration": 4828, "src": "1031:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,uint256,uint256) pure returns (uint256)" } }, - "id": 4762, + "id": 4771, "isConstant": false, "isLValue": false, "isPure": false, @@ -5331,18 +5331,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4765, + "id": 4774, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4763, + "id": 4772, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "1061:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5354,7 +5354,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "38", - "id": 4764, + "id": 4773, "isConstant": false, "isLValue": false, "isPure": true, @@ -5376,7 +5376,7 @@ } } ], - "id": 4766, + "id": 4775, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -5389,19 +5389,19 @@ "typeString": "tuple(uint256,uint256)" } }, - "functionReturnParameters": 4706, - "id": 4767, + "functionReturnParameters": 4715, + "id": 4776, "nodeType": "Return", "src": "1023:46:5" } ] } }, - "id": 4770, + "id": 4779, "nodeType": "IfStatement", "src": "896:184:5", "trueBody": { - "id": 4754, + "id": 4763, "nodeType": "Block", "src": "914:71:5", "statements": [ @@ -5414,11 +5414,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4745, + "id": 4754, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4698, + "referencedDeclaration": 4707, "src": "947:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -5427,11 +5427,11 @@ }, { "argumentTypes": null, - "id": 4746, + "id": 4755, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "956:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5441,7 +5441,7 @@ { "argumentTypes": null, "hexValue": "3332", - "id": 4747, + "id": 4756, "isConstant": false, "isLValue": false, "isPure": true, @@ -5472,18 +5472,18 @@ "typeString": "int_const 32" } ], - "id": 4744, + "id": 4753, "name": "getBytesLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4819, + "referencedDeclaration": 4828, "src": "936:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,uint256,uint256) pure returns (uint256)" } }, - "id": 4748, + "id": 4757, "isConstant": false, "isLValue": false, "isPure": false, @@ -5503,18 +5503,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4751, + "id": 4760, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4749, + "id": 4758, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "966:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5526,7 +5526,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "34", - "id": 4750, + "id": 4759, "isConstant": false, "isLValue": false, "isPure": true, @@ -5548,7 +5548,7 @@ } } ], - "id": 4752, + "id": 4761, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -5561,19 +5561,19 @@ "typeString": "tuple(uint256,uint256)" } }, - "functionReturnParameters": 4706, - "id": 4753, + "functionReturnParameters": 4715, + "id": 4762, "nodeType": "Return", "src": "928:46:5" } ] } }, - "id": 4771, + "id": 4780, "nodeType": "IfStatement", "src": "801:279:5", "trueBody": { - "id": 4740, + "id": 4749, "nodeType": "Block", "src": "819:71:5", "statements": [ @@ -5586,11 +5586,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4731, + "id": 4740, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4698, + "referencedDeclaration": 4707, "src": "852:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -5599,11 +5599,11 @@ }, { "argumentTypes": null, - "id": 4732, + "id": 4741, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "861:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5613,7 +5613,7 @@ { "argumentTypes": null, "hexValue": "3136", - "id": 4733, + "id": 4742, "isConstant": false, "isLValue": false, "isPure": true, @@ -5644,18 +5644,18 @@ "typeString": "int_const 16" } ], - "id": 4730, + "id": 4739, "name": "getBytesLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4819, + "referencedDeclaration": 4828, "src": "841:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,uint256,uint256) pure returns (uint256)" } }, - "id": 4734, + "id": 4743, "isConstant": false, "isLValue": false, "isPure": false, @@ -5675,18 +5675,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4737, + "id": 4746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4735, + "id": 4744, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "871:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5698,7 +5698,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 4736, + "id": 4745, "isConstant": false, "isLValue": false, "isPure": true, @@ -5720,7 +5720,7 @@ } } ], - "id": 4738, + "id": 4747, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -5733,19 +5733,19 @@ "typeString": "tuple(uint256,uint256)" } }, - "functionReturnParameters": 4706, - "id": 4739, + "functionReturnParameters": 4715, + "id": 4748, "nodeType": "Return", "src": "833:46:5" } ] } }, - "id": 4772, + "id": 4781, "nodeType": "IfStatement", "src": "735:345:5", "trueBody": { - "id": 4726, + "id": 4735, "nodeType": "Block", "src": "752:43:5", "statements": [ @@ -5755,11 +5755,11 @@ "components": [ { "argumentTypes": null, - "id": 4722, + "id": 4731, "name": "ibit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, + "referencedDeclaration": 4717, "src": "774:4:5", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -5768,11 +5768,11 @@ }, { "argumentTypes": null, - "id": 4723, + "id": 4732, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4700, + "referencedDeclaration": 4709, "src": "780:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5780,7 +5780,7 @@ } } ], - "id": 4724, + "id": 4733, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -5793,8 +5793,8 @@ "typeString": "tuple(uint8,uint256)" } }, - "functionReturnParameters": 4706, - "id": 4725, + "functionReturnParameters": 4715, + "id": 4734, "nodeType": "Return", "src": "766:18:5" } @@ -5804,22 +5804,22 @@ ] }, "documentation": null, - "id": 4774, + "id": 4783, "implemented": true, "kind": "function", "modifiers": [], "name": "parseVarInt", "nodeType": "FunctionDefinition", "parameters": { - "id": 4701, + "id": 4710, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4698, + "id": 4707, "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 4774, + "scope": 4783, "src": "527:20:5", "stateVariable": false, "storageLocation": "memory", @@ -5828,7 +5828,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4697, + "id": 4706, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "527:5:5", @@ -5842,10 +5842,10 @@ }, { "constant": false, - "id": 4700, + "id": 4709, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 4774, + "scope": 4783, "src": "549:8:5", "stateVariable": false, "storageLocation": "default", @@ -5854,7 +5854,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4699, + "id": 4708, "name": "uint", "nodeType": "ElementaryTypeName", "src": "549:4:5", @@ -5870,15 +5870,15 @@ "src": "526:32:5" }, "returnParameters": { - "id": 4706, + "id": 4715, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4703, + "id": 4712, "name": "", "nodeType": "VariableDeclaration", - "scope": 4774, + "scope": 4783, "src": "580:4:5", "stateVariable": false, "storageLocation": "default", @@ -5887,7 +5887,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4702, + "id": 4711, "name": "uint", "nodeType": "ElementaryTypeName", "src": "580:4:5", @@ -5901,10 +5901,10 @@ }, { "constant": false, - "id": 4705, + "id": 4714, "name": "", "nodeType": "VariableDeclaration", - "scope": 4774, + "scope": 4783, "src": "586:4:5", "stateVariable": false, "storageLocation": "default", @@ -5913,7 +5913,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4704, + "id": 4713, "name": "uint", "nodeType": "ElementaryTypeName", "src": "586:4:5", @@ -5928,7 +5928,7 @@ ], "src": "579:12:5" }, - "scope": 4991, + "scope": 5000, "src": "506:580:5", "stateMutability": "pure", "superFunction": null, @@ -5936,31 +5936,31 @@ }, { "body": { - "id": 4818, + "id": 4827, "nodeType": "Block", "src": "1260:134:5", "statements": [ { "body": { - "id": 4816, + "id": 4825, "nodeType": "Block", "src": "1309:79:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 4814, + "id": 4823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4797, + "id": 4806, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4783, + "referencedDeclaration": 4792, "src": "1323:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5975,7 +5975,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4813, + "id": 4822, "isConstant": false, "isLValue": false, "isPure": false, @@ -5990,36 +5990,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4800, + "id": 4809, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4776, + "referencedDeclaration": 4785, "src": "1347:4:5", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 4804, + "id": 4813, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4803, + "id": 4812, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4801, + "id": 4810, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4778, + "referencedDeclaration": 4787, "src": "1352:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6030,11 +6030,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 4802, + "id": 4811, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4786, + "referencedDeclaration": 4795, "src": "1358:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6066,7 +6066,7 @@ "typeString": "bytes1" } ], - "id": 4799, + "id": 4808, "isConstant": false, "isLValue": false, "isPure": true, @@ -6079,7 +6079,7 @@ }, "typeName": "uint8" }, - "id": 4805, + "id": 4814, "isConstant": false, "isLValue": false, "isPure": false, @@ -6101,7 +6101,7 @@ "typeString": "uint8" } ], - "id": 4798, + "id": 4807, "isConstant": false, "isLValue": false, "isPure": true, @@ -6114,7 +6114,7 @@ }, "typeName": "uint256" }, - "id": 4806, + "id": 4815, "isConstant": false, "isLValue": false, "isPure": false, @@ -6136,7 +6136,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4812, + "id": 4821, "isConstant": false, "isLValue": false, "isPure": false, @@ -6144,7 +6144,7 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 4807, + "id": 4816, "isConstant": false, "isLValue": false, "isPure": true, @@ -6170,18 +6170,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4810, + "id": 4819, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4808, + "id": 4817, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4786, + "referencedDeclaration": 4795, "src": "1371:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6193,7 +6193,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "38", - "id": 4809, + "id": 4818, "isConstant": false, "isLValue": false, "isPure": true, @@ -6215,7 +6215,7 @@ } } ], - "id": 4811, + "id": 4820, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -6246,7 +6246,7 @@ "typeString": "uint256" } }, - "id": 4815, + "id": 4824, "nodeType": "ExpressionStatement", "src": "1323:54:5" } @@ -6258,18 +6258,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4793, + "id": 4802, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4789, + "id": 4798, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4786, + "referencedDeclaration": 4795, "src": "1290:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6284,18 +6284,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4792, + "id": 4801, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4790, + "id": 4799, "name": "bits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4780, + "referencedDeclaration": 4789, "src": "1294:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6307,7 +6307,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "38", - "id": 4791, + "id": 4800, "isConstant": false, "isLValue": false, "isPure": true, @@ -6334,18 +6334,18 @@ "typeString": "bool" } }, - "id": 4817, + "id": 4826, "initializationExpression": { "assignments": [ - 4786 + 4795 ], "declarations": [ { "constant": false, - "id": 4786, + "id": 4795, "name": "i", "nodeType": "VariableDeclaration", - "scope": 4817, + "scope": 4826, "src": "1275:9:5", "stateVariable": false, "storageLocation": "default", @@ -6354,7 +6354,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4785, + "id": 4794, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1275:7:5", @@ -6367,11 +6367,11 @@ "visibility": "internal" } ], - "id": 4788, + "id": 4797, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 4787, + "id": 4796, "isConstant": false, "isLValue": false, "isPure": true, @@ -6392,7 +6392,7 @@ "loopExpression": { "expression": { "argumentTypes": null, - "id": 4795, + "id": 4804, "isConstant": false, "isLValue": false, "isPure": false, @@ -6403,11 +6403,11 @@ "src": "1304:3:5", "subExpression": { "argumentTypes": null, - "id": 4794, + "id": 4803, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4786, + "referencedDeclaration": 4795, "src": "1304:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6419,7 +6419,7 @@ "typeString": "uint256" } }, - "id": 4796, + "id": 4805, "nodeType": "ExpressionStatement", "src": "1304:3:5" }, @@ -6429,22 +6429,22 @@ ] }, "documentation": null, - "id": 4819, + "id": 4828, "implemented": true, "kind": "function", "modifiers": [], "name": "getBytesLE", "nodeType": "FunctionDefinition", "parameters": { - "id": 4781, + "id": 4790, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4776, + "id": 4785, "name": "data", "nodeType": "VariableDeclaration", - "scope": 4819, + "scope": 4828, "src": "1155:17:5", "stateVariable": false, "storageLocation": "memory", @@ -6453,7 +6453,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4775, + "id": 4784, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1155:5:5", @@ -6467,10 +6467,10 @@ }, { "constant": false, - "id": 4778, + "id": 4787, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 4819, + "scope": 4828, "src": "1174:8:5", "stateVariable": false, "storageLocation": "default", @@ -6479,7 +6479,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4777, + "id": 4786, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1174:4:5", @@ -6493,10 +6493,10 @@ }, { "constant": false, - "id": 4780, + "id": 4789, "name": "bits", "nodeType": "VariableDeclaration", - "scope": 4819, + "scope": 4828, "src": "1184:9:5", "stateVariable": false, "storageLocation": "default", @@ -6505,7 +6505,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4779, + "id": 4788, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1184:4:5", @@ -6521,15 +6521,15 @@ "src": "1154:40:5" }, "returnParameters": { - "id": 4784, + "id": 4793, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4783, + "id": 4792, "name": "result", "nodeType": "VariableDeclaration", - "scope": 4819, + "scope": 4828, "src": "1240:14:5", "stateVariable": false, "storageLocation": "default", @@ -6538,7 +6538,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4782, + "id": 4791, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1240:7:5", @@ -6553,7 +6553,7 @@ ], "src": "1239:16:5" }, - "scope": 4991, + "scope": 5000, "src": "1135:259:5", "stateMutability": "pure", "superFunction": null, @@ -6561,7 +6561,7 @@ }, { "body": { - "id": 4829, + "id": 4838, "nodeType": "Block", "src": "1641:377:5", "statements": [ @@ -6569,7 +6569,7 @@ "externalReferences": [ { "input": { - "declaration": 4821, + "declaration": 4830, "isOffset": false, "isSlot": false, "src": "1700:5:5", @@ -6578,7 +6578,7 @@ }, { "pos": { - "declaration": 4823, + "declaration": 4832, "isOffset": false, "isSlot": false, "src": "1714:3:5", @@ -6587,7 +6587,7 @@ }, { "result": { - "declaration": 4826, + "declaration": 4835, "isOffset": false, "isSlot": false, "src": "1964:6:5", @@ -6595,7 +6595,7 @@ } } ], - "id": 4828, + "id": 4837, "nodeType": "InlineAssembly", "operations": "{\n let data := mload(add(add(input, 0x20), pos))\n let flip := mload(0x40)\n mstore8(add(flip, 0), byte(3, data))\n mstore8(add(flip, 1), byte(2, data))\n mstore8(add(flip, 2), byte(1, data))\n mstore8(add(flip, 3), byte(0, data))\n result := shr(mul(8, 28), mload(flip))\n}", "src": "1651:361:5" @@ -6603,22 +6603,22 @@ ] }, "documentation": null, - "id": 4830, + "id": 4839, "implemented": true, "kind": "function", "modifiers": [], "name": "bytesToUint32Flipped", "nodeType": "FunctionDefinition", "parameters": { - "id": 4824, + "id": 4833, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4821, + "id": 4830, "name": "input", "nodeType": "VariableDeclaration", - "scope": 4830, + "scope": 4839, "src": "1547:18:5", "stateVariable": false, "storageLocation": "memory", @@ -6627,7 +6627,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4820, + "id": 4829, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1547:5:5", @@ -6641,10 +6641,10 @@ }, { "constant": false, - "id": 4823, + "id": 4832, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 4830, + "scope": 4839, "src": "1567:8:5", "stateVariable": false, "storageLocation": "default", @@ -6653,7 +6653,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4822, + "id": 4831, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1567:4:5", @@ -6669,15 +6669,15 @@ "src": "1546:30:5" }, "returnParameters": { - "id": 4827, + "id": 4836, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4826, + "id": 4835, "name": "result", "nodeType": "VariableDeclaration", - "scope": 4830, + "scope": 4839, "src": "1622:13:5", "stateVariable": false, "storageLocation": "default", @@ -6686,7 +6686,7 @@ "typeString": "uint32" }, "typeName": { - "id": 4825, + "id": 4834, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1622:6:5", @@ -6701,7 +6701,7 @@ ], "src": "1621:15:5" }, - "scope": 4991, + "scope": 5000, "src": "1517:501:5", "stateMutability": "pure", "superFunction": null, @@ -6709,7 +6709,7 @@ }, { "body": { - "id": 4838, + "id": 4847, "nodeType": "Block", "src": "2282:1748:5", "statements": [ @@ -6717,7 +6717,7 @@ "externalReferences": [ { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3047:6:5", @@ -6726,7 +6726,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2380:6:5", @@ -6735,7 +6735,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2431:6:5", @@ -6744,7 +6744,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2482:6:5", @@ -6753,7 +6753,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2533:6:5", @@ -6762,7 +6762,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2788:6:5", @@ -6771,7 +6771,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2584:6:5", @@ -6780,7 +6780,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2635:6:5", @@ -6789,7 +6789,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2686:6:5", @@ -6798,7 +6798,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2737:6:5", @@ -6807,7 +6807,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3203:6:5", @@ -6816,7 +6816,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3255:6:5", @@ -6825,7 +6825,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3307:6:5", @@ -6834,7 +6834,7 @@ }, { "result": { - "declaration": 4835, + "declaration": 4844, "isOffset": false, "isSlot": false, "src": "3994:6:5", @@ -6843,7 +6843,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2839:6:5", @@ -6852,7 +6852,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2891:6:5", @@ -6861,7 +6861,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2943:6:5", @@ -6870,7 +6870,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "2995:6:5", @@ -6879,7 +6879,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3099:6:5", @@ -6888,7 +6888,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3151:6:5", @@ -6897,7 +6897,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3359:6:5", @@ -6906,7 +6906,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3411:6:5", @@ -6915,7 +6915,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3463:6:5", @@ -6924,7 +6924,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3514:6:5", @@ -6933,7 +6933,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3565:6:5", @@ -6942,7 +6942,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3616:6:5", @@ -6951,7 +6951,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3667:6:5", @@ -6960,7 +6960,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3718:6:5", @@ -6969,7 +6969,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3769:6:5", @@ -6978,7 +6978,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3820:6:5", @@ -6987,7 +6987,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3871:6:5", @@ -6996,7 +6996,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3922:6:5", @@ -7005,7 +7005,7 @@ }, { "_input": { - "declaration": 4832, + "declaration": 4841, "isOffset": false, "isSlot": false, "src": "3973:6:5", @@ -7013,7 +7013,7 @@ } } ], - "id": 4837, + "id": 4846, "nodeType": "InlineAssembly", "operations": "{\n let pos := mload(0x40)\n mstore8(add(pos, 0), byte(31, _input))\n mstore8(add(pos, 1), byte(30, _input))\n mstore8(add(pos, 2), byte(29, _input))\n mstore8(add(pos, 3), byte(28, _input))\n mstore8(add(pos, 4), byte(27, _input))\n mstore8(add(pos, 5), byte(26, _input))\n mstore8(add(pos, 6), byte(25, _input))\n mstore8(add(pos, 7), byte(24, _input))\n mstore8(add(pos, 8), byte(23, _input))\n mstore8(add(pos, 9), byte(22, _input))\n mstore8(add(pos, 10), byte(21, _input))\n mstore8(add(pos, 11), byte(20, _input))\n mstore8(add(pos, 12), byte(19, _input))\n mstore8(add(pos, 13), byte(18, _input))\n mstore8(add(pos, 14), byte(17, _input))\n mstore8(add(pos, 15), byte(16, _input))\n mstore8(add(pos, 16), byte(15, _input))\n mstore8(add(pos, 17), byte(14, _input))\n mstore8(add(pos, 18), byte(13, _input))\n mstore8(add(pos, 19), byte(12, _input))\n mstore8(add(pos, 20), byte(11, _input))\n mstore8(add(pos, 21), byte(10, _input))\n mstore8(add(pos, 22), byte(9, _input))\n mstore8(add(pos, 23), byte(8, _input))\n mstore8(add(pos, 24), byte(7, _input))\n mstore8(add(pos, 25), byte(6, _input))\n mstore8(add(pos, 26), byte(5, _input))\n mstore8(add(pos, 27), byte(4, _input))\n mstore8(add(pos, 28), byte(3, _input))\n mstore8(add(pos, 29), byte(2, _input))\n mstore8(add(pos, 30), byte(1, _input))\n mstore8(add(pos, 31), byte(0, _input))\n result := mload(pos)\n}", "src": "2292:1732:5" @@ -7021,22 +7021,22 @@ ] }, "documentation": null, - "id": 4839, + "id": 4848, "implemented": true, "kind": "function", "modifiers": [], "name": "flip32Bytes", "nodeType": "FunctionDefinition", "parameters": { - "id": 4833, + "id": 4842, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4832, + "id": 4841, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 4839, + "scope": 4848, "src": "2235:11:5", "stateVariable": false, "storageLocation": "default", @@ -7045,7 +7045,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4831, + "id": 4840, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2235:4:5", @@ -7061,15 +7061,15 @@ "src": "2234:13:5" }, "returnParameters": { - "id": 4836, + "id": 4845, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4835, + "id": 4844, "name": "result", "nodeType": "VariableDeclaration", - "scope": 4839, + "scope": 4848, "src": "2269:11:5", "stateVariable": false, "storageLocation": "default", @@ -7078,7 +7078,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4834, + "id": 4843, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2269:4:5", @@ -7093,7 +7093,7 @@ ], "src": "2268:13:5" }, - "scope": 4991, + "scope": 5000, "src": "2214:1816:5", "stateMutability": "pure", "superFunction": null, @@ -7101,21 +7101,21 @@ }, { "body": { - "id": 4961, + "id": 4970, "nodeType": "Block", "src": "4558:814:5", "statements": [ { "assignments": [ - 4852 + 4861 ], "declarations": [ { "constant": false, - "id": 4852, + "id": 4861, "name": "length", "nodeType": "VariableDeclaration", - "scope": 4961, + "scope": 4970, "src": "4568:11:5", "stateVariable": false, "storageLocation": "default", @@ -7124,7 +7124,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4851, + "id": 4860, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4568:4:5", @@ -7137,23 +7137,23 @@ "visibility": "internal" } ], - "id": 4855, + "id": 4864, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4853, + "id": 4862, "name": "_siblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4846, + "referencedDeclaration": 4855, "src": "4582:9:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 4854, + "id": 4863, "isConstant": false, "isLValue": false, "isPure": false, @@ -7172,15 +7172,15 @@ }, { "assignments": [ - 4857 + 4866 ], "declarations": [ { "constant": false, - "id": 4857, + "id": 4866, "name": "i", "nodeType": "VariableDeclaration", - "scope": 4961, + "scope": 4970, "src": "4608:6:5", "stateVariable": false, "storageLocation": "default", @@ -7189,7 +7189,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4856, + "id": 4865, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4608:4:5", @@ -7202,21 +7202,21 @@ "visibility": "internal" } ], - "id": 4858, + "id": 4867, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "4608:6:5" }, { "body": { - "id": 4879, + "id": 4888, "nodeType": "Block", "src": "4653:65:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 4877, + "id": 4886, "isConstant": false, "isLValue": false, "isPure": false, @@ -7225,25 +7225,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4869, + "id": 4878, "name": "_siblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4846, + "referencedDeclaration": 4855, "src": "4667:9:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 4871, + "id": 4880, "indexExpression": { "argumentTypes": null, - "id": 4870, + "id": 4879, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4677:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7270,25 +7270,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4873, + "id": 4882, "name": "_siblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4846, + "referencedDeclaration": 4855, "src": "4694:9:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 4875, + "id": 4884, "indexExpression": { "argumentTypes": null, - "id": 4874, + "id": 4883, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4704:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7314,18 +7314,18 @@ "typeString": "uint256" } ], - "id": 4872, + "id": 4881, "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "4682:11:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 4876, + "id": 4885, "isConstant": false, "isLValue": false, "isPure": false, @@ -7345,7 +7345,7 @@ "typeString": "uint256" } }, - "id": 4878, + "id": 4887, "nodeType": "ExpressionStatement", "src": "4667:40:5" } @@ -7357,18 +7357,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4865, + "id": 4874, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4863, + "id": 4872, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4636:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7379,11 +7379,11 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 4864, + "id": 4873, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4852, + "referencedDeclaration": 4861, "src": "4640:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7396,22 +7396,22 @@ "typeString": "bool" } }, - "id": 4880, + "id": 4889, "initializationExpression": { "expression": { "argumentTypes": null, - "id": 4861, + "id": 4870, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4859, + "id": 4868, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4629:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7423,7 +7423,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 4860, + "id": 4869, "isConstant": false, "isLValue": false, "isPure": true, @@ -7444,14 +7444,14 @@ "typeString": "uint256" } }, - "id": 4862, + "id": 4871, "nodeType": "ExpressionStatement", "src": "4629:5:5" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 4867, + "id": 4876, "isConstant": false, "isLValue": false, "isPure": false, @@ -7462,11 +7462,11 @@ "src": "4648:3:5", "subExpression": { "argumentTypes": null, - "id": 4866, + "id": 4875, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4648:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7478,7 +7478,7 @@ "typeString": "uint256" } }, - "id": 4868, + "id": 4877, "nodeType": "ExpressionStatement", "src": "4648:3:5" }, @@ -7488,18 +7488,18 @@ { "expression": { "argumentTypes": null, - "id": 4883, + "id": 4892, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4881, + "id": 4890, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4728:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7511,7 +7511,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 4882, + "id": 4891, "isConstant": false, "isLValue": false, "isPure": true, @@ -7532,21 +7532,21 @@ "typeString": "uint256" } }, - "id": 4884, + "id": 4893, "nodeType": "ExpressionStatement", "src": "4728:5:5" }, { "assignments": [ - 4886 + 4895 ], "declarations": [ { "constant": false, - "id": 4886, + "id": 4895, "name": "resultHash", "nodeType": "VariableDeclaration", - "scope": 4961, + "scope": 4970, "src": "4743:15:5", "stateVariable": false, "storageLocation": "default", @@ -7555,7 +7555,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4885, + "id": 4894, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4743:4:5", @@ -7568,17 +7568,17 @@ "visibility": "internal" } ], - "id": 4890, + "id": 4899, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4888, + "id": 4897, "name": "_txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4841, + "referencedDeclaration": 4850, "src": "4773:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7593,18 +7593,18 @@ "typeString": "uint256" } ], - "id": 4887, + "id": 4896, "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "4761:11:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 4889, + "id": 4898, "isConstant": false, "isLValue": false, "isPure": false, @@ -7623,21 +7623,21 @@ }, { "body": { - "id": 4955, + "id": 4964, "nodeType": "Block", "src": "4819:506:5", "statements": [ { "assignments": [ - 4895 + 4904 ], "declarations": [ { "constant": false, - "id": 4895, + "id": 4904, "name": "proofHex", "nodeType": "VariableDeclaration", - "scope": 4955, + "scope": 4964, "src": "4833:13:5", "stateVariable": false, "storageLocation": "default", @@ -7646,7 +7646,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4894, + "id": 4903, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4833:4:5", @@ -7659,30 +7659,30 @@ "visibility": "internal" } ], - "id": 4899, + "id": 4908, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4896, + "id": 4905, "name": "_siblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4846, + "referencedDeclaration": 4855, "src": "4849:9:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 4898, + "id": 4907, "indexExpression": { "argumentTypes": null, - "id": 4897, + "id": 4906, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4859:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7705,15 +7705,15 @@ }, { "assignments": [ - 4901 + 4910 ], "declarations": [ { "constant": false, - "id": 4901, + "id": 4910, "name": "left", "nodeType": "VariableDeclaration", - "scope": 4955, + "scope": 4964, "src": "4876:9:5", "stateVariable": false, "storageLocation": "default", @@ -7722,7 +7722,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4900, + "id": 4909, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4876:4:5", @@ -7735,22 +7735,22 @@ "visibility": "internal" } ], - "id": 4902, + "id": 4911, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "4876:9:5" }, { "assignments": [ - 4904 + 4913 ], "declarations": [ { "constant": false, - "id": 4904, + "id": 4913, "name": "right", "nodeType": "VariableDeclaration", - "scope": 4955, + "scope": 4964, "src": "4899:10:5", "stateVariable": false, "storageLocation": "default", @@ -7759,7 +7759,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4903, + "id": 4912, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4899:4:5", @@ -7772,7 +7772,7 @@ "visibility": "internal" } ], - "id": 4905, + "id": 4914, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "4899:10:5" @@ -7784,7 +7784,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4910, + "id": 4919, "isConstant": false, "isLValue": false, "isPure": false, @@ -7795,18 +7795,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4908, + "id": 4917, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4906, + "id": 4915, "name": "_txIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4843, + "referencedDeclaration": 4852, "src": "4927:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7818,7 +7818,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 4907, + "id": 4916, "isConstant": false, "isLValue": false, "isPure": true, @@ -7844,7 +7844,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 4909, + "id": 4918, "isConstant": false, "isLValue": false, "isPure": true, @@ -7866,25 +7866,25 @@ } }, "falseBody": { - "id": 4928, + "id": 4937, "nodeType": "Block", "src": "5087:84:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 4922, + "id": 4931, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4920, + "id": 4929, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4901, + "referencedDeclaration": 4910, "src": "5105:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7895,11 +7895,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4921, + "id": 4930, "name": "resultHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4886, + "referencedDeclaration": 4895, "src": "5112:10:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7912,25 +7912,25 @@ "typeString": "uint256" } }, - "id": 4923, + "id": 4932, "nodeType": "ExpressionStatement", "src": "5105:17:5" }, { "expression": { "argumentTypes": null, - "id": 4926, + "id": 4935, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4924, + "id": 4933, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4904, + "referencedDeclaration": 4913, "src": "5140:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7941,11 +7941,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4925, + "id": 4934, "name": "proofHex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, + "referencedDeclaration": 4904, "src": "5148:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7958,35 +7958,35 @@ "typeString": "uint256" } }, - "id": 4927, + "id": 4936, "nodeType": "ExpressionStatement", "src": "5140:16:5" } ] }, - "id": 4929, + "id": 4938, "nodeType": "IfStatement", "src": "4923:248:5", "trueBody": { - "id": 4919, + "id": 4928, "nodeType": "Block", "src": "4946:135:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 4913, + "id": 4922, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4911, + "id": 4920, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4901, + "referencedDeclaration": 4910, "src": "5015:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7997,11 +7997,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4912, + "id": 4921, "name": "proofHex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, + "referencedDeclaration": 4904, "src": "5022:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8014,25 +8014,25 @@ "typeString": "uint256" } }, - "id": 4914, + "id": 4923, "nodeType": "ExpressionStatement", "src": "5015:15:5" }, { "expression": { "argumentTypes": null, - "id": 4917, + "id": 4926, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4915, + "id": 4924, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4904, + "referencedDeclaration": 4913, "src": "5048:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8043,11 +8043,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4916, + "id": 4925, "name": "resultHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4886, + "referencedDeclaration": 4895, "src": "5056:10:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8060,7 +8060,7 @@ "typeString": "uint256" } }, - "id": 4918, + "id": 4927, "nodeType": "ExpressionStatement", "src": "5048:18:5" } @@ -8070,18 +8070,18 @@ { "expression": { "argumentTypes": null, - "id": 4945, + "id": 4954, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4930, + "id": 4939, "name": "resultHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4886, + "referencedDeclaration": 4895, "src": "5184:10:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8107,11 +8107,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4938, + "id": 4947, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4901, + "referencedDeclaration": 4910, "src": "5250:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8120,11 +8120,11 @@ }, { "argumentTypes": null, - "id": 4939, + "id": 4948, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4904, + "referencedDeclaration": 4913, "src": "5256:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8145,18 +8145,18 @@ ], "expression": { "argumentTypes": null, - "id": 4936, + "id": 4945, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10171, + "referencedDeclaration": 11085, "src": "5233:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 4937, + "id": 4946, "isConstant": false, "isLValue": false, "isPure": true, @@ -8170,7 +8170,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 4940, + "id": 4949, "isConstant": false, "isLValue": false, "isPure": false, @@ -8192,18 +8192,18 @@ "typeString": "bytes memory" } ], - "id": 4935, + "id": 4944, "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10193, + "referencedDeclaration": 11107, "src": "5226:6:5", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 4941, + "id": 4950, "isConstant": false, "isLValue": false, "isPure": false, @@ -8227,18 +8227,18 @@ ], "expression": { "argumentTypes": null, - "id": 4933, + "id": 4942, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10171, + "referencedDeclaration": 11085, "src": "5209:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 4934, + "id": 4943, "isConstant": false, "isLValue": false, "isPure": true, @@ -8252,7 +8252,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 4942, + "id": 4951, "isConstant": false, "isLValue": false, "isPure": false, @@ -8274,18 +8274,18 @@ "typeString": "bytes memory" } ], - "id": 4932, + "id": 4941, "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10193, + "referencedDeclaration": 11107, "src": "5202:6:5", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 4943, + "id": 4952, "isConstant": false, "isLValue": false, "isPure": false, @@ -8307,7 +8307,7 @@ "typeString": "bytes32" } ], - "id": 4931, + "id": 4940, "isConstant": false, "isLValue": false, "isPure": true, @@ -8320,7 +8320,7 @@ }, "typeName": "uint" }, - "id": 4944, + "id": 4953, "isConstant": false, "isLValue": false, "isPure": false, @@ -8340,25 +8340,25 @@ "typeString": "uint256" } }, - "id": 4946, + "id": 4955, "nodeType": "ExpressionStatement", "src": "5184:82:5" }, { "expression": { "argumentTypes": null, - "id": 4949, + "id": 4958, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4947, + "id": 4956, "name": "_txIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4843, + "referencedDeclaration": 4852, "src": "5281:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8370,7 +8370,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "32", - "id": 4948, + "id": 4957, "isConstant": false, "isLValue": false, "isPure": true, @@ -8391,25 +8391,25 @@ "typeString": "uint256" } }, - "id": 4950, + "id": 4959, "nodeType": "ExpressionStatement", "src": "5281:13:5" }, { "expression": { "argumentTypes": null, - "id": 4953, + "id": 4962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4951, + "id": 4960, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "5308:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8421,7 +8421,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "31", - "id": 4952, + "id": 4961, "isConstant": false, "isLValue": false, "isPure": true, @@ -8442,7 +8442,7 @@ "typeString": "uint256" } }, - "id": 4954, + "id": 4963, "nodeType": "ExpressionStatement", "src": "5308:6:5" } @@ -8454,18 +8454,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4893, + "id": 4902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4891, + "id": 4900, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4857, + "referencedDeclaration": 4866, "src": "4807:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8476,11 +8476,11 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 4892, + "id": 4901, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4852, + "referencedDeclaration": 4861, "src": "4811:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8493,7 +8493,7 @@ "typeString": "bool" } }, - "id": 4956, + "id": 4965, "nodeType": "WhileStatement", "src": "4800:525:5" }, @@ -8503,11 +8503,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4958, + "id": 4967, "name": "resultHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4886, + "referencedDeclaration": 4895, "src": "5354:10:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8522,18 +8522,18 @@ "typeString": "uint256" } ], - "id": 4957, + "id": 4966, "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4848, "src": "5342:11:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 4959, + "id": 4968, "isConstant": false, "isLValue": false, "isPure": false, @@ -8547,30 +8547,30 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4850, - "id": 4960, + "functionReturnParameters": 4859, + "id": 4969, "nodeType": "Return", "src": "5335:30:5" } ] }, "documentation": null, - "id": 4962, + "id": 4971, "implemented": true, "kind": "function", "modifiers": [], "name": "computeMerkle", "nodeType": "FunctionDefinition", "parameters": { - "id": 4847, + "id": 4856, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4841, + "id": 4850, "name": "_txHash", "nodeType": "VariableDeclaration", - "scope": 4962, + "scope": 4971, "src": "4449:12:5", "stateVariable": false, "storageLocation": "default", @@ -8579,7 +8579,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4840, + "id": 4849, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4449:4:5", @@ -8593,10 +8593,10 @@ }, { "constant": false, - "id": 4843, + "id": 4852, "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 4962, + "scope": 4971, "src": "4463:13:5", "stateVariable": false, "storageLocation": "default", @@ -8605,7 +8605,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4842, + "id": 4851, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4463:4:5", @@ -8619,10 +8619,10 @@ }, { "constant": false, - "id": 4846, + "id": 4855, "name": "_siblings", "nodeType": "VariableDeclaration", - "scope": 4962, + "scope": 4971, "src": "4478:23:5", "stateVariable": false, "storageLocation": "memory", @@ -8632,7 +8632,7 @@ }, "typeName": { "baseType": { - "id": 4844, + "id": 4853, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4478:4:5", @@ -8641,7 +8641,7 @@ "typeString": "uint256" } }, - "id": 4845, + "id": 4854, "length": null, "nodeType": "ArrayTypeName", "src": "4478:6:5", @@ -8657,15 +8657,15 @@ "src": "4448:54:5" }, "returnParameters": { - "id": 4850, + "id": 4859, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4849, + "id": 4858, "name": "", "nodeType": "VariableDeclaration", - "scope": 4962, + "scope": 4971, "src": "4548:4:5", "stateVariable": false, "storageLocation": "default", @@ -8674,7 +8674,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4848, + "id": 4857, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4548:4:5", @@ -8689,7 +8689,7 @@ ], "src": "4547:6:5" }, - "scope": 4991, + "scope": 5000, "src": "4426:946:5", "stateMutability": "pure", "superFunction": null, @@ -8697,21 +8697,21 @@ }, { "body": { - "id": 4989, + "id": 4998, "nodeType": "Block", "src": "5873:352:5", "statements": [ { "assignments": [ - 4974 + 4983 ], "declarations": [ { "constant": false, - "id": 4974, + "id": 4983, "name": "len", "nodeType": "VariableDeclaration", - "scope": 4989, + "scope": 4998, "src": "5883:8:5", "stateVariable": false, "storageLocation": "default", @@ -8720,7 +8720,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4973, + "id": 4982, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5883:4:5", @@ -8733,25 +8733,25 @@ "visibility": "internal" } ], - "id": 4978, + "id": 4987, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4977, + "id": 4986, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4975, + "id": 4984, "name": "_endIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4968, + "referencedDeclaration": 4977, "src": "5894:9:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8762,11 +8762,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4976, + "id": 4985, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4966, + "referencedDeclaration": 4975, "src": "5906:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8784,15 +8784,15 @@ }, { "assignments": [ - 4980 + 4989 ], "declarations": [ { "constant": false, - "id": 4980, + "id": 4989, "name": "result", "nodeType": "VariableDeclaration", - "scope": 4989, + "scope": 4998, "src": "5922:19:5", "stateVariable": false, "storageLocation": "memory", @@ -8801,7 +8801,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4979, + "id": 4988, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5922:5:5", @@ -8814,17 +8814,17 @@ "visibility": "internal" } ], - "id": 4985, + "id": 4994, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4983, + "id": 4992, "name": "len", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4974, + "referencedDeclaration": 4983, "src": "5954:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8839,7 +8839,7 @@ "typeString": "uint256" } ], - "id": 4982, + "id": 4991, "isConstant": false, "isLValue": false, "isPure": true, @@ -8851,7 +8851,7 @@ "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { - "id": 4981, + "id": 4990, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5948:5:5", @@ -8861,7 +8861,7 @@ } } }, - "id": 4984, + "id": 4993, "isConstant": false, "isLValue": false, "isPure": false, @@ -8882,7 +8882,7 @@ "externalReferences": [ { "result": { - "declaration": 4980, + "declaration": 4989, "isOffset": false, "isSlot": false, "src": "6121:6:5", @@ -8891,7 +8891,7 @@ }, { "_rawBytes": { - "declaration": 4964, + "declaration": 4973, "isOffset": false, "isSlot": false, "src": "6085:9:5", @@ -8900,7 +8900,7 @@ }, { "offset": { - "declaration": 4966, + "declaration": 4975, "isOffset": false, "isSlot": false, "src": "6103:6:5", @@ -8909,7 +8909,7 @@ }, { "len": { - "declaration": 4974, + "declaration": 4983, "isOffset": false, "isSlot": false, "src": "6112:3:5", @@ -8918,7 +8918,7 @@ }, { "len": { - "declaration": 4974, + "declaration": 4983, "isOffset": false, "isSlot": false, "src": "6136:3:5", @@ -8926,7 +8926,7 @@ } } ], - "id": 4986, + "id": 4995, "nodeType": "InlineAssembly", "operations": "{\n if iszero(staticcall(gas(), 0x04, add(add(_rawBytes, 0x20), offset), len, add(result, 0x20), len)) { revert(0, 0) }\n}", "src": "5968:228:5" @@ -8934,41 +8934,41 @@ { "expression": { "argumentTypes": null, - "id": 4987, + "id": 4996, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4980, + "referencedDeclaration": 4989, "src": "6212:6:5", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 4972, - "id": 4988, + "functionReturnParameters": 4981, + "id": 4997, "nodeType": "Return", "src": "6205:13:5" } ] }, "documentation": null, - "id": 4990, + "id": 4999, "implemented": true, "kind": "function", "modifiers": [], "name": "sliceArray", "nodeType": "FunctionDefinition", "parameters": { - "id": 4969, + "id": 4978, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4964, + "id": 4973, "name": "_rawBytes", "nodeType": "VariableDeclaration", - "scope": 4990, + "scope": 4999, "src": "5785:22:5", "stateVariable": false, "storageLocation": "memory", @@ -8977,7 +8977,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4963, + "id": 4972, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5785:5:5", @@ -8991,10 +8991,10 @@ }, { "constant": false, - "id": 4966, + "id": 4975, "name": "offset", "nodeType": "VariableDeclaration", - "scope": 4990, + "scope": 4999, "src": "5809:11:5", "stateVariable": false, "storageLocation": "default", @@ -9003,7 +9003,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4965, + "id": 4974, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5809:4:5", @@ -9017,10 +9017,10 @@ }, { "constant": false, - "id": 4968, + "id": 4977, "name": "_endIndex", "nodeType": "VariableDeclaration", - "scope": 4990, + "scope": 4999, "src": "5822:14:5", "stateVariable": false, "storageLocation": "default", @@ -9029,7 +9029,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4967, + "id": 4976, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5822:4:5", @@ -9045,15 +9045,15 @@ "src": "5784:53:5" }, "returnParameters": { - "id": 4972, + "id": 4981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4971, + "id": 4980, "name": "", "nodeType": "VariableDeclaration", - "scope": 4990, + "scope": 4999, "src": "5859:12:5", "stateVariable": false, "storageLocation": "memory", @@ -9062,7 +9062,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4970, + "id": 4979, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5859:5:5", @@ -9077,14 +9077,14 @@ ], "src": "5858:14:5" }, - "scope": 4991, + "scope": 5000, "src": "5765:460:5", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 4992, + "scope": 5001, "src": "120:6107:5" } ], @@ -9095,8 +9095,8 @@ "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.514Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.389Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/SyscoinSuperblocks.json b/build/contracts/SyscoinSuperblocks.json index 99aeaa8..d3d46ac 100644 --- a/build/contracts/SyscoinSuperblocks.json +++ b/build/contracts/SyscoinSuperblocks.json @@ -506,6 +506,37 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes", + "name": "txBytes", + "type": "bytes" + } + ], + "name": "parseAssetTx", + "outputs": [ + { + "internalType": "uint256", + "name": "errorCode", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "assetGuid", + "type": "uint32" + }, + { + "internalType": "address", + "name": "erc20Address", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [ @@ -558,6 +589,37 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes", + "name": "txBytes", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "pos", + "type": "uint256" + } + ], + "name": "scanAssetTx", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [ @@ -893,6 +955,57 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes", + "name": "_txBytes", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_txIndex", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "_txSiblings", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "_syscoinBlockHeader", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_syscoinBlockIndex", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "_syscoinBlockSiblings", + "type": "uint256[]" + }, + { + "internalType": "bytes32", + "name": "_superblockHash", + "type": "bytes32" + } + ], + "name": "relayAssetTx", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, { "constant": false, "inputs": [ @@ -1296,25 +1409,25 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"ApprovedSuperblock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"returnCode\",\"type\":\"uint256\"}],\"name\":\"ChallengeCancelTransferRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"ChallengeSuperblock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"err\",\"type\":\"uint256\"}],\"name\":\"ErrorSuperblock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"InvalidSuperblock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"NewSuperblock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"returnCode\",\"type\":\"uint256\"}],\"name\":\"RelayTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"SemiApprovedSuperblock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"returnCode\",\"type\":\"uint256\"}],\"name\":\"VerifyTransaction\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_rawBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"bytesToBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"bytesToUint16\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"result\",\"type\":\"uint16\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"bytesToUint32\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"result\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"bytesToUint32Flipped\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"result\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"bytesToUint64\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"result\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentId\",\"type\":\"bytes32\"}],\"name\":\"calcSuperblockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_challenger\",\"type\":\"address\"}],\"name\":\"challenge\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_txIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_txSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_syscoinBlockHeader\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_syscoinBlockIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_syscoinBlockSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"challengeCancelTransfer\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_txHash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_txIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_siblings\",\"type\":\"uint256[]\"}],\"name\":\"computeMerkle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"confirm\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_dataBytes\",\"type\":\"bytes\"}],\"name\":\"dblShaFlip\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_input\",\"type\":\"uint256\"}],\"name\":\"flip32Bytes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getBestSuperblock\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"logValues\",\"type\":\"bytes\"}],\"name\":\"getBridgeTransactionId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"getBytesLE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getChainHeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"getEthReceipt\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_blockHeader\",\"type\":\"bytes\"}],\"name\":\"getHeaderMerkleRoot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"ethTxReceipt\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"expectedTopic\",\"type\":\"bytes32\"}],\"name\":\"getLogValuesForTopic\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"getOpReturnPos\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblock\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_submitter\",\"type\":\"address\"},{\"internalType\":\"enum SyscoinSuperblocksI.Status\",\"name\":\"_status\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"_height\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_height\",\"type\":\"uint256\"}],\"name\":\"getSuperblockAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockHeight\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockMedianTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockParentId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockStatus\",\"outputs\":[{\"internalType\":\"enum SyscoinSuperblocksI.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_syscoinERC20Manager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_claimManager\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentId\",\"type\":\"bytes32\"}],\"name\":\"initialize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"invalidate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minProposalDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"}],\"name\":\"parseBurnTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"}],\"name\":\"parseMintTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"errorCode\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"parseVarInt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_txIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_txSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_syscoinBlockHeader\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_syscoinBlockIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_syscoinBlockSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"relayTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"semiApprove\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_rawBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endIndex\",\"type\":\"uint256\"}],\"name\":\"sliceArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"syscoinERC20Manager\",\"outputs\":[{\"internalType\":\"contract SyscoinTransactionProcessor\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"trustedClaimManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"getBridgeTransactionId(bytes)\":{\"params\":{\"logValues\":\"log values\"},\"return\":\"bridgeTransactionId\"},\"getEthReceipt(bytes,uint256)\":{\"params\":{\"pos\":\"position at where to start parsing\",\"txBytes\":\"syscoin raw transaction\"},\"return\":\"ethTxReceipt ethereum tx receipt\"},\"getLogValuesForTopic(bytes,bytes32)\":{\"params\":{\"ethTxReceipt\":\"ethereum transaction receipt\"},\"return\":\"logs bloom\"},\"parseMintTx(bytes)\":{\"details\":\"Parse syscoin mint transaction to recover bridgeTransferId\",\"params\":{\"txBytes\":\"syscoin raw transaction\"},\"return\":\"errorCode, bridgeTransferId\"}}},\"userdoc\":{\"methods\":{\"getBridgeTransactionId(bytes)\":{\"notice\":\"Get bridgeTransactionId from logs bloom\"},\"getEthReceipt(bytes,uint256)\":{\"notice\":\"Parse txBytes and returns ethereum tx receipt\"},\"getLogValuesForTopic(bytes,bytes32)\":{\"notice\":\"Return logs for given ethereum transaction receipt\"}}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinSuperblocks.sol\":\"SyscoinSuperblocks\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinErrorCodes.sol\":{\"keccak256\":\"0x02931f928c2e9680efca3cf47c69a1dc441d9c61dc903d7a8dc9b37a80d1d67f\",\"urls\":[\"bzz-raw://a54ffdf18cd31b84a118b424b670e22d1c91fb1721edbfd00cf671b9a1de928c\",\"dweb:/ipfs/QmQYNCXgBzerzAEuZ1KYhgC7MymqiFtDMcAaFJf6yxv3GU\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinParser/SyscoinMessageLibrary.sol\":{\"keccak256\":\"0x296fe04ab670e2175c98002b4ef8a29326eac21f7b5bdc1ee9e6b0bbfca1edb8\",\"urls\":[\"bzz-raw://4d5cfa73287f660d5cc53de52cb6c1cc3e491740fb375626444552595b22f772\",\"dweb:/ipfs/QmYXQvrH337T8zppKFnvfaNx1Y7uoJ9EjFNXXij78kn1E1\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinSuperblocks.sol\":{\"keccak256\":\"0x96838abafb304c28f2d8c2fc61e51440b74c55c6357a957ff84e8409e5210e01\",\"urls\":[\"bzz-raw://1700f3fe2a2988c918aa429b88a1fd5a054fc7fded284a161e3ad33c4649fa99\",\"dweb:/ipfs/QmQtRGrSanLx4btHWf6aJVSEdqtTeRr54uA8y3Hh6eSffT\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol\":{\"keccak256\":\"0x8ebfea53afdf70b6c363b6684a68394e8cbce3a856b7e3239f64cf7f3349a27e\",\"urls\":[\"bzz-raw://3aebcc8a46d71a4bd2d3026b896b106dbce138fce2d291b0231683d40b87f2e4\",\"dweb:/ipfs/QmRijeihighF7zQ6j8JHkssUZnsLJq6U8Ki8ZzHvavA5oW\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol\":{\"keccak256\":\"0x45dee08e14623208dd251ab7df22264396bc6d7453f860b2168946bfe132e753\",\"urls\":[\"bzz-raw://63eeda0c89724a00b59e4833a6da6891dd8e69afb000122b861a6877a28a9c06\",\"dweb:/ipfs/QmZhyw5pkWaMAsKMBRfrCVNe7pjzuwgAZ6xRoK7pqLDcwk\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0xf79d9851c085aa8412e87d7a26d3485488fe12538ecb4e317ce41fc1f2c3a16a\",\"urls\":[\"bzz-raw://6af1a35ad6aed2169ce9f44095438b3192cd6066903908f769d5c49a06a0caf8\",\"dweb:/ipfs/QmaH41CwJ7WrMQwSnbfCKuL2pd8bxF7sbGSLPZb6JaHBFF\"]},\"solidity-rlp/contracts/RLPReader.sol\":{\"keccak256\":\"0xe2df62ba34ab569e097c58eee30eb9fdab120d4df1c572c6ceae1bec3faa2c2a\",\"urls\":[\"bzz-raw://46988aac4691b498d4c6983c7617de6d29cd5d7fe4e3ecfb7f8c0d00e33e9a12\",\"dweb:/ipfs/QmdWF9ti9UJSP2E7XYkdUPRV9yfmxEmuRgzpNtt3Ex57Ar\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50613b8f806100206000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c8063828fa8b41161013b578063c8bd7768116100b8578063ed8609761161007c578063ed860976146114e0578063f06d520d14611521578063f09a401614611529578063fbb381a714611559578063fc96c396146115ff57610248565b8063c8bd776814611022578063cae0581e14611261578063d0f9410b146112a2578063d5c9712f1461134f578063e8f421df146113f857610248565b8063b79bbf46116100ff578063b79bbf4614610dcb578063b7a8121814610e71578063c0dde98b14610f17578063c1f67ab314610f34578063c63128aa14610f6057610248565b8063828fa8b414610cd457806395b45ee714610d155780639e20c80314610d41578063a76a9b0f14610d91578063b6f6580a14610dae57610248565b80634d7dcfbd116101c95780635b5728121161018d5780635b57281214610b575780635ec0aedd14610b5f5780636823c56b14610b675780636e5b707114610c0b5780637420578614610ca857610248565b80634d7dcfbd1461088d578063535849391461094c57806353a3273d146109f2578063543a86f614610a9657806355e018ce14610b3a57610248565b80632e400191116102105780632e400191146105ca5780633e0e8a20146105e7578063455e616614610705578063484162be1461070d5780634b6986fd146107ca57610248565b8063029c5e2a1461024d578063155ee8941461030c578063244430381461033057806327426f75146105815780632da8cffd146105ad575b600080fd5b6102f36004803603604081101561026357600080fd5b810190602081018135600160201b81111561027d57600080fd5b82018360208201111561028f57600080fd5b803590602001918460018302840111600160201b831117156102b057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506116a5915050565b6040805163ffffffff9092168252519081900360200190f35b6103146116e1565b604080516001600160a01b039092168252519081900360200190f35b61056f600480360360e081101561034657600080fd5b810190602081018135600160201b81111561036057600080fd5b82018360208201111561037257600080fd5b803590602001918460018302840111600160201b8311171561039357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156103ed57600080fd5b8201836020820111156103ff57600080fd5b803590602001918460208302840111600160201b8311171561042057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111600160201b831117156104a257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156104fc57600080fd5b82018360208201111561050e57600080fd5b803590602001918460208302840111600160201b8311171561052f57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955050913592506116f0915050565b60408051918252519081900360200190f35b61056f6004803603604081101561059757600080fd5b50803590602001356001600160a01b0316611880565b61056f600480360360208110156105c357600080fd5b50356119b8565b6102f3600480360360208110156105e057600080fd5b50356119d0565b610690600480360360608110156105fd57600080fd5b810190602081018135600160201b81111561061757600080fd5b82018360208201111561062957600080fd5b803590602001918460018302840111600160201b8311171561064a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050823593505050602001356119f2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156106ca5781810151838201526020016106b2565b50505050905090810190601f1680156106f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61056f611a4d565b6107b36004803603604081101561072357600080fd5b810190602081018135600160201b81111561073d57600080fd5b82018360208201111561074f57600080fd5b803590602001918460018302840111600160201b8311171561077057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611a59915050565b6040805161ffff9092168252519081900360200190f35b610870600480360360408110156107e057600080fd5b810190602081018135600160201b8111156107fa57600080fd5b82018360208201111561080c57600080fd5b803590602001918460018302840111600160201b8311171561082d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611a9b915050565b6040805167ffffffffffffffff9092168252519081900360200190f35b610933600480360360408110156108a357600080fd5b810190602081018135600160201b8111156108bd57600080fd5b8201836020820111156108cf57600080fd5b803590602001918460018302840111600160201b831117156108f057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611bcf915050565b6040805192835260208301919091528051918290030190f35b61056f6004803603604081101561096257600080fd5b810190602081018135600160201b81111561097c57600080fd5b82018360208201111561098e57600080fd5b803590602001918460018302840111600160201b831117156109af57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611c82915050565b61056f60048036036020811015610a0857600080fd5b810190602081018135600160201b811115610a2257600080fd5b820183602082011115610a3457600080fd5b803590602001918460018302840111600160201b83111715610a5557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611c8a945050505050565b61056f60048036036020811015610aac57600080fd5b810190602081018135600160201b811115610ac657600080fd5b820183602082011115610ad857600080fd5b803590602001918460018302840111600160201b83111715610af957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611c91945050505050565b61056f60048036036020811015610b5057600080fd5b5035611e2a565b61056f611e3f565b610314611e64565b61056f60048036036020811015610b7d57600080fd5b810190602081018135600160201b811115610b9757600080fd5b820183602082011115610ba957600080fd5b803590602001918460018302840111600160201b83111715610bca57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611e73945050505050565b610c2860048036036020811015610c2157600080fd5b5035611e8b565b604051808a81526020018981526020018881526020018781526020018663ffffffff1663ffffffff168152602001858152602001846001600160a01b03166001600160a01b03168152602001836005811115610c8057fe5b60ff16815263ffffffff90921660208301525060408051918290030198509650505050505050f35b61056f60048036036040811015610cbe57600080fd5b50803590602001356001600160a01b0316611ef0565b61056f600480360360c0811015610cea57600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a00135612026565b61056f60048036036040811015610d2b57600080fd5b50803590602001356001600160a01b031661207e565b610933600480360360e0811015610d5757600080fd5b50803590602081013590604081013590606081013590608081013563ffffffff169060a08101359060c001356001600160a01b0316612278565b61056f60048036036020811015610da757600080fd5b5035612514565b61056f60048036036020811015610dc457600080fd5b5035612529565b61056f60048036036040811015610de157600080fd5b810190602081018135600160201b811115610dfb57600080fd5b820183602082011115610e0d57600080fd5b803590602001918460018302840111600160201b83111715610e2e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250612653915050565b61069060048036036040811015610e8757600080fd5b810190602081018135600160201b811115610ea157600080fd5b820183602082011115610eb357600080fd5b803590602001918460018302840111600160201b83111715610ed457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061280d915050565b61056f60048036036020811015610f2d57600080fd5b50356128d1565b61056f60048036036040811015610f4a57600080fd5b50803590602001356001600160a01b0316612905565b61100460048036036020811015610f7657600080fd5b810190602081018135600160201b811115610f9057600080fd5b820183602082011115610fa257600080fd5b803590602001918460018302840111600160201b83111715610fc357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612a88945050505050565b6040805192835263ffffffff90911660208301528051918290030190f35b61056f600480360360e081101561103857600080fd5b810190602081018135600160201b81111561105257600080fd5b82018360208201111561106457600080fd5b803590602001918460018302840111600160201b8311171561108557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156110df57600080fd5b8201836020820111156110f157600080fd5b803590602001918460208302840111600160201b8311171561111257600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561116157600080fd5b82018360208201111561117357600080fd5b803590602001918460018302840111600160201b8311171561119457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156111ee57600080fd5b82018360208201111561120057600080fd5b803590602001918460208302840111600160201b8311171561122157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250612b0c915050565b61127e6004803603602081101561127757600080fd5b5035612c42565b6040518082600581111561128e57fe5b60ff16815260200191505060405180910390f35b61056f600480360360608110156112b857600080fd5b813591602081013591810190606081016040820135600160201b8111156112de57600080fd5b8201836020820111156112f057600080fd5b803590602001918460208302840111600160201b8311171561131157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612c61945050505050565b61056f6004803603606081101561136557600080fd5b810190602081018135600160201b81111561137f57600080fd5b82018360208201111561139157600080fd5b803590602001918460018302840111600160201b831117156113b257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135612e70565b61149c6004803603602081101561140e57600080fd5b810190602081018135600160201b81111561142857600080fd5b82018360208201111561143a57600080fd5b803590602001918460018302840111600160201b8311171561145b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612eaa945050505050565b6040805196875260208701959095526001600160a01b039384168686015263ffffffff909216606086015260ff1660808501521660a0830152519081900360c00190f35b610933600480360360c08110156114f657600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a00135612f41565b61056f61309a565b6115576004803603604081101561153f57600080fd5b506001600160a01b03813581169160200135166130a0565b005b6106906004803603604081101561156f57600080fd5b810190602081018135600160201b81111561158957600080fd5b82018360208201111561159b57600080fd5b803590602001918460018302840111600160201b831117156115bc57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506131cb915050565b6102f36004803603604081101561161557600080fd5b810190602081018135600160201b81111561162f57600080fd5b82018360208201111561164157600080fd5b803590602001918460018302840111600160201b8311171561166257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506132c1915050565b6000816020840101516040518160031a60008201538160021a60018201538160011a60028201538160001a60038201535160e01c949350505050565b6036546001600160a01b031681565b600080611702868686868d8d8d613350565b905080156118315760008060008060008061171c8f612eaa565b939a5091985092965091945092509050831561177c57604080518881526020810186905281517f4e64138cc499eb1adf9edff9ef69bd45c56ac4bfd307540952e4c9d51eab55c1929181900390910190a183975050505050505050611875565b60355460008a8152603360205260408082206005015481516315eade2b60e31b8152600481018c9052602481018b90526001600160a01b038a811660448301529182166064820152868216608482015263ffffffff881660a482015260ff861660c4820152915193169263af56f1589260e48084019391929182900301818387803b15801561180a57600080fd5b505af115801561181e573d6000803e3d6000fd5b5050505085975050505050505050611875565b604080516000815261753a602082015281517f4e64138cc499eb1adf9edff9ef69bd45c56ac4bfd307540952e4c9d51eab55c1929181900390910190a161753a9150505b979650505050505050565b6036546000906001600160a01b031633146118c8576040805184815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c3966119b2565b60008381526033602052604090206002600582810154600160e01b900460ff16908111156118f257fe5b1415801561191a57506001600582810154600160e01b900460ff169081111561191757fe5b14155b15611954576040805185815261c364602082015281516000805160206139fa833981519152929181900390910190a161c3649150506119b2565b60058101805460ff60e01b1916600360e01b179055604080518581526001600160a01b038516602082015281517f87f54f5eb3dd119fe71af0915af693e64a5bfd4acaa19a6c944c47cff8eec9e6929181900390910190a160009150505b92915050565b6000818152603360205260409020600101545b919050565b600090815260336020526040902060050154600160c01b900463ffffffff1690565b6060600083830390506060816040519080825280601f01601f191660200182016040528015611a28576020820181803883390190505b5090508160208201838760208a010160045afa611a4457600080fd5b95945050505050565b6729a2241af62c000081565b6000828281518110611a6757fe5b602001015160f81c60f81b60f81c60ff1661010002838360010181518110611a8b57fe5b016020015160f81c019392505050565b6000828281518110611aa957fe5b602001015160f81c60f81b60f81c60ff1667010000000000000002838360010181518110611ad357fe5b602001015160f81c60f81b60f81c60ff16660100000000000002848460020181518110611afc57fe5b602001015160f81c60f81b60f81c60ff166501000000000002858560030181518110611b2457fe5b602001015160f81c60f81b60f81c60ff16600160201b02868660040181518110611b4a57fe5b602001015160f81c60f81b60f81c60ff16630100000002878760050181518110611b7057fe5b602001015160f81c60f81b60f81c60ff166201000002888860060181518110611b9557fe5b602001015160f81c60f81b60f81c60ff1661010002898960070181518110611bb957fe5b016020015160f81c010101010101019392505050565b6000806000848481518110611be057fe5b01602001516001949094019360f81c905060fd811015611c075760ff169150829050611c7b565b8060ff1660fd1415611c2d57611c1f85856010612e70565b846002019250925050611c7b565b8060ff1660fe1415611c5357611c4585856020612e70565b846004019250925050611c7b565b8060ff1660ff1415611c7957611c6b85856040612e70565b846008019250925050611c7b565b505b9250929050565b016020015190565b6060015190565b60006119b2600280846040516020018082805190602001908083835b60208310611ccc5780518252601f199092019160209182019101611cad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310611d2f5780518252601f199092019160209182019101611d10565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611d6e573d6000803e3d6000fd5b5050506040513d6020811015611d8357600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b60208310611dcf5780518252601f199092019160209182019101611db0565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611e0e573d6000803e3d6000fd5b5050506040513d6020811015611e2357600080fd5b5051612529565b60009081526033602052604090206004015490565b603454600090815260336020526040902060050154600160c01b900463ffffffff1690565b6035546001600160a01b031681565b6044810151600090611e8481612529565b9392505050565b600090815260336020526040902080546001820154600283015460038401546005850154600490950154939592949193909263ffffffff600160a01b84048116936001600160a01b0381169260ff600160e01b83041692600160c01b90920490911690565b6036546000906001600160a01b03163314611f38576040805184815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c3966119b2565b60008381526033602052604090206002600582810154600160e01b900460ff1690811115611f6257fe5b14158015611f8a57506003600582810154600160e01b900460ff1690811115611f8757fe5b14155b15611fc4576040805185815261c364602082015281516000805160206139fa833981519152929181900390910190a161c3649150506119b2565b60058101805460ff60e01b1916600560e01b179055604080518581526001600160a01b038516602082015281517f64297372062dfcb21d6f7385f68d4656e993be2bb674099e3de73128d4911a91929181900390910190a15060009392505050565b60408051602080820198909852808201969096526060860194909452608085019290925260e01b6001600160e01b03191660a084015260a4808401919091528151808403909101815260c49092019052805191012090565b6036546000906001600160a01b031633146120c6576040805184815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c3966119b2565b60008381526033602052604090206001600582810154600160e01b900460ff16908111156120f057fe5b1415801561211857506003600582810154600160e01b900460ff169081111561211557fe5b14155b15612152576040805185815261c364602082015281516000805160206139fa833981519152929181900390910190a161c3649150506119b2565b61215a611e3f565b6005820154600160c01b900463ffffffff16116121a6576040805185815261c3fa602082015281516000805160206139fa833981519152929181900390910190a161c3fa9150506119b2565b600480820154600090815260336020526040902090600582810154600160e01b900460ff16908111156121d557fe5b14612210576040805186815261c378602082015281516000805160206139fa833981519152929181900390910190a161c378925050506119b2565b60058201805460ff60e01b1916600160e21b1790556034859055604080518681526001600160a01b038616602082015281517ff2dbbf0abb1ab1870a5e4d02746747c91d167c855255440b573ba3b5529dc901929181900390910190a1506000949350505050565b60365460009081906001600160a01b031633146122c757604080516000815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c39690506000612508565b60008481526033602052604090206003600582810154600160e01b900460ff16908111156122f157fe5b1415801561231957506004600582810154600160e01b900460ff169081111561231657fe5b14155b15612392576000805160206139fa8339815191528582600501601c9054906101000a900460ff16600581111561234b57fe5b6040805192835261c3789190910160208301528051918290030190a1600581810154600160e01b900460ff169081111561238157fe5b61c378019250600091506125089050565b61239a611e3f565b6005820154600160c01b900463ffffffff1610156123eb576040805186815261c3fa602082015281516000805160206139fa833981519152929181900390910190a15061c3fa915060009050612508565b60006123fb8b8b8b8b8b8b612026565b6000818152603360205260408120919250600582810154600160e01b900460ff169081111561242657fe5b1415612497578b815560018082018c9055600282018b9055600382018a905560048201889055600580850154908301805463ffffffff8c8116600160a01b0263ffffffff60a01b19600160c01b95869004831690960190911690930263ffffffff60c01b1990911617929092161790555b60058101805460ff60e01b1916600160e01b176001600160a01b0319166001600160a01b03881690811790915560408051848152602081019290925280517f64951c9008bba9f4663c12662e7a9b6412a7c4757869fdac09285564ae923fa19281900390910190a150600093509150505b97509795505050505050565b60009081526033602052604090206002015490565b60405160009060ff8316815382601e1a600182015382601d1a600282015382601c1a600382015382601b1a600482015382601a1a60058201538260191a60068201538260181a60078201538260171a60088201538260161a60098201538260151a600a8201538260141a600b8201538260131a600c8201538260121a600d8201538260111a600e8201538260101a600f82015382600f1a601082015382600e1a601182015382600d1a601282015382600c1a601382015382600b1a601482015382600a1a60158201538260091a60168201538260081a60178201538260071a60188201538260061a60198201538260051a601a8201538260041a601b8201538260031a601c8201538260021a601d8201538260011a601e8201538260001a601f8201535192915050565b60008060008060006126658787611bcf565b96509350836126c7576126788787611bcf565b96509350836126b85760405162461bcd60e51b815260040180806020018281038252603b815260200180613a5a603b913960400191505060405180910390fd5b6126c28787611bcf565b965093505b606484106127065760405162461bcd60e51b8152600401808060200182810382526040815260200180613a1a6040913960400191505060405180910390fd5b60005b84811015612732576024870196506127218888611bcf565b810160040197509350600101612709565b5061273d8787611bcf565b96509050600a81106127805760405162461bcd60e51b8152600401808060200182810382526041815260200180613a956041913960600191505060405180910390fd5b60005b818110156127d55760088701965061279b8888611bcf565b975093506127a988886133c3565b6127ba5795830195600092506127cd565b60018701965086955050505050506119b2565b600101612783565b5060405162461bcd60e51b8152600401808060200182810382526037815260200180613ad66037913960400191505060405180910390fd5b6040805160008082526020820190925260609161282a8585611bcf565b81019450905061283a8585611bcf565b81019450905061284a8585611bcf565b81019450905061285a8585611bcf565b81019450905061286a8585611bcf565b9450905060028114156128b95760006128838686611a59565b9482019490506128938686611bcf565b61ffff831690810196509092506128b19087908790850381016119f2565b9250506128c9565b6128c685858387016119f2565b91505b509392505050565b6034546000905b826128e2826119d0565b63ffffffff1611156119b2576000908152603360205260409020600401546128d8565b6036546000906001600160a01b0316331461294d576040805184815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c3966119b2565b60008381526033602052604090206001600582810154600160e01b900460ff169081111561297757fe5b1415801561299f57506002600582810154600160e01b900460ff169081111561299c57fe5b14155b156129d9576040805185815261c364602082015281516000805160206139fa833981519152929181900390910190a161c3649150506119b2565b60058101546001600160a01b0384811691161415612a26576040805185815261c387602082015281516000805160206139fa833981519152929181900390910190a161c3879150506119b2565b60058101805460ff60e01b1916600160e11b179055604080518581526001600160a01b038516602082015281517f09cdaca254aa177f759fe7a0968fe696ee9baf7d2a1d4714ed24b83d1f09518e929181900390910190a15060009392505050565b6000808080612a9785826116a5565b915063ffffffff821661740614612ab557506127ba9250612b079050565b612ac0856004612653565b60030190507faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d612b01612afc612af6888561280d565b836131cb565b611c8a565b93505050505b915091565b600080612b1e868686868d8d8d613350565b90508015612bfd57600080612b328b612a88565b925090508015612b8157604080518481526020810183905281517f4e64138cc499eb1adf9edff9ef69bd45c56ac4bfd307540952e4c9d51eab55c1929181900390910190a19250611875915050565b60355460408051636cde8d6f60e01b815263ffffffff8516600482015233602482015290516001600160a01b0390921691636cde8d6f9160448082019260009290919082900301818387803b158015612bd957600080fd5b505af1158015612bed573d6000803e3d6000fd5b5050505060009350505050611875565b60408051617544815290517f52fd0c7e41cb237ece28ba61808cab7bb72873b2dba5b827c5b65bb092102d379181900360200190a15061754498975050505050505050565b600090815260336020526040902060050154600160e01b900460ff1690565b8051600090815b81811015612cab57612c8c848281518110612c7f57fe5b6020026020010151612529565b848281518110612c9857fe5b6020908102919091010152600101612c68565b50600080612cb887612529565b90505b82821015612e67576000858381518110612cd157fe5b6020026020010151905060008060028981612ce857fe5b0660011415612cfb575081905082612d01565b50829050815b600280838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310612d5b5780518252601f199092019160209182019101612d3c565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015612d9a573d6000803e3d6000fd5b5050506040513d6020811015612daf57600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b60208310612dfb5780518252601f199092019160209182019101612ddc565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015612e3a573d6000803e3d6000fd5b5050506040513d6020811015612e4f57600080fd5b50519350600289049850600185019450505050612cbb565b61187581612529565b6000805b600883048110156128c9578060080260020a8582860181518110612e9457fe5b016020015160f81c029190910190600101612e74565b6000808080808080808080808080612ec28e826116a5565b935063ffffffff841661740714612eef57506127ba9b50949950919750919550919350909150612f389050565b612efa8e6004612653565b9050612f068e826133f2565b809750819650829a50839950849b505050505050600087868885878595509c509c509c509c509c509c50505050505050505b91939550919395565b603454600090819015612f5357600080fd5b8215612f5e57600080fd5b6000612f6e898989898989612026565b6000818152603360205260408120919250600582810154600160e01b900460ff1690811115612f9957fe5b14612fa357600080fd5b89815560018101899055600281018890556003810187905560048101859055600581018054600160c01b336001600160a01b0319909216821763ffffffff60c01b19161763ffffffff60a01b1916600160a01b63ffffffff8a16021760ff60e01b1916600160e21b1790915560408051848152602081019290925280517f64951c9008bba9f4663c12662e7a9b6412a7c4757869fdac09285564ae923fa19281900390910190a160348290556040805183815233602082015281517ff2dbbf0abb1ab1870a5e4d02746747c91d167c855255440b573ba3b5529dc901929181900390910190a1506000999098509650505050505050565b60345490565b600054610100900460ff16806130b957506130b961351d565b806130c7575060005460ff16155b6131025760405162461bcd60e51b815260040180806020018281038252602e815260200180613b0d602e913960400191505060405180910390fd5b600054610100900460ff1615801561312d576000805460ff1961ff0019909116610100171660011790555b6035546001600160a01b031615801561314e57506001600160a01b03831615155b61315757600080fd5b603580546001600160a01b0319166001600160a01b03858116919091179091556036541615801561319057506001600160a01b03821615155b61319957600080fd5b603680546001600160a01b0319166001600160a01b03841617905580156131c6576000805461ff00191690555b505050565b6060806131df6131da85613523565b613548565b90506060613200826003815181106131f357fe5b6020026020010151613548565b905060005b815181101561328157606061321f8383815181106131f357fe5b905060606132408260018151811061323357fe5b6020026020010151613619565b9050600061324f826001611c82565b905087811415613276576132698360028151811061323357fe5b96505050505050506119b2565b505050600101613205565b506040805162461bcd60e51b815260206004820152600f60248201526e151bdc1a58c81b9bdd08199bdd5b99608a1b604482015290519081900360640190fd5b60008282815181106132cf57fe5b602001015160f81c60f81b60f81c60ff166301000000028383600101815181106132f557fe5b602001015160f81c60f81b60f81c60ff16620100000284846002018151811061331a57fe5b602001015160f81c60f81b60f81c60ff166101000285856003018151811061333e57fe5b016020015160f81c0101019392505050565b60008481526033602052604081205461337261336b8a611c91565b8989612c61565b146133aa576040805160008152614e6660208201528151600080516020613b3b833981519152929181900390910190a1506000611875565b6133b78484848b89613692565b98975050505050505050565b8151600090603560f91b908490849081106133da57fe5b01602001516001600160f81b03191614905092915050565b600080600080600080600080600080600061340d8d8d613707565b9c509050600460ff82161461342157600080fd5b61342b8d8d6132c1565b95508060ff168c019b5061343f8d8d613707565b9c509050600860ff82161461345357600080fd5b61345d8d8d611a9b565b67ffffffffffffffff1692508060ff168c019b5061347b8d8d613707565b9c509050601460ff82161461348f57600080fd5b6134998d8d613739565b94508060ff168c019b506134ad8d8d613707565b9c509050600160ff8216146134c157600080fd5b8c8c815181106134cd57fe5b016020015160ff82169c909c019b60f81c91506134ea8d8d613707565b9c509050601460ff8216146134fe57600080fd5b6135088d8d613739565b929d949c50949a509850965090945050505050565b303b1590565b61352b6139df565b506040805180820190915281518152602082810190820152919050565b606061355382613741565b61355c57600080fd5b60006135678361377b565b90506060816040519080825280602002602001820160405280156135a557816020015b6135926139df565b81526020019060019003908161358a5790505b50905060006135b785602001516137d7565b60208601510190506000805b8481101561360e576135d48361383a565b91506040518060400160405280838152602001848152508482815181106135f757fe5b6020908102919091010152918101916001016135c3565b509195945050505050565b805160609061362757600080fd5b600061363683602001516137d7565b83516040805191839003808352601f19601f820116830160200190915291925060609082801561366d576020820181803883390190505b50905060008160200190506136898487602001510182856138d3565b50949350505050565b60008061369e87611c91565b90508651604014156136de5760408051828152614e5c60208201528151600080516020613b3b833981519152929181900390910190a16000915050611a44565b6136eb818787878761391e565b600114156136fa579050611a44565b5060009695505050505050565b6000808351831061371757600080fd5b83838151811061372357fe5b016020015160f81c915050600182019250929050565b016014015190565b8051600090613752575060006119cb565b6020820151805160001a9060c0821015613771576000925050506119cb565b5060019392505050565b805160009061378c575060006119cb565b600080905060006137a084602001516137d7565b602085015185519181019250015b808210156137ce576137bf8261383a565b600190930192909101906137ae565b50909392505050565b8051600090811a60808110156137f15760009150506119cb565b60b881108061380c575060c0811080159061380c575060f881105b1561381b5760019150506119cb565b60c081101561382f5760b5190190506119cb565b60f5190190506119cb565b80516000908190811a608081101561385557600191506138cc565b60b881101561386a57607e19810191506138cc565b60c08110156138975760b78103600185019450806020036101000a855104600182018101935050506138cc565b60f88110156138ac5760be19810191506138cc565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b806138dd576131c6565b5b602081106138fd578251825260209283019290910190601f19016138de565b915181516020939093036101000a6000190180199091169216919091179052565b6000613929826139c0565b6139605760408051878152614e3e60208201528151600080516020613b3b833981519152929181900390910190a150614e3e611a44565b600061396b84611e73565b905080613979888888612c61565b146139b35760408051888152614e5260208201528151600080516020613b3b833981519152929181900390910190a1614e52915050611a44565b5060019695505050505050565b600060046139cd83612c42565b60058111156139d857fe5b1492915050565b60405180604001604052806000815260200160008152509056fea57c1ba4cf2c89b3558cfeeca4339e04551f0fc1a12cf63f1923c2eed8a5be8b23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f696e7075747323537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20556e65787065637465642064756d6d792f666c616723537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f6f75747075747323537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a204e6f204f7052657475726e20666f756e64436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656465bd72698b9ffcfb3c7cb4c7414e13225cabd57fb690e183ae8c01c8ec268ebda265627a7a72315820970826eedc7f057a70209609e0bf4dcc8d2a92e146f85bf740c4d09208264ca564736f6c634300050d0032", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102485760003560e01c8063828fa8b41161013b578063c8bd7768116100b8578063ed8609761161007c578063ed860976146114e0578063f06d520d14611521578063f09a401614611529578063fbb381a714611559578063fc96c396146115ff57610248565b8063c8bd776814611022578063cae0581e14611261578063d0f9410b146112a2578063d5c9712f1461134f578063e8f421df146113f857610248565b8063b79bbf46116100ff578063b79bbf4614610dcb578063b7a8121814610e71578063c0dde98b14610f17578063c1f67ab314610f34578063c63128aa14610f6057610248565b8063828fa8b414610cd457806395b45ee714610d155780639e20c80314610d41578063a76a9b0f14610d91578063b6f6580a14610dae57610248565b80634d7dcfbd116101c95780635b5728121161018d5780635b57281214610b575780635ec0aedd14610b5f5780636823c56b14610b675780636e5b707114610c0b5780637420578614610ca857610248565b80634d7dcfbd1461088d578063535849391461094c57806353a3273d146109f2578063543a86f614610a9657806355e018ce14610b3a57610248565b80632e400191116102105780632e400191146105ca5780633e0e8a20146105e7578063455e616614610705578063484162be1461070d5780634b6986fd146107ca57610248565b8063029c5e2a1461024d578063155ee8941461030c578063244430381461033057806327426f75146105815780632da8cffd146105ad575b600080fd5b6102f36004803603604081101561026357600080fd5b810190602081018135600160201b81111561027d57600080fd5b82018360208201111561028f57600080fd5b803590602001918460018302840111600160201b831117156102b057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506116a5915050565b6040805163ffffffff9092168252519081900360200190f35b6103146116e1565b604080516001600160a01b039092168252519081900360200190f35b61056f600480360360e081101561034657600080fd5b810190602081018135600160201b81111561036057600080fd5b82018360208201111561037257600080fd5b803590602001918460018302840111600160201b8311171561039357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156103ed57600080fd5b8201836020820111156103ff57600080fd5b803590602001918460208302840111600160201b8311171561042057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111600160201b831117156104a257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156104fc57600080fd5b82018360208201111561050e57600080fd5b803590602001918460208302840111600160201b8311171561052f57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955050913592506116f0915050565b60408051918252519081900360200190f35b61056f6004803603604081101561059757600080fd5b50803590602001356001600160a01b0316611880565b61056f600480360360208110156105c357600080fd5b50356119b8565b6102f3600480360360208110156105e057600080fd5b50356119d0565b610690600480360360608110156105fd57600080fd5b810190602081018135600160201b81111561061757600080fd5b82018360208201111561062957600080fd5b803590602001918460018302840111600160201b8311171561064a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050823593505050602001356119f2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156106ca5781810151838201526020016106b2565b50505050905090810190601f1680156106f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61056f611a4d565b6107b36004803603604081101561072357600080fd5b810190602081018135600160201b81111561073d57600080fd5b82018360208201111561074f57600080fd5b803590602001918460018302840111600160201b8311171561077057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611a59915050565b6040805161ffff9092168252519081900360200190f35b610870600480360360408110156107e057600080fd5b810190602081018135600160201b8111156107fa57600080fd5b82018360208201111561080c57600080fd5b803590602001918460018302840111600160201b8311171561082d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611a9b915050565b6040805167ffffffffffffffff9092168252519081900360200190f35b610933600480360360408110156108a357600080fd5b810190602081018135600160201b8111156108bd57600080fd5b8201836020820111156108cf57600080fd5b803590602001918460018302840111600160201b831117156108f057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611bcf915050565b6040805192835260208301919091528051918290030190f35b61056f6004803603604081101561096257600080fd5b810190602081018135600160201b81111561097c57600080fd5b82018360208201111561098e57600080fd5b803590602001918460018302840111600160201b831117156109af57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611c82915050565b61056f60048036036020811015610a0857600080fd5b810190602081018135600160201b811115610a2257600080fd5b820183602082011115610a3457600080fd5b803590602001918460018302840111600160201b83111715610a5557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611c8a945050505050565b61056f60048036036020811015610aac57600080fd5b810190602081018135600160201b811115610ac657600080fd5b820183602082011115610ad857600080fd5b803590602001918460018302840111600160201b83111715610af957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611c91945050505050565b61056f60048036036020811015610b5057600080fd5b5035611e2a565b61056f611e3f565b610314611e64565b61056f60048036036020811015610b7d57600080fd5b810190602081018135600160201b811115610b9757600080fd5b820183602082011115610ba957600080fd5b803590602001918460018302840111600160201b83111715610bca57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611e73945050505050565b610c2860048036036020811015610c2157600080fd5b5035611e8b565b604051808a81526020018981526020018881526020018781526020018663ffffffff1663ffffffff168152602001858152602001846001600160a01b03166001600160a01b03168152602001836005811115610c8057fe5b60ff16815263ffffffff90921660208301525060408051918290030198509650505050505050f35b61056f60048036036040811015610cbe57600080fd5b50803590602001356001600160a01b0316611ef0565b61056f600480360360c0811015610cea57600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a00135612026565b61056f60048036036040811015610d2b57600080fd5b50803590602001356001600160a01b031661207e565b610933600480360360e0811015610d5757600080fd5b50803590602081013590604081013590606081013590608081013563ffffffff169060a08101359060c001356001600160a01b0316612278565b61056f60048036036020811015610da757600080fd5b5035612514565b61056f60048036036020811015610dc457600080fd5b5035612529565b61056f60048036036040811015610de157600080fd5b810190602081018135600160201b811115610dfb57600080fd5b820183602082011115610e0d57600080fd5b803590602001918460018302840111600160201b83111715610e2e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250612653915050565b61069060048036036040811015610e8757600080fd5b810190602081018135600160201b811115610ea157600080fd5b820183602082011115610eb357600080fd5b803590602001918460018302840111600160201b83111715610ed457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061280d915050565b61056f60048036036020811015610f2d57600080fd5b50356128d1565b61056f60048036036040811015610f4a57600080fd5b50803590602001356001600160a01b0316612905565b61100460048036036020811015610f7657600080fd5b810190602081018135600160201b811115610f9057600080fd5b820183602082011115610fa257600080fd5b803590602001918460018302840111600160201b83111715610fc357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612a88945050505050565b6040805192835263ffffffff90911660208301528051918290030190f35b61056f600480360360e081101561103857600080fd5b810190602081018135600160201b81111561105257600080fd5b82018360208201111561106457600080fd5b803590602001918460018302840111600160201b8311171561108557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156110df57600080fd5b8201836020820111156110f157600080fd5b803590602001918460208302840111600160201b8311171561111257600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561116157600080fd5b82018360208201111561117357600080fd5b803590602001918460018302840111600160201b8311171561119457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156111ee57600080fd5b82018360208201111561120057600080fd5b803590602001918460208302840111600160201b8311171561122157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250612b0c915050565b61127e6004803603602081101561127757600080fd5b5035612c42565b6040518082600581111561128e57fe5b60ff16815260200191505060405180910390f35b61056f600480360360608110156112b857600080fd5b813591602081013591810190606081016040820135600160201b8111156112de57600080fd5b8201836020820111156112f057600080fd5b803590602001918460208302840111600160201b8311171561131157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612c61945050505050565b61056f6004803603606081101561136557600080fd5b810190602081018135600160201b81111561137f57600080fd5b82018360208201111561139157600080fd5b803590602001918460018302840111600160201b831117156113b257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135612e70565b61149c6004803603602081101561140e57600080fd5b810190602081018135600160201b81111561142857600080fd5b82018360208201111561143a57600080fd5b803590602001918460018302840111600160201b8311171561145b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612eaa945050505050565b6040805196875260208701959095526001600160a01b039384168686015263ffffffff909216606086015260ff1660808501521660a0830152519081900360c00190f35b610933600480360360c08110156114f657600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a00135612f41565b61056f61309a565b6115576004803603604081101561153f57600080fd5b506001600160a01b03813581169160200135166130a0565b005b6106906004803603604081101561156f57600080fd5b810190602081018135600160201b81111561158957600080fd5b82018360208201111561159b57600080fd5b803590602001918460018302840111600160201b831117156115bc57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506131cb915050565b6102f36004803603604081101561161557600080fd5b810190602081018135600160201b81111561162f57600080fd5b82018360208201111561164157600080fd5b803590602001918460018302840111600160201b8311171561166257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506132c1915050565b6000816020840101516040518160031a60008201538160021a60018201538160011a60028201538160001a60038201535160e01c949350505050565b6036546001600160a01b031681565b600080611702868686868d8d8d613350565b905080156118315760008060008060008061171c8f612eaa565b939a5091985092965091945092509050831561177c57604080518881526020810186905281517f4e64138cc499eb1adf9edff9ef69bd45c56ac4bfd307540952e4c9d51eab55c1929181900390910190a183975050505050505050611875565b60355460008a8152603360205260408082206005015481516315eade2b60e31b8152600481018c9052602481018b90526001600160a01b038a811660448301529182166064820152868216608482015263ffffffff881660a482015260ff861660c4820152915193169263af56f1589260e48084019391929182900301818387803b15801561180a57600080fd5b505af115801561181e573d6000803e3d6000fd5b5050505085975050505050505050611875565b604080516000815261753a602082015281517f4e64138cc499eb1adf9edff9ef69bd45c56ac4bfd307540952e4c9d51eab55c1929181900390910190a161753a9150505b979650505050505050565b6036546000906001600160a01b031633146118c8576040805184815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c3966119b2565b60008381526033602052604090206002600582810154600160e01b900460ff16908111156118f257fe5b1415801561191a57506001600582810154600160e01b900460ff169081111561191757fe5b14155b15611954576040805185815261c364602082015281516000805160206139fa833981519152929181900390910190a161c3649150506119b2565b60058101805460ff60e01b1916600360e01b179055604080518581526001600160a01b038516602082015281517f87f54f5eb3dd119fe71af0915af693e64a5bfd4acaa19a6c944c47cff8eec9e6929181900390910190a160009150505b92915050565b6000818152603360205260409020600101545b919050565b600090815260336020526040902060050154600160c01b900463ffffffff1690565b6060600083830390506060816040519080825280601f01601f191660200182016040528015611a28576020820181803883390190505b5090508160208201838760208a010160045afa611a4457600080fd5b95945050505050565b6729a2241af62c000081565b6000828281518110611a6757fe5b602001015160f81c60f81b60f81c60ff1661010002838360010181518110611a8b57fe5b016020015160f81c019392505050565b6000828281518110611aa957fe5b602001015160f81c60f81b60f81c60ff1667010000000000000002838360010181518110611ad357fe5b602001015160f81c60f81b60f81c60ff16660100000000000002848460020181518110611afc57fe5b602001015160f81c60f81b60f81c60ff166501000000000002858560030181518110611b2457fe5b602001015160f81c60f81b60f81c60ff16600160201b02868660040181518110611b4a57fe5b602001015160f81c60f81b60f81c60ff16630100000002878760050181518110611b7057fe5b602001015160f81c60f81b60f81c60ff166201000002888860060181518110611b9557fe5b602001015160f81c60f81b60f81c60ff1661010002898960070181518110611bb957fe5b016020015160f81c010101010101019392505050565b6000806000848481518110611be057fe5b01602001516001949094019360f81c905060fd811015611c075760ff169150829050611c7b565b8060ff1660fd1415611c2d57611c1f85856010612e70565b846002019250925050611c7b565b8060ff1660fe1415611c5357611c4585856020612e70565b846004019250925050611c7b565b8060ff1660ff1415611c7957611c6b85856040612e70565b846008019250925050611c7b565b505b9250929050565b016020015190565b6060015190565b60006119b2600280846040516020018082805190602001908083835b60208310611ccc5780518252601f199092019160209182019101611cad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310611d2f5780518252601f199092019160209182019101611d10565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611d6e573d6000803e3d6000fd5b5050506040513d6020811015611d8357600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b60208310611dcf5780518252601f199092019160209182019101611db0565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611e0e573d6000803e3d6000fd5b5050506040513d6020811015611e2357600080fd5b5051612529565b60009081526033602052604090206004015490565b603454600090815260336020526040902060050154600160c01b900463ffffffff1690565b6035546001600160a01b031681565b6044810151600090611e8481612529565b9392505050565b600090815260336020526040902080546001820154600283015460038401546005850154600490950154939592949193909263ffffffff600160a01b84048116936001600160a01b0381169260ff600160e01b83041692600160c01b90920490911690565b6036546000906001600160a01b03163314611f38576040805184815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c3966119b2565b60008381526033602052604090206002600582810154600160e01b900460ff1690811115611f6257fe5b14158015611f8a57506003600582810154600160e01b900460ff1690811115611f8757fe5b14155b15611fc4576040805185815261c364602082015281516000805160206139fa833981519152929181900390910190a161c3649150506119b2565b60058101805460ff60e01b1916600560e01b179055604080518581526001600160a01b038516602082015281517f64297372062dfcb21d6f7385f68d4656e993be2bb674099e3de73128d4911a91929181900390910190a15060009392505050565b60408051602080820198909852808201969096526060860194909452608085019290925260e01b6001600160e01b03191660a084015260a4808401919091528151808403909101815260c49092019052805191012090565b6036546000906001600160a01b031633146120c6576040805184815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c3966119b2565b60008381526033602052604090206001600582810154600160e01b900460ff16908111156120f057fe5b1415801561211857506003600582810154600160e01b900460ff169081111561211557fe5b14155b15612152576040805185815261c364602082015281516000805160206139fa833981519152929181900390910190a161c3649150506119b2565b61215a611e3f565b6005820154600160c01b900463ffffffff16116121a6576040805185815261c3fa602082015281516000805160206139fa833981519152929181900390910190a161c3fa9150506119b2565b600480820154600090815260336020526040902090600582810154600160e01b900460ff16908111156121d557fe5b14612210576040805186815261c378602082015281516000805160206139fa833981519152929181900390910190a161c378925050506119b2565b60058201805460ff60e01b1916600160e21b1790556034859055604080518681526001600160a01b038616602082015281517ff2dbbf0abb1ab1870a5e4d02746747c91d167c855255440b573ba3b5529dc901929181900390910190a1506000949350505050565b60365460009081906001600160a01b031633146122c757604080516000815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c39690506000612508565b60008481526033602052604090206003600582810154600160e01b900460ff16908111156122f157fe5b1415801561231957506004600582810154600160e01b900460ff169081111561231657fe5b14155b15612392576000805160206139fa8339815191528582600501601c9054906101000a900460ff16600581111561234b57fe5b6040805192835261c3789190910160208301528051918290030190a1600581810154600160e01b900460ff169081111561238157fe5b61c378019250600091506125089050565b61239a611e3f565b6005820154600160c01b900463ffffffff1610156123eb576040805186815261c3fa602082015281516000805160206139fa833981519152929181900390910190a15061c3fa915060009050612508565b60006123fb8b8b8b8b8b8b612026565b6000818152603360205260408120919250600582810154600160e01b900460ff169081111561242657fe5b1415612497578b815560018082018c9055600282018b9055600382018a905560048201889055600580850154908301805463ffffffff8c8116600160a01b0263ffffffff60a01b19600160c01b95869004831690960190911690930263ffffffff60c01b1990911617929092161790555b60058101805460ff60e01b1916600160e01b176001600160a01b0319166001600160a01b03881690811790915560408051848152602081019290925280517f64951c9008bba9f4663c12662e7a9b6412a7c4757869fdac09285564ae923fa19281900390910190a150600093509150505b97509795505050505050565b60009081526033602052604090206002015490565b60405160009060ff8316815382601e1a600182015382601d1a600282015382601c1a600382015382601b1a600482015382601a1a60058201538260191a60068201538260181a60078201538260171a60088201538260161a60098201538260151a600a8201538260141a600b8201538260131a600c8201538260121a600d8201538260111a600e8201538260101a600f82015382600f1a601082015382600e1a601182015382600d1a601282015382600c1a601382015382600b1a601482015382600a1a60158201538260091a60168201538260081a60178201538260071a60188201538260061a60198201538260051a601a8201538260041a601b8201538260031a601c8201538260021a601d8201538260011a601e8201538260001a601f8201535192915050565b60008060008060006126658787611bcf565b96509350836126c7576126788787611bcf565b96509350836126b85760405162461bcd60e51b815260040180806020018281038252603b815260200180613a5a603b913960400191505060405180910390fd5b6126c28787611bcf565b965093505b606484106127065760405162461bcd60e51b8152600401808060200182810382526040815260200180613a1a6040913960400191505060405180910390fd5b60005b84811015612732576024870196506127218888611bcf565b810160040197509350600101612709565b5061273d8787611bcf565b96509050600a81106127805760405162461bcd60e51b8152600401808060200182810382526041815260200180613a956041913960600191505060405180910390fd5b60005b818110156127d55760088701965061279b8888611bcf565b975093506127a988886133c3565b6127ba5795830195600092506127cd565b60018701965086955050505050506119b2565b600101612783565b5060405162461bcd60e51b8152600401808060200182810382526037815260200180613ad66037913960400191505060405180910390fd5b6040805160008082526020820190925260609161282a8585611bcf565b81019450905061283a8585611bcf565b81019450905061284a8585611bcf565b81019450905061285a8585611bcf565b81019450905061286a8585611bcf565b9450905060028114156128b95760006128838686611a59565b9482019490506128938686611bcf565b61ffff831690810196509092506128b19087908790850381016119f2565b9250506128c9565b6128c685858387016119f2565b91505b509392505050565b6034546000905b826128e2826119d0565b63ffffffff1611156119b2576000908152603360205260409020600401546128d8565b6036546000906001600160a01b0316331461294d576040805184815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c3966119b2565b60008381526033602052604090206001600582810154600160e01b900460ff169081111561297757fe5b1415801561299f57506002600582810154600160e01b900460ff169081111561299c57fe5b14155b156129d9576040805185815261c364602082015281516000805160206139fa833981519152929181900390910190a161c3649150506119b2565b60058101546001600160a01b0384811691161415612a26576040805185815261c387602082015281516000805160206139fa833981519152929181900390910190a161c3879150506119b2565b60058101805460ff60e01b1916600160e11b179055604080518581526001600160a01b038516602082015281517f09cdaca254aa177f759fe7a0968fe696ee9baf7d2a1d4714ed24b83d1f09518e929181900390910190a15060009392505050565b6000808080612a9785826116a5565b915063ffffffff821661740614612ab557506127ba9250612b079050565b612ac0856004612653565b60030190507faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d612b01612afc612af6888561280d565b836131cb565b611c8a565b93505050505b915091565b600080612b1e868686868d8d8d613350565b90508015612bfd57600080612b328b612a88565b925090508015612b8157604080518481526020810183905281517f4e64138cc499eb1adf9edff9ef69bd45c56ac4bfd307540952e4c9d51eab55c1929181900390910190a19250611875915050565b60355460408051636cde8d6f60e01b815263ffffffff8516600482015233602482015290516001600160a01b0390921691636cde8d6f9160448082019260009290919082900301818387803b158015612bd957600080fd5b505af1158015612bed573d6000803e3d6000fd5b5050505060009350505050611875565b60408051617544815290517f52fd0c7e41cb237ece28ba61808cab7bb72873b2dba5b827c5b65bb092102d379181900360200190a15061754498975050505050505050565b600090815260336020526040902060050154600160e01b900460ff1690565b8051600090815b81811015612cab57612c8c848281518110612c7f57fe5b6020026020010151612529565b848281518110612c9857fe5b6020908102919091010152600101612c68565b50600080612cb887612529565b90505b82821015612e67576000858381518110612cd157fe5b6020026020010151905060008060028981612ce857fe5b0660011415612cfb575081905082612d01565b50829050815b600280838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310612d5b5780518252601f199092019160209182019101612d3c565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015612d9a573d6000803e3d6000fd5b5050506040513d6020811015612daf57600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b60208310612dfb5780518252601f199092019160209182019101612ddc565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015612e3a573d6000803e3d6000fd5b5050506040513d6020811015612e4f57600080fd5b50519350600289049850600185019450505050612cbb565b61187581612529565b6000805b600883048110156128c9578060080260020a8582860181518110612e9457fe5b016020015160f81c029190910190600101612e74565b6000808080808080808080808080612ec28e826116a5565b935063ffffffff841661740714612eef57506127ba9b50949950919750919550919350909150612f389050565b612efa8e6004612653565b9050612f068e826133f2565b809750819650829a50839950849b505050505050600087868885878595509c509c509c509c509c509c50505050505050505b91939550919395565b603454600090819015612f5357600080fd5b8215612f5e57600080fd5b6000612f6e898989898989612026565b6000818152603360205260408120919250600582810154600160e01b900460ff1690811115612f9957fe5b14612fa357600080fd5b89815560018101899055600281018890556003810187905560048101859055600581018054600160c01b336001600160a01b0319909216821763ffffffff60c01b19161763ffffffff60a01b1916600160a01b63ffffffff8a16021760ff60e01b1916600160e21b1790915560408051848152602081019290925280517f64951c9008bba9f4663c12662e7a9b6412a7c4757869fdac09285564ae923fa19281900390910190a160348290556040805183815233602082015281517ff2dbbf0abb1ab1870a5e4d02746747c91d167c855255440b573ba3b5529dc901929181900390910190a1506000999098509650505050505050565b60345490565b600054610100900460ff16806130b957506130b961351d565b806130c7575060005460ff16155b6131025760405162461bcd60e51b815260040180806020018281038252602e815260200180613b0d602e913960400191505060405180910390fd5b600054610100900460ff1615801561312d576000805460ff1961ff0019909116610100171660011790555b6035546001600160a01b031615801561314e57506001600160a01b03831615155b61315757600080fd5b603580546001600160a01b0319166001600160a01b03858116919091179091556036541615801561319057506001600160a01b03821615155b61319957600080fd5b603680546001600160a01b0319166001600160a01b03841617905580156131c6576000805461ff00191690555b505050565b6060806131df6131da85613523565b613548565b90506060613200826003815181106131f357fe5b6020026020010151613548565b905060005b815181101561328157606061321f8383815181106131f357fe5b905060606132408260018151811061323357fe5b6020026020010151613619565b9050600061324f826001611c82565b905087811415613276576132698360028151811061323357fe5b96505050505050506119b2565b505050600101613205565b506040805162461bcd60e51b815260206004820152600f60248201526e151bdc1a58c81b9bdd08199bdd5b99608a1b604482015290519081900360640190fd5b60008282815181106132cf57fe5b602001015160f81c60f81b60f81c60ff166301000000028383600101815181106132f557fe5b602001015160f81c60f81b60f81c60ff16620100000284846002018151811061331a57fe5b602001015160f81c60f81b60f81c60ff166101000285856003018151811061333e57fe5b016020015160f81c0101019392505050565b60008481526033602052604081205461337261336b8a611c91565b8989612c61565b146133aa576040805160008152614e6660208201528151600080516020613b3b833981519152929181900390910190a1506000611875565b6133b78484848b89613692565b98975050505050505050565b8151600090603560f91b908490849081106133da57fe5b01602001516001600160f81b03191614905092915050565b600080600080600080600080600080600061340d8d8d613707565b9c509050600460ff82161461342157600080fd5b61342b8d8d6132c1565b95508060ff168c019b5061343f8d8d613707565b9c509050600860ff82161461345357600080fd5b61345d8d8d611a9b565b67ffffffffffffffff1692508060ff168c019b5061347b8d8d613707565b9c509050601460ff82161461348f57600080fd5b6134998d8d613739565b94508060ff168c019b506134ad8d8d613707565b9c509050600160ff8216146134c157600080fd5b8c8c815181106134cd57fe5b016020015160ff82169c909c019b60f81c91506134ea8d8d613707565b9c509050601460ff8216146134fe57600080fd5b6135088d8d613739565b929d949c50949a509850965090945050505050565b303b1590565b61352b6139df565b506040805180820190915281518152602082810190820152919050565b606061355382613741565b61355c57600080fd5b60006135678361377b565b90506060816040519080825280602002602001820160405280156135a557816020015b6135926139df565b81526020019060019003908161358a5790505b50905060006135b785602001516137d7565b60208601510190506000805b8481101561360e576135d48361383a565b91506040518060400160405280838152602001848152508482815181106135f757fe5b6020908102919091010152918101916001016135c3565b509195945050505050565b805160609061362757600080fd5b600061363683602001516137d7565b83516040805191839003808352601f19601f820116830160200190915291925060609082801561366d576020820181803883390190505b50905060008160200190506136898487602001510182856138d3565b50949350505050565b60008061369e87611c91565b90508651604014156136de5760408051828152614e5c60208201528151600080516020613b3b833981519152929181900390910190a16000915050611a44565b6136eb818787878761391e565b600114156136fa579050611a44565b5060009695505050505050565b6000808351831061371757600080fd5b83838151811061372357fe5b016020015160f81c915050600182019250929050565b016014015190565b8051600090613752575060006119cb565b6020820151805160001a9060c0821015613771576000925050506119cb565b5060019392505050565b805160009061378c575060006119cb565b600080905060006137a084602001516137d7565b602085015185519181019250015b808210156137ce576137bf8261383a565b600190930192909101906137ae565b50909392505050565b8051600090811a60808110156137f15760009150506119cb565b60b881108061380c575060c0811080159061380c575060f881105b1561381b5760019150506119cb565b60c081101561382f5760b5190190506119cb565b60f5190190506119cb565b80516000908190811a608081101561385557600191506138cc565b60b881101561386a57607e19810191506138cc565b60c08110156138975760b78103600185019450806020036101000a855104600182018101935050506138cc565b60f88110156138ac5760be19810191506138cc565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b806138dd576131c6565b5b602081106138fd578251825260209283019290910190601f19016138de565b915181516020939093036101000a6000190180199091169216919091179052565b6000613929826139c0565b6139605760408051878152614e3e60208201528151600080516020613b3b833981519152929181900390910190a150614e3e611a44565b600061396b84611e73565b905080613979888888612c61565b146139b35760408051888152614e5260208201528151600080516020613b3b833981519152929181900390910190a1614e52915050611a44565b5060019695505050505050565b600060046139cd83612c42565b60058111156139d857fe5b1492915050565b60405180604001604052806000815260200160008152509056fea57c1ba4cf2c89b3558cfeeca4339e04551f0fc1a12cf63f1923c2eed8a5be8b23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f696e7075747323537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20556e65787065637465642064756d6d792f666c616723537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f6f75747075747323537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a204e6f204f7052657475726e20666f756e64436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656465bd72698b9ffcfb3c7cb4c7414e13225cabd57fb690e183ae8c01c8ec268ebda265627a7a72315820970826eedc7f057a70209609e0bf4dcc8d2a92e146f85bf740c4d09208264ca564736f6c634300050d0032", - "sourceMap": "350:35589:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;350:35589:6;;;;;;;", - "deployedSourceMap": "350:35589:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;350:35589:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1517:501:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1517:501:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;1517:501:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1517:501:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1517:501:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1517:501:5;;-1:-1:-1;;1517:501:5;;;-1:-1:-1;1517:501:5;;-1:-1:-1;;1517:501:5:i;:::-;;;;;;;;;;;;;;;;;;;1471:34:6;;;:::i;:::-;;;;-1:-1:-1;;;;;1471:34:6;;;;;;;;;;;;;;23312:1206;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;23312:1206:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;23312:1206:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;23312:1206:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;23312:1206:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;23312:1206:6;;;;;;;;;-1:-1:-1;23312:1206:6;;;;-1:-1:-1;23312:1206:6;;;;-1:-1:-1;;;;5:28;;2:2;;;46:1;43;36:12;2:2;23312:1206:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;23312:1206:6;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;23312:1206:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;23312:1206:6;;;;;;;;-1:-1:-1;23312:1206:6;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;23312:1206:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;23312:1206:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;23312:1206:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;23312:1206:6;;;;;;;;;-1:-1:-1;23312:1206:6;;;;-1:-1:-1;23312:1206:6;;;;-1:-1:-1;;;;5:28;;2:2;;;46:1;43;36:12;2:2;23312:1206:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;23312:1206:6;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;23312:1206:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;23312:1206:6;;-1:-1:-1;;23312:1206:6;;;-1:-1:-1;23312:1206:6;;-1:-1:-1;;23312:1206:6:i;:::-;;;;;;;;;;;;;;;;19157:738;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19157:738:6;;;;;;-1:-1:-1;;;;;19157:738:6;;:::i;34420:148::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;34420:148:6;;:::i;34232:140::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;34232:140:6;;:::i;5765:460:5:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5765:460:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5765:460:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5765:460:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5765:460:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5765:460:5;;-1:-1:-1;;5765:460:5;;;-1:-1:-1;;;5765:460:5;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5765:460:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4142:61:4;;;:::i;7792:177:6:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7792:177:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;7792:177:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7792:177:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7792:177:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;7792:177:6;;-1:-1:-1;;7792:177:6;;;-1:-1:-1;7792:177:6;;-1:-1:-1;;7792:177:6:i;:::-;;;;;;;;;;;;;;;;;;;2479:417;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2479:417:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2479:417:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2479:417:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2479:417:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2479:417:6;;-1:-1:-1;;2479:417:6;;;-1:-1:-1;2479:417:6;;-1:-1:-1;;2479:417:6:i;:::-;;;;;;;;;;;;;;;;;;;506:580:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;506:580:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;506:580:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;506:580:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;506:580:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;506:580:5;;-1:-1:-1;;506:580:5;;;-1:-1:-1;506:580:5;;-1:-1:-1;;506:580:5:i;:::-;;;;;;;;;;;;;;;;;;;;;;;10038:222:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10038:222:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;10038:222:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10038:222:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;10038:222:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;10038:222:6;;-1:-1:-1;;10038:222:6;;;-1:-1:-1;10038:222:6;;-1:-1:-1;;10038:222:6:i;11325:233::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11325:233:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11325:233:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:233:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:233:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;11325:233:6;;-1:-1:-1;11325:233:6;;-1:-1:-1;;;;;11325:233:6:i;29808:177::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;29808:177:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;29808:177:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;29808:177:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;29808:177:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;29808:177:6;;-1:-1:-1;29808:177:6;;-1:-1:-1;;;;;29808:177:6:i;34825:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;34825:149:6;;:::i;35327:111::-;;;:::i;804:54::-;;;:::i;30237:238::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;30237:238:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;30237:238:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;30237:238:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;30237:238:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;30237:238:6;;-1:-1:-1;30237:238:6;;-1:-1:-1;;;;;30237:238:6:i;33452:734::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;33452:734:6;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;33452:734:6;-1:-1:-1;;;;;33452:734:6;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33452:734:6;;;;;;;;;-1:-1:-1;33452:734:6;-1:-1:-1;;;;;;;33452:734:6;20367;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20367:734:6;;;;;;-1:-1:-1;;;;;20367:734:6;;:::i;32694:444::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;32694:444:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;16263:1227::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16263:1227:6;;;;;;-1:-1:-1;;;;;16263:1227:6;;:::i;14082:1775::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;14082:1775:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14082:1775:6;;:::i;34623:157::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;34623:157:6;;:::i;2214:1816:5:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2214:1816:5;;:::i;5131:1623:6:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5131:1623:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5131:1623:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5131:1623:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5131:1623:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5131:1623:6;;-1:-1:-1;;5131:1623:6;;;-1:-1:-1;5131:1623:6;;-1:-1:-1;;5131:1623:6:i;8191:1458::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8191:1458:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;8191:1458:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8191:1458:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8191:1458:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8191:1458:6;;-1:-1:-1;;8191:1458:6;;;-1:-1:-1;8191:1458:6;;-1:-1:-1;;8191:1458:6:i;35636:301::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;35636:301:6;;:::i;17838:918::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17838:918:6;;;;;;-1:-1:-1;;;;;17838:918:6;;:::i;6936:850::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6936:850:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;6936:850:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6936:850:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6936:850:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6936:850:6;;-1:-1:-1;6936:850:6;;-1:-1:-1;;;;;6936:850:6:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;25214:1147;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;25214:1147:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;25214:1147:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;25214:1147:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;25214:1147:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;25214:1147:6;;;;;;;;;-1:-1:-1;25214:1147:6;;;;-1:-1:-1;25214:1147:6;;;;-1:-1:-1;;;;5:28;;2:2;;;46:1;43;36:12;2:2;25214:1147:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;25214:1147:6;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;25214:1147:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;25214:1147:6;;;;;;;;-1:-1:-1;25214:1147:6;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;25214:1147:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;25214:1147:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;25214:1147:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;25214:1147:6;;;;;;;;;-1:-1:-1;25214:1147:6;;;;-1:-1:-1;25214:1147:6;;;;-1:-1:-1;;;;5:28;;2:2;;;46:1;43;36:12;2:2;25214:1147:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;25214:1147:6;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;25214:1147:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;25214:1147:6;;-1:-1:-1;;25214:1147:6;;;-1:-1:-1;25214:1147:6;;-1:-1:-1;;25214:1147:6:i;35020:142::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;35020:142:6;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4426:946:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4426:946:5;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4426:946:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4426:946:5;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4426:946:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4426:946:5;;-1:-1:-1;4426:946:5;;-1:-1:-1;;;;;4426:946:5:i;1135:259::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1135:259:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;1135:259:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1135:259:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1135:259:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1135:259:5;;-1:-1:-1;;1135:259:5;;;-1:-1:-1;;;1135:259:5;;;;:::i;26600:823:6:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;26600:823:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;26600:823:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;26600:823:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;26600:823:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;26600:823:6;;-1:-1:-1;26600:823:6;;-1:-1:-1;;;;;26600:823:6:i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;26600:823:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12252:1177;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;12252:1177:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;33265:99::-;;;:::i;1808:411::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1808:411:6;;;;;;;;;;:::i;:::-;;10423:763;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10423:763:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;10423:763:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10423:763:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;10423:763:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;10423:763:6;;-1:-1:-1;;10423:763:6;;;-1:-1:-1;10423:763:6;;-1:-1:-1;;10423:763:6:i;2902:257::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2902:257:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2902:257:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2902:257:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2902:257:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2902:257:6;;-1:-1:-1;;2902:257:6;;;-1:-1:-1;2902:257:6;;-1:-1:-1;;2902:257:6:i;1517:501:5:-;1622:13;1714:3;1707:4;1700:5;1696:16;1692:26;1686:33;1750:4;1744:11;1798:4;1795:1;1790:13;1786:1;1780:4;1776:12;1768:36;1847:4;1844:1;1839:13;1835:1;1829:4;1825:12;1817:36;1896:4;1893:1;1888:13;1884:1;1878:4;1874:12;1866:36;1945:4;1942:1;1937:13;1933:1;1927:4;1923:12;1915:36;1990:11;1978:10;1974:28;;1660:352;-1:-1:-1;;;;1660:352:5:o;1471:34:6:-;;;-1:-1:-1;;;;;1471:34:6;;:::o;23312:1206::-;23593:4;23609:11;23623:129;23639:19;23660:18;23680:21;23703:15;23720:8;23730;23740:11;23623:15;:129::i;:::-;23609:143;-1:-1:-1;23766:11:6;;23762:655;;23793:10;23817:26;23857:8;23879:16;23909:28;23951:15;24059:21;24071:8;24059:11;:21::i;:::-;23980:100;;-1:-1:-1;23980:100:6;;-1:-1:-1;23980:100:6;;-1:-1:-1;23980:100:6;;-1:-1:-1;23980:100:6;-1:-1:-1;23980:100:6;-1:-1:-1;24097:8:6;;24094:116;;24129:38;;;;;;;;;;;;;;;;;;;;;;;;;24192:3;24185:10;;;;;;;;;;;24094:116;24223:19;;;24297:28;;;:11;:28;;;;;;:38;;;24223:157;;-1:-1:-1;;;24223:157:6;;;;;;;;;;;;;;-1:-1:-1;;;;;24223:157:6;;;;;;;24297:38;;;24223:157;;;;;;;;;;;;;;;;;;;;;;;;;;;:19;;;:38;;:157;;;;;:19;;:157;;;;;;:19;;:157;;;5:2:-1;;;;30:1;27;20:12;5:2;24223:157:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24223:157:6;;;;24401:5;24394:12;;;;;;;;;;;23762:655;24431:46;;;24456:1;24431:46;;4077:5:4;24431:46:6;;;;;;;;;;;;;;;;;4077:5:4;24487:24:6;;;23312:1206;;;;;;;;;;:::o;19157:738::-;19275:19;;19241:4;;-1:-1:-1;;;;;19275:19:6;19261:10;:33;19257:186;;19315:65;;;;;;2583:5:4;19315:65:6;;;;;;-1:-1:-1;;;;;;;;;;;19315:65:6;;;;;;;;;;-1:-1:-1;2583:5:4;19394:38:6;;19257:186;19452:33;19488:28;;;:11;:28;;;;;19552:15;19531:17;;;;;-1:-1:-1;;;19531:17:6;;;;;:36;;;;;;;;;:71;;;;-1:-1:-1;19592:10:6;19571:17;;;;;-1:-1:-1;;;19571:17:6;;;;;:31;;;;;;;;;19531:71;19527:212;;;19623:59;;;;;;939:5:4;19623:59:6;;;;;;-1:-1:-1;;;;;;;;;;;19623:59:6;;;;;;;;;;939:5:4;19696:32:6;;;;;19527:212;19748:17;;;:39;;-1:-1:-1;;;;19748:39:6;-1:-1:-1;;;19748:39:6;;;19803:51;;;;;;-1:-1:-1;;;;;19803:51:6;;;;;;;;;;;;;;;;;;;837:1:4;19864:24:6;;;19157:738;;;;;:::o;34420:148::-;34500:4;34523:28;;;:11;:28;;;;;:38;;;34420:148;;;;:::o;34232:140::-;34306:6;34331:27;;;:11;:27;;;;;:34;;;-1:-1:-1;;;34331:34:6;;;;;34232:140::o;5765:460:5:-;5859:12;5883:8;5906:6;5894:9;:18;5883:29;;5922:19;5954:3;5944:14;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;104:10;5944:14:5;87:34:-1;135:17;;-1:-1;5944:14:5;;5922:36;;6136:3;6129:4;6121:6;6117:17;6112:3;6103:6;6096:4;6085:9;6081:20;6077:33;6071:4;6066:3;6055:85;6045:2;;6170:1;6167;6160:12;6045:2;6212:6;5765:460;-1:-1:-1;;;;;5765:460:5:o;4142:61:4:-;4184:19;4142:61;:::o;7792:177:6:-;7866:13;7943:5;7949:3;7943:10;;;;;;;;;;;;;;;;7937:17;;7930:25;;7957:4;7930:32;7913:5;7919:3;7923:1;7919:5;7913:12;;;;;;;;;;;;;;7900:62;;7792:177;-1:-1:-1;;;7792:177:6:o;2479:417::-;2553:13;2869:5;2875:3;2869:10;;;;;;;;;;;;;;;;2863:17;;2856:25;;2883:5;2856:33;2829:5;2835:3;2841:1;2835:7;2829:14;;;;;;;;;;;;;;;;2823:21;;2816:29;;2847:5;2816:37;2789:5;2795:3;2801:1;2795:7;2789:14;;;;;;;;;;;;;;;;2783:21;;2776:29;;2807:5;2776:37;2749:5;2755:3;2761:1;2755:7;2749:14;;;;;;;;;;;;;;;;2743:21;;2736:29;;-1:-1:-1;;;2736:37:6;2709:5;2715:3;2721:1;2715:7;2709:14;;;;;;;;;;;;;;;;2703:21;;2696:29;;2727:5;2696:37;2669:5;2675:3;2681:1;2675:7;2669:14;;;;;;;;;;;;;;;;2663:21;;2656:29;;2687:5;2656:37;2630:5;2636:3;2642:1;2636:7;2630:14;;;;;;;;;;;;;;;;2624:21;;2617:29;;2648:4;2617:36;2600:5;2606:3;2610:1;2606:5;2600:12;;;;;;;;;;;;;;2587:66;:106;:146;:186;:226;:266;:302;;2479:417;-1:-1:-1;;;2479:417:6:o;506:580:5:-;580:4;586;660:10;679:7;687:3;679:12;;;;;;;;;;;;709:1;702:8;;;;;679:12;;;-1:-1:-1;746:4:5;739:11;;735:345;;;766:18;;;-1:-1:-1;780:3:5;;-1:-1:-1;766:18:5;;735:345;805:4;:12;;813:4;805:12;801:279;;;841:28;852:7;861:3;866:2;841:10;:28::i;:::-;871:3;877:1;871:7;833:46;;;;;;;801:279;900:4;:12;;908:4;900:12;896:184;;;936:28;947:7;956:3;961:2;936:10;:28::i;:::-;966:3;972:1;966:7;928:46;;;;;;;896:184;995:4;:12;;1003:4;995:12;991:89;;;1031:28;1042:7;1051:3;1056:2;1031:10;:28::i;:::-;1061:3;1067:1;1061:7;1023:46;;;;;;;991:89;506:580;;;;;;;:::o;10038:222:6:-;10193:30;10212:4;10193:30;10187:37;;10038:222::o;11325:233::-;11526:14;11511:30;11505:37;;11482:70::o;29808:177::-;29874:4;29897:81;29914:62;29938:36;29962:10;29945:28;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;29945:28:6;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;29945:28:6;;;29938:36;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;29938:36:6;;;;;;;-1:-1:-1;263:2;;-1:-1;;29938:36:6;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29938:36:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29938:36:6;29921:54;;;29938:36;29921:54;;;;;;;;;26:21:-1;;;22:32;;6:49;;29921:54:6;;;;;;;29914:62;;29921:54;;;;29914:62;;;;;29921:54;29914:62;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;29914:62:6;;;;;;;-1:-1:-1;263:2;;-1:-1;;29914:62:6;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29914:62:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29914:62:6;29897:11;:81::i;34825:149::-;34904:7;34930:28;;;:11;:28;;;;;:37;;;;34825:149::o;35327:111::-;35409:14;;35374:4;35397:27;;;:11;:27;;;;;:34;;;-1:-1:-1;;;35397:34:6;;;;;35327:111::o;804:54::-;;;-1:-1:-1;;;;;804:54:6;;:::o;30237:238::-;30390:32;;;30384:39;30314:4;;30449:19;30384:39;30449:11;:19::i;:::-;30442:26;30237:238;-1:-1:-1;;;30237:238:6:o;33452:734::-;33531:25;33818:27;;;:11;:27;;;;;33876;;33917:20;;;;33951:23;;;;33988:19;;;;34021;;;;34054;;;;;33876:27;;33917:20;;33951:23;;33988:19;;34021;-1:-1:-1;;;34021:19:6;;;;;-1:-1:-1;;;;;34087:20:6;;;34121:17;-1:-1:-1;;;34121:17:6;;;;-1:-1:-1;;;34152:17:6;;;;;;;33452:734::o;20367:::-;20484:19;;20450:4;;-1:-1:-1;;;;;20484:19:6;20470:10;:33;20466:186;;20524:65;;;;;;2583:5:4;20524:65:6;;;;;;-1:-1:-1;;;;;;;;;;;20524:65:6;;;;;;;;;;-1:-1:-1;2583:5:4;20603:38:6;;20466:186;20661:33;20697:28;;;:11;:28;;;;;20760:15;20739:17;;;;;-1:-1:-1;;;20739:17:6;;;;;:36;;;;;;;;;:80;;;;-1:-1:-1;20800:19:6;20779:17;;;;;-1:-1:-1;;;20779:17:6;;;;;:40;;;;;;;;;20739:80;20735:221;;;20840:59;;;;;;939:5:4;20840:59:6;;;;;;-1:-1:-1;;;;;;;;;;;20840:59:6;;;;;;;;;;939:5:4;20913:32:6;;;;;20735:221;20985:14;20965:17;;:34;;-1:-1:-1;;;;20965:34:6;-1:-1:-1;;;20965:34:6;;;21014:46;;;;;;-1:-1:-1;;;;;21014:46:6;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;20367:734:6;-1:-1:-1;;;20367:734:6:o;32694:444::-;32953:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;32953:177:6;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;32953:177:6;;;;;;32943:188;;;;;;32694:444::o;16263:1227::-;16377:19;;16343:4;;-1:-1:-1;;;;;16377:19:6;16363:10;:33;16359:186;;16417:65;;;;;;2583:5:4;16417:65:6;;;;;;-1:-1:-1;;;;;;;;;;;16417:65:6;;;;;;;;;;-1:-1:-1;2583:5:4;16496:38:6;;16359:186;16554:33;16590:28;;;:11;:28;;;;;16653:10;16632:17;;;;;-1:-1:-1;;;16632:17:6;;;;;:31;;;;;;;;;:75;;;;-1:-1:-1;16688:19:6;16667:17;;;;;-1:-1:-1;;;16667:17:6;;;;;:40;;;;;;;;;16632:75;16628:216;;;16728:59;;;;;;939:5:4;16728:59:6;;;;;;-1:-1:-1;;;;;;;;;;;16728:59:6;;;;;;;;;;939:5:4;16801:32:6;;;;;16628:216;16879:16;:14;:16::i;:::-;16858:17;;;;-1:-1:-1;;;16858:17:6;;;;:37;16854:188;;16916:64;;;;;;3300:5:4;16916:64:6;;;;;;-1:-1:-1;;;;;;;;;;;16916:64:6;;;;;;;;;;3300:5:4;16994:37:6;;;;;16854:188;17096:19;;;;;17052:29;17084:32;;;:11;:32;;;;;;17130:13;;;;;-1:-1:-1;;;17130:13:6;;;;;:32;;;;;;;;17126:173;;17183:59;;;;;;1444:5:4;17183:59:6;;;;;;-1:-1:-1;;;;;;;;;;;17183:59:6;;;;;;;;;;1444:5:4;17256:32:6;;;;;;17126:173;17309:17;;;:35;;-1:-1:-1;;;;17309:35:6;-1:-1:-1;;;17309:35:6;;;17354:14;:32;;;17402:47;;;;;;-1:-1:-1;;;;;17402:47:6;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;16263:1227:6;-1:-1:-1;;;;16263:1227:6:o;14082:1775::-;14361:19;;14318:4;;;;-1:-1:-1;;;;;14361:19:6;14347:10;:33;14343:177;;14401:51;;;14417:1;14401:51;;2583:5:4;14401:51:6;;;;;;-1:-1:-1;;;;;;;;;;;14401:51:6;;;;;;;;;;-1:-1:-1;2583:5:4;;-1:-1:-1;14507:1:6;14466:43;;14343:177;14530:29;14562:22;;;:11;:22;;;;;14615:19;14598:13;;;;;-1:-1:-1;;;14598:13:6;;;;;:36;;;;;;;;;:72;;;;-1:-1:-1;14655:15:6;14638:13;;;;;-1:-1:-1;;;14638:13:6;;;;;:32;;;;;;;;;14598:72;14594:256;;;-1:-1:-1;;;;;;;;;;;14707:9:6;14751:6;:13;;;;;;;;;;;;14746:19;;;;;;;;14691:75;;;;;;1444:5:4;14718:47:6;;;;14691:75;;;;;;;;;;;;;14821:13;;;;;-1:-1:-1;;;14821:13:6;;;;;14816:19;;;;;;;1444:5:4;14788:47:6;;-1:-1:-1;14837:1:6;;-1:-1:-1;14780:59:6;;-1:-1:-1;14780:59:6;14594:256;14880:16;:14;:16::i;:::-;14864:13;;;;-1:-1:-1;;;14864:13:6;;;;:32;14860:182;;;14917:58;;;;;;3300:5:4;14917:58:6;;;;;;-1:-1:-1;;;;;;;;;;;14917:58:6;;;;;;;;;;-1:-1:-1;3300:5:4;;-1:-1:-1;15029:1:6;;-1:-1:-1;14989:42:6;;14860:182;15052:22;15077:97;15096:17;15115:10;15127:13;15142:9;15153;15164;15077:18;:97::i;:::-;15184:33;15220:27;;;:11;:27;;;;;15052:122;;-1:-1:-1;15261:17:6;;;;;-1:-1:-1;;;15261:17:6;;;;;:41;;;;;;;;15257:405;;;15318:47;;;15379:20;;;;:33;;;15426:23;;;:39;;;15479:19;;;:31;;;15524:19;;;:31;;;15589:13;;;;;15569:17;;;:37;;15589:13;15620:31;;;-1:-1:-1;;;15620:31:6;-1:-1:-1;;;;;;;15589:13:6;;;;;;:17;;;15569:37;;;;;;-1:-1:-1;;;;15569:37:6;;;;15620:31;;;;;;;15257:405;15671:17;;;:30;;-1:-1:-1;;;;15671:30:6;-1:-1:-1;;;15671:30:6;-1:-1:-1;;;;;;15711:32:6;-1:-1:-1;;;;;15711:32:6;;;;;;;;15758:40;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;-1:-1:-1;15835:14:6;-1:-1:-1;;14082:1775:6;;;;;;;;;;;:::o;34623:157::-;34709:4;34732:28;;;:11;:28;;;;;:41;;;;34623:157::o;2214:1816:5:-;2332:4;2326:11;2269;;2371:16;;;2326:11;2350:38;2431:6;2427:2;2422:16;2418:1;2413:3;2409:11;2401:38;2482:6;2478:2;2473:16;2469:1;2464:3;2460:11;2452:38;2533:6;2529:2;2524:16;2520:1;2515:3;2511:11;2503:38;2584:6;2580:2;2575:16;2571:1;2566:3;2562:11;2554:38;2635:6;2631:2;2626:16;2622:1;2617:3;2613:11;2605:38;2686:6;2682:2;2677:16;2673:1;2668:3;2664:11;2656:38;2737:6;2733:2;2728:16;2724:1;2719:3;2715:11;2707:38;2788:6;2784:2;2779:16;2775:1;2770:3;2766:11;2758:38;2839:6;2835:2;2830:16;2826:1;2821:3;2817:11;2809:38;2891:6;2887:2;2882:16;2877:2;2872:3;2868:12;2860:39;2943:6;2939:2;2934:16;2929:2;2924:3;2920:12;2912:39;2995:6;2991:2;2986:16;2981:2;2976:3;2972:12;2964:39;3047:6;3043:2;3038:16;3033:2;3028:3;3024:12;3016:39;3099:6;3095:2;3090:16;3085:2;3080:3;3076:12;3068:39;3151:6;3147:2;3142:16;3137:2;3132:3;3128:12;3120:39;3203:6;3199:2;3194:16;3189:2;3184:3;3180:12;3172:39;3255:6;3251:2;3246:16;3241:2;3236:3;3232:12;3224:39;3307:6;3303:2;3298:16;3293:2;3288:3;3284:12;3276:39;3359:6;3355:2;3350:16;3345:2;3340:3;3336:12;3328:39;3411:6;3407:2;3402:16;3397:2;3392:3;3388:12;3380:39;3463:6;3459:2;3454:16;3449:2;3444:3;3440:12;3432:39;3514:6;3511:1;3506:15;3501:2;3496:3;3492:12;3484:38;3565:6;3562:1;3557:15;3552:2;3547:3;3543:12;3535:38;3616:6;3613:1;3608:15;3603:2;3598:3;3594:12;3586:38;3667:6;3664:1;3659:15;3654:2;3649:3;3645:12;3637:38;3718:6;3715:1;3710:15;3705:2;3700:3;3696:12;3688:38;3769:6;3766:1;3761:15;3756:2;3751:3;3747:12;3739:38;3820:6;3817:1;3812:15;3807:2;3802:3;3798:12;3790:38;3871:6;3868:1;3863:15;3858:2;3853:3;3849:12;3841:38;3922:6;3919:1;3914:15;3909:2;3904:3;3900:12;3892:38;3973:6;3970:1;3965:15;3960:2;3955:3;3951:12;3943:38;4004:10;;2301:1723;-1:-1:-1;;2301:1723:5:o;5131:1623:6:-;5208:4;5224:13;5247:15;5272:17;5299:14;5342:25;5354:7;5363:3;5342:11;:25::i;:::-;5324:43;-1:-1:-1;5324:43:6;-1:-1:-1;5446:16:6;5443:320;;5495:25;5507:7;5516:3;5495:11;:25::i;:::-;5477:43;-1:-1:-1;5477:43:6;-1:-1:-1;5550:16:6;5542:88;;;;-1:-1:-1;;;5542:88:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5727:25;5739:7;5748:3;5727:11;:25::i;:::-;5709:43;-1:-1:-1;5709:43:6;-1:-1:-1;5443:320:6;5791:3;5780:8;:14;5772:91;;;;-1:-1:-1;;;5772:91:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5879:6;5874:207;5895:8;5891:1;:12;5874:207;;;5931:2;5924:9;;;;5985:25;5997:7;6006:3;5985:11;:25::i;:::-;6024:21;;6044:1;6024:21;;-1:-1:-1;5965:45:6;-1:-1:-1;5905:3:6;;5874:207;;;;6118:25;6130:7;6139:3;6118:11;:25::i;:::-;6099:44;-1:-1:-1;6099:44:6;-1:-1:-1;6173:2:6;6161:14;;6153:92;;;;-1:-1:-1;;;6153:92:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6260:6;6255:418;6276:9;6272:1;:13;6255:418;;;6313:1;6306:8;;;;6370:25;6382:7;6391:3;6370:11;:25::i;:::-;6350:45;-1:-1:-1;6350:45:6;-1:-1:-1;6413:24:6;6424:7;6350:45;6413:10;:24::i;:::-;6409:172;;6489:17;;;;6539:1;;-1:-1:-1;6558:8:6;;6409:172;6637:1;6630:8;;;;6659:3;6652:10;;;;;;;;;6255:418;6287:3;;6255:418;;;;6682:65;;-1:-1:-1;;;6682:65:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8191:1458;8347:12;;;8357:1;8347:12;;;;;;;;;8291;;8443:25;8455:7;8464:3;8443:11;:25::i;:::-;8478:18;;;-1:-1:-1;8422:46:6;-1:-1:-1;8560:25:6;8572:7;8478:18;8560:11;:25::i;:::-;8595:18;;;-1:-1:-1;8539:46:6;-1:-1:-1;8670:25:6;8682:7;8595:18;8670:11;:25::i;:::-;8705:18;;;-1:-1:-1;8649:46:6;-1:-1:-1;8780:25:6;8792:7;8705:18;8780:11;:25::i;:::-;8815:18;;;-1:-1:-1;8759:46:6;-1:-1:-1;8895:25:6;8907:7;8815:18;8895:11;:25::i;:::-;8874:46;-1:-1:-1;8874:46:6;-1:-1:-1;9066:1:6;9051:16;;9048:566;;;9082:22;9107:27;9121:7;9130:3;9107:13;:27::i;:::-;9148:18;;;;9082:52;-1:-1:-1;9242:25:6;9254:7;9148:18;9242:11;:25::i;:::-;9281:22;;;;;;;-1:-1:-1;9221:46:6;;-1:-1:-1;9332:59:6;;9343:7;;9281:22;;9362:27;;9357:33;;9332:10;:59::i;:::-;9317:74;;9048:566;;;;9556:41;9567:7;9576:3;9585:11;9581:3;:15;9556:10;:41::i;:::-;9541:56;;9048:566;-1:-1:-1;9630:12:6;8191:1458;-1:-1:-1;;;8191:1458:6:o;35636:301::-;35742:14;;35698:7;;35767:132;35812:7;35774:35;35794:14;35774:19;:35::i;:::-;:45;;;35767:132;;;35852:27;;;;:11;:27;;;;;:36;;;35767:132;;17838:918;17955:19;;17921:4;;-1:-1:-1;;;;;17955:19:6;17941:10;:33;17937:186;;17995:65;;;;;;2583:5:4;17995:65:6;;;;;;-1:-1:-1;;;;;;;;;;;17995:65:6;;;;;;;;;;-1:-1:-1;2583:5:4;18074:38:6;;17937:186;18132:33;18168:28;;;:11;:28;;;;;18231:10;18210:17;;;;;-1:-1:-1;;;18210:17:6;;;;;:31;;;;;;;;;:71;;;;-1:-1:-1;18266:15:6;18245:17;;;;;-1:-1:-1;;;18245:17:6;;;;;:36;;;;;;;;;18210:71;18206:212;;;18302:59;;;;;;939:5:4;18302:59:6;;;;;;-1:-1:-1;;;;;;;;;;;18302:59:6;;;;;;;;;;939:5:4;18375:32:6;;;;;18206:212;18430:20;;;;-1:-1:-1;;;;;18430:35:6;;;:20;;:35;18427:180;;;18485:62;;;;;;1748:5:4;18485:62:6;;;;;;-1:-1:-1;;;;;;;;;;;18485:62:6;;;;;;;;;;1748:5:4;18561:35:6;;;;;18427:180;18616:17;;;:35;;-1:-1:-1;;;;18616:35:6;-1:-1:-1;;;18616:35:6;;;18666:49;;;;;;-1:-1:-1;;;;;18666:49:6;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;17838:918:6;-1:-1:-1;;;17838:918:6:o;6936:850::-;7024:14;;;;7135:34;7156:7;7024:14;7135:20;:34::i;:::-;7125:44;-1:-1:-1;7182:45:6;;;640:6;7182:45;7179:117;;-1:-1:-1;498:5:6;;-1:-1:-1;7242:43:6;;-1:-1:-1;7242:43:6;7179:117;7311:26;7326:7;7335:1;7311:14;:26::i;:::-;7354:1;7347:8;;-1:-1:-1;7495:66:6;7610:159;7650:105;7692:27;7706:7;7347:8;7692:13;:27::i;:::-;7721:16;7650:20;:105::i;:::-;7610:22;:159::i;:::-;7571:208;;6936:850;;;;;;;:::o;25214:1147::-;25511:4;25527:11;25541:129;25557:19;25578:18;25598:21;25621:15;25638:8;25648;25658:11;25541:15;:129::i;:::-;25527:143;-1:-1:-1;25684:11:6;;25680:558;;25711:23;25748:8;25796:21;25808:8;25796:11;:21::i;:::-;25770:47;-1:-1:-1;25770:47:6;-1:-1:-1;25834:8:6;;25831:116;;25866:38;;;;;;;;;;;;;;;;;;;;;;;;;25929:3;-1:-1:-1;25922:10:6;;-1:-1:-1;;25922:10:6;25831:116;26130:19;;:75;;;-1:-1:-1;;;26130:75:6;;;;;;;;;26194:10;26130:75;;;;;;-1:-1:-1;;;;;26130:19:6;;;;:45;;:75;;;;;:19;;:75;;;;;;;;:19;;:75;;;5:2:-1;;;;30:1;27;20:12;5:2;26130:75:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;26130:75:6;;;;26226:1;26219:8;;;;;;;25680:558;26252:58;;;4131:5:4;26252:58:6;;;;;;;;;;;;;-1:-1:-1;4131:5:4;;25214:1147:6;-1:-1:-1;;;;;;;;25214:1147:6:o;35020:142::-;35095:6;35120:28;;;:11;:28;;;;;:35;;;-1:-1:-1;;;35120:35:6;;;;;35020:142::o;4426:946:5:-;4582:16;;4548:4;;;4624:94;4640:6;4636:1;:10;4624:94;;;4682:25;4694:9;4704:1;4694:12;;;;;;;;;;;;;;4682:11;:25::i;:::-;4667:9;4677:1;4667:12;;;;;;;;;;;;;;;;;:40;4648:3;;4624:94;;;-1:-1:-1;4732:1:5;;4761:20;4773:7;4761:11;:20::i;:::-;4743:38;;4800:525;4811:6;4807:1;:10;4800:525;;;4833:13;4849:9;4859:1;4849:12;;;;;;;;;;;;;;4833:28;;4876:9;4899:10;4938:1;4927:8;:12;;;;;;4943:1;4927:17;4923:248;;;-1:-1:-1;5022:8:5;;-1:-1:-1;5056:10:5;4923:248;;;-1:-1:-1;5112:10:5;;-1:-1:-1;5148:8:5;4923:248;5202:63;5226:37;5250:4;5256:5;5233:29;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5233:29:5;;;5226:37;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5226:37:5;;;;;;;-1:-1:-1;263:2;;-1:-1;;5226:37:5;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5226:37:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5226:37:5;5209:55;;;5226:37;5209:55;;;;;;;;;26:21:-1;;;22:32;;6:49;;5209:55:5;;;;;;;5202:63;;5209:55;;;;5202:63;;;;;5209:55;5202:63;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5202:63:5;;;;;;;-1:-1:-1;263:2;;-1:-1;;5202:63:5;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5202:63:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5202:63:5;;-1:-1:-1;5293:1:5;5281:13;;;;5313:1;5308:6;;;;4800:525;;;;;;5342:23;5354:10;5342:11;:23::i;1135:259::-;1240:14;;1270:118;1301:1;1294:4;:8;1290:1;:12;1270:118;;;1371:1;1375;1371:5;1365:1;:12;1347:4;1358:1;1352:3;:7;1347:13;;;;;;;;;;;;;;1333:44;1323:54;;;;;1304:3;;1270:118;;26600:823:6;26688:4;;;;;;;;;;;;;26947:34;26968:7;26688:4;26947:20;:34::i;:::-;26937:44;-1:-1:-1;26994:57:6;;;575:6;26994:57;26991:181;;-1:-1:-1;498:5:6;;-1:-1:-1;27092:12:6;;-1:-1:-1;27106:18:6;;-1:-1:-1;27126:9:6;;-1:-1:-1;27137:9:6;;-1:-1:-1;27148:12:6;;-1:-1:-1;27066:95:6;;-1:-1:-1;27066:95:6;26991:181;27187:26;27202:7;27211:1;27187:14;:26::i;:::-;27181:32;;27296:30;27313:7;27322:3;27296:16;:30::i;:::-;27223:103;;;;;;;;;;;;;;;;;;;;27344:1;27347:12;27361:18;27381:9;27392;27403:12;27336:80;;;;;;;;;;;;;;;;;;;;;;26600:823;;;;;;;;:::o;12252:1177::-;12497:14;;12464:4;;;;12497:19;12489:28;;;;;;12535:14;;12527:23;;;;;;12561:22;12586:97;12605:17;12624:10;12636:13;12651:9;12662;12673;12586:18;:97::i;:::-;12693:33;12729:27;;;:11;:27;;;;;12561:122;;-1:-1:-1;12775:17:6;;;;;-1:-1:-1;;;12775:17:6;;;;;:41;;;;;;;;12767:50;;;;;;12828:47;;;12885:20;;;:33;;;12928:23;;;:39;;;12977:19;;;:31;;;13018:19;;;:31;;;13059:20;;;:33;;-1:-1:-1;;;13082:10:6;-1:-1:-1;;;;;;13059:33:6;;;;;-1:-1:-1;;;;13102:21:6;;-1:-1:-1;;;;13133:31:6;-1:-1:-1;;;13102:21:6;13133:31;;;;-1:-1:-1;;;;13174:35:6;-1:-1:-1;;;13174:35:6;;;;13225:41;;;;;;;;;;;;;;;;;;;;;;;;;13277:14;:31;;;13323:46;;;;;;13358:10;13323:46;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;13407:14:6;;-1:-1:-1;12252:1177:6;-1:-1:-1;;;;;;;12252:1177:6:o;33265:99::-;33343:14;;33265:99;:::o;1808:411::-;1024:12:15;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:15;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;1016:106:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:15;;;;;1225:18;1213:4;1225:18;;;1170:80;1920:19:6;;-1:-1:-1;;;;;1920:19:6;1912:42;:80;;;;-1:-1:-1;;;;;;1958:34:6;;;;1912:80;1904:89;;;;;;2003:19;:71;;-1:-1:-1;;;;;;2003:71:6;-1:-1:-1;;;;;2003:71:6;;;;;;;;;;2101:19;;;2093:42;:73;;;;-1:-1:-1;;;;;;2139:27:6;;;;2093:73;2085:82;;;;;;2177:19;:35;;-1:-1:-1;;;;;;2177:35:6;-1:-1:-1;;;;;2177:35:6;;;;;1264:55:15;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:15;;;1264:55;1808:411:6;;;:::o;10423:763::-;10548:12;10576:43;10622:33;:24;:12;:22;:24::i;:::-;:31;:33::i;:::-;10576:79;;10665:35;10703:28;:16;10720:1;10703:19;;;;;;;;;;;;;;:26;:28::i;:::-;10665:66;-1:-1:-1;10746:9:6;10741:404;10765:8;:15;10761:1;:19;10741:404;;;10801:30;10834:20;:8;10843:1;10834:11;;;;;;;:20;10801:53;;10868:21;10892:16;:3;10896:1;10892:6;;;;;;;;;;;;;;:14;:16::i;:::-;10868:40;;10922:13;10938:27;10953:8;10963:1;10938:14;:27::i;:::-;10922:43;;11026:13;11017:5;:22;11013:122;;;11104:16;:3;11108:1;11104:6;;;;;;;:16;11097:23;;;;;;;;;;11013:122;-1:-1:-1;;;10782:3:6;;10741:404;;;-1:-1:-1;11154:25:6;;;-1:-1:-1;;;11154:25:6;;;;;;;;;;;;-1:-1:-1;;;11154:25:6;;;;;;;;;;;;;;2902:257;2976:13;3132:5;3138:3;3132:10;;;;;;;;;;;;;;;;3126:17;;3119:25;;3146:5;3119:33;3092:5;3098:3;3104:1;3098:7;3092:14;;;;;;;;;;;;;;;;3086:21;;3079:29;;3110:5;3079:37;3053:5;3059:3;3065:1;3059:7;3053:14;;;;;;;;;;;;;;;;3047:21;;3040:29;;3071:4;3040:36;3023:5;3029:3;3033:1;3029:5;3023:12;;;;;;;;;;;;;;3010:66;:106;:142;;2902:257;-1:-1:-1;;;2902:257:6:o;21622:794::-;21912:4;22108:28;;;:11;:28;;;;;:45;22002:89;22016:31;22027:19;22016:10;:31::i;:::-;22049:18;22069:21;22002:13;:89::i;:::-;21994:159;21990:324;;22224:57;;;22250:1;22224:57;;4002:5:4;22224:57:6;;;;;;-1:-1:-1;;;;;;;;;;;22224:57:6;;;;;;;;;;-1:-1:-1;22302:1:6;22295:8;;21990:324;22330:79;22339:8;22349;22359:11;22372:19;22393:15;22330:8;:79::i;:::-;22323:86;21622:794;-1:-1:-1;;;;;;;;21622:794:6:o;2285:188::-;2440:12;;2360:4;;-1:-1:-1;;;2456:10:6;2440:7;;2448:3;;2440:12;;;;;;;;;;-1:-1:-1;;;;;;2440:12:6;:26;;-1:-1:-1;2285:188:6;;;;:::o;3265:1330::-;3370:4;3376:7;3385:6;3393:5;3400:7;3423:16;3449:26;3485:20;3515:17;3542:15;3567:8;3617:23;3627:7;3636:3;3617:9;:23::i;:::-;3605:35;-1:-1:-1;3605:35:6;-1:-1:-1;3705:4:6;3699:10;;;;3691:19;;;;;;3732:27;3746:7;3755:3;3732:13;:27::i;:::-;3720:39;;3776:2;3769:9;;;;;;3818:23;3828:7;3837:3;3818:9;:23::i;:::-;3806:35;-1:-1:-1;3806:35:6;-1:-1:-1;3865:4:6;3859:10;;;;3851:19;;;;;;3895:27;3909:7;3918:3;3895:13;:27::i;:::-;3880:42;;;;3939:2;3932:9;;;;;;3995:23;4005:7;4014:3;3995:9;:23::i;:::-;3983:35;-1:-1:-1;3983:35:6;-1:-1:-1;4102:4:6;4096:10;;;;4088:19;;;;;;4138:33;4158:7;4167:3;4138:19;:33::i;:::-;4117:54;;4188:2;4181:9;;;;;;4233:23;4243:7;4252:3;4233:9;:23::i;:::-;4221:35;-1:-1:-1;4221:35:6;-1:-1:-1;4280:4:6;4274:10;;;;4266:19;;;;;;4313:7;4321:3;4313:12;;;;;;;;;;;;4307:19;4336:9;;;;;;;4313:12;;;-1:-1:-1;4391:23:6;4401:7;4336:9;4391;:23::i;:::-;4379:35;-1:-1:-1;4379:35:6;-1:-1:-1;4438:4:6;4432:10;;;;4424:19;;;;;;4468:33;4488:7;4497:3;4468:19;:33::i;:::-;4519:12;;4533:18;;-1:-1:-1;4553:9:6;;-1:-1:-1;4553:9:6;-1:-1:-1;4519:12:6;-1:-1:-1;3265:1330:6;;-1:-1:-1;;;;;3265:1330:6:o;1409:467:15:-;1842:7;1830:20;1864:7;1409:467;:::o;1446:218:21:-;1507:14;;:::i;:::-;-1:-1:-1;1629:28:21;;;;;;;;;1637:11;;1629:28;;1597:4;1587:15;;;1629:28;;;;1446:218;;;:::o;2443:508::-;2503:16;2539:12;2546:4;2539:6;:12::i;:::-;2531:21;;;;;;2563:10;2576:14;2585:4;2576:8;:14::i;:::-;2563:27;;2600:23;2640:5;2626:20;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2600:46;;2657:11;2685:27;2700:4;:11;;;2685:14;:27::i;:::-;2671:11;;;;:41;;-1:-1:-1;2722:12:21;;2744:177;2765:5;2761:1;:9;2744:177;;;2801:19;2813:6;2801:11;:19::i;:::-;2791:29;;2846:24;;;;;;;;2854:7;2846:24;;;;2863:6;2846:24;;;2834:6;2841:1;2834:9;;;;;;;;;;;;;;;;;:36;2894:16;;;;2772:3;;2744:177;;;-1:-1:-1;2938:6:21;;2443:508;-1:-1:-1;;;;;2443:508:21:o;5222:431::-;5315:8;;5283:12;;5307:21;;;;;;5339:11;5353:27;5368:4;:11;;;5353:14;:27::i;:::-;5401:8;;5465:14;;;5401:17;;;;5465:14;;;-1:-1:-1;;5465:14:21;;;;;;;;;;;5339:41;;-1:-1:-1;5443:19:21;;5401:17;5465:14;;;;;;;21:6:-1;;104:10;5465:14:21;87:34:-1;135:17;;-1:-1;5465:14:21;;5443:36;;5490:12;5556:6;5550:4;5546:17;5535:28;;5583:40;5602:6;5588:4;:11;;;:20;5610:7;5619:3;5583:4;:40::i;:::-;-1:-1:-1;5640:6:21;5222:431;-1:-1:-1;;;;5222:431:21:o;28960:666:6:-;29165:4;29181:11;29195:20;29206:8;29195:10;:20::i;:::-;29181:34;;29230:8;:15;29249:2;29230:21;29226:163;;;29307:49;;;;;;3948:5:4;29307:49:6;;;;;;-1:-1:-1;;;;;;;;;;;29307:49:6;;;;;;;;;;29377:1;29370:8;;;;;29226:163;29403:85;29420:6;29428:8;29438:9;29449:19;29470:17;29403:16;:85::i;:::-;29492:1;29403:90;29399:221;;;29516:6;-1:-1:-1;29509:13:6;;29399:221;-1:-1:-1;29608:1:6;;28960:666;-1:-1:-1;;;;;;28960:666:6:o;4946:179::-;5019:5;5026:4;5056:7;:14;5050:3;:20;5042:29;;;;;;5095:7;5103:3;5095:12;;;;;;;;;;;;;;;-1:-1:-1;;5116:1:6;5110:7;;4946:179;;;;;:::o;4660:244::-;4822:26;4839:2;4822:26;4816:33;;4660:244::o;3055:330:21:-;3135:8;;3115:4;;3131:31;;-1:-1:-1;3157:5:21;3150:12;;3131:31;3208:11;;;;3269:13;;3173:11;3261:22;;279:4;3307:24;;3303:54;;;3352:5;3345:12;;;;;;3303:54;-1:-1:-1;3374:4:21;;3055:330;-1:-1:-1;;;3055:330:21:o;5759:410::-;5840:8;;5820:4;;5836:27;;-1:-1:-1;5862:1:21;5855:8;;5836:27;5874:10;5887:1;5874:14;;5898:12;5927:27;5942:4;:11;;;5927:14;:27::i;:::-;5913:11;;;;5992:8;;5913:41;;;;-1:-1:-1;5978:22:21;6010:130;6027:6;6017:7;:16;6010:130;;;6068:20;6080:7;6068:11;:20::i;:::-;6122:7;;;;;6058:30;;;;6010:130;;;-1:-1:-1;6157:5:21;;5759:410;-1:-1:-1;;;5759:410:21:o;7558:538::-;7693:13;;7617:4;;7685:22;;187:4;7731:26;;7727:362;;;7779:1;7772:8;;;;;7727:362;233:4;7799:25;;;:83;;-1:-1:-1;279:4:21;7829:25;;;;;:52;;-1:-1:-1;325:4:21;7858:23;;7829:52;7795:294;;;7903:1;7896:8;;;;;7795:294;279:4;7923:24;;7919:170;;;-1:-1:-1;;7987:35:21;;-1:-1:-1;7980:42:21;;7919:170;-1:-1:-1;;8056:33:21;;-1:-1:-1;8049:40:21;;6218:1288;6372:13;;6274:4;;;;6364:22;;187:4;6410:26;;6406:1069;;;6460:1;6450:11;;6406:1069;;;233:4;6489:25;;6485:990;;;-1:-1:-1;;6538:30:21;;;-1:-1:-1;6485:990:21;;;279:4;6588:24;;6584:891;;;6681:4;6674:5;6670:16;6760:1;6752:6;6748:14;6738:24;;6915:7;6911:2;6907:16;6902:3;6898:26;6889:6;6883:13;6879:46;7012:1;7003:7;6999:15;6990:7;6986:29;6975:40;;6637:392;;;;;325:4;7058:23;;7054:421;;;-1:-1:-1;;7107:28:21;;;-1:-1:-1;7054:421:21;;;7229:4;7222:5;7218:16;7273:1;7265:6;7261:14;7251:24;;7344:7;7340:2;7336:16;7331:3;7327:26;7318:6;7312:13;7308:46;7448:1;7439:7;7435:15;7426:7;7422:29;7411:40;;7185:280;;;-1:-1:-1;7492:7:21;6218:1288;-1:-1:-1;;6218:1288:21:o;8250:697::-;8322:8;8318:21;;8332:7;;8318:21;8396:194;362:2;8403:16;;8396:194;;8493:10;;8480:24;;362:2;8532:16;;;;8562:17;;;;-1:-1:-1;;8421:16:21;8396:194;;;8772:10;;8843:11;;362:2;8700:15;;;;8692:3;:24;-1:-1:-1;;8692:28:21;8784:9;;8768:26;;;8839:22;;8909:21;;;;8896:35;;8739:202::o;31473:676:6:-;31678:4;31700:29;31711:17;31700:10;:29::i;:::-;31695:144;;31750:46;;;;;;3822:5:4;31750:46:6;;;;;;-1:-1:-1;;;;;;;;;;;31750:46:6;;;;;;;;;;-1:-1:-1;3822:5:4;31810:18:6;;31695:144;31882:11;31896:38;31916:17;31896:19;:38::i;:::-;31882:52;;31995:6;31948:43;31962:7;31971:8;31981:9;31948:13;:43::i;:::-;:53;31944:179;;32022:52;;;;;;3907:5:4;32022:52:6;;;;;;-1:-1:-1;;;;;;;;;;;32022:52:6;;;;;;;;;;3907:5:4;32088:24:6;;;;;31944:179;-1:-1:-1;32140:1:6;;31473:676;-1:-1:-1;;;;;;31473:676:6:o;35168:154::-;35235:4;35299:15;35259:36;35279:15;35259:19;:36::i;:::-;:55;;;;;;;;;;35168:154;-1:-1:-1;;35168:154:6:o;350:35589::-;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity ^0.5.13;\n\nimport './interfaces/SyscoinSuperblocksI.sol';\nimport \"./SyscoinErrorCodes.sol\";\nimport \"./SyscoinTransactionProcessor.sol\";\nimport \"@openzeppelin/upgrades/contracts/Initializable.sol\";\nimport \"./SyscoinParser/SyscoinMessageLibrary.sol\";\n\n// @dev - Manages superblocks\n//\n// Management of superblocks and status transitions\ncontract SyscoinSuperblocks is Initializable, SyscoinSuperblocksI, SyscoinErrorCodes, SyscoinMessageLibrary {\n\n uint constant ERR_PARSE_TX_SYS = 10170;\n\n uint32 constant SYSCOIN_TX_VERSION_ALLOCATION_BURN_TO_ETHEREUM = 0x7407;\n uint32 constant SYSCOIN_TX_VERSION_ALLOCATION_MINT = 0x7406;\n \n // Mapping superblock id => superblock data\n mapping (bytes32 => SuperblockInfo) private superblocks;\n\n bytes32 private bestSuperblock;\n\n SyscoinTransactionProcessor public syscoinERC20Manager;\n\n event NewSuperblock(bytes32 superblockHash, address who);\n event ApprovedSuperblock(bytes32 superblockHash, address who);\n event ChallengeSuperblock(bytes32 superblockHash, address who);\n event SemiApprovedSuperblock(bytes32 superblockHash, address who);\n event InvalidSuperblock(bytes32 superblockHash, address who);\n\n event ErrorSuperblock(bytes32 superblockHash, uint err);\n\n event VerifyTransaction(bytes32 txHash, uint returnCode);\n event RelayTransaction(bytes32 txHash, uint returnCode);\n event ChallengeCancelTransferRequest(uint returnCode);\n // SyscoinClaimManager\n address public trustedClaimManager;\n\n modifier onlyClaimManager() {\n require(msg.sender == trustedClaimManager);\n _;\n }\n\n // @param _syscoinERC20Manager - address of the SyscoinERC20Manager contract to be associated with\n // @param _claimManager - address of the ClaimManager contract to be associated with\n function init(address _syscoinERC20Manager, address _claimManager) public initializer {\n require(address(syscoinERC20Manager) == address(0) && _syscoinERC20Manager != address(0));\n syscoinERC20Manager = SyscoinTransactionProcessor(_syscoinERC20Manager);\n\n require(address(trustedClaimManager) == address(0) && _claimManager != address(0));\n trustedClaimManager = _claimManager;\n }\n\n // Returns true if the tx output is an OP_RETURN output\n function isOpReturn(bytes memory txBytes, uint pos) internal pure returns (bool) {\n // scriptPub format is\n // 0x6a OP_RETURN\n return txBytes[pos] == byte(0x6a);\n }\n\n function bytesToUint64(bytes memory input, uint pos) public pure returns (uint64 result) {\n result = uint64(uint8(input[pos+7])) + uint64(uint8(input[pos + 6]))*(2**8) + uint64(uint8(input[pos + 5]))*(2**16) + uint64(uint8(input[pos + 4]))*(2**24) + uint64(uint8(input[pos + 3]))*(2**32) + uint64(uint8(input[pos + 2]))*(2**40) + uint64(uint8(input[pos + 1]))*(2**48) + uint64(uint8(input[pos]))*(2**56);\n }\n\n function bytesToUint32(bytes memory input, uint pos) public pure returns (uint32 result) {\n result = uint32(uint8(input[pos+3])) + uint32(uint8(input[pos + 2]))*(2**8) + uint32(uint8(input[pos + 1]))*(2**16) + uint32(uint8(input[pos]))*(2**24);\n }\n\n // Returns asset data parsed from the op_return data output from syscoin asset burn transaction\n function scanAssetDetails(bytes memory txBytes, uint pos)\n internal\n pure\n returns (uint, address, uint32, uint8, address)\n {\n uint32 assetGUID;\n address destinationAddress;\n address erc20Address;\n uint output_value;\n uint8 precision;\n uint8 op;\n // vchAsset\n (op, pos) = getOpcode(txBytes, pos);\n // guid length should be 4 bytes\n require(op == 0x04);\n assetGUID = bytesToUint32(txBytes, pos);\n pos += op;\n // amount\n (op, pos) = getOpcode(txBytes, pos);\n require(op == 0x08);\n output_value = bytesToUint64(txBytes, pos);\n pos += op;\n // destination address\n (op, pos) = getOpcode(txBytes, pos);\n // ethereum contracts are 20 bytes (without the 0x)\n require(op == 0x14);\n destinationAddress = readEthereumAddress(txBytes, pos);\n pos += op;\n // precision\n (op, pos) = getOpcode(txBytes, pos);\n require(op == 0x01);\n precision = uint8(txBytes[pos]);\n pos += op;\n // erc20Address\n (op, pos) = getOpcode(txBytes, pos);\n require(op == 0x14);\n erc20Address = readEthereumAddress(txBytes, pos);\n return (output_value, destinationAddress, assetGUID, precision, erc20Address);\n }\n\n // Read the ethereum address embedded in the tx output\n function readEthereumAddress(bytes memory txBytes, uint pos) internal pure returns (address) {\n uint256 data;\n assembly {\n data := mload(add(add(txBytes, 20), pos))\n }\n return address(uint160(data));\n }\n\n // Read next opcode from script\n function getOpcode(bytes memory txBytes, uint pos) private pure returns (uint8, uint) {\n require(pos < txBytes.length);\n return (uint8(txBytes[pos]), pos + 1);\n }\n\n function getOpReturnPos(bytes memory txBytes, uint pos) public pure returns (uint) {\n uint n_inputs;\n uint script_len;\n uint output_value;\n uint n_outputs;\n\n (n_inputs, pos) = parseVarInt(txBytes, pos);\n // if dummy 0x00 is present this is a witness transaction\n if(n_inputs == 0x00){\n (n_inputs, pos) = parseVarInt(txBytes, pos); // flag\n require(n_inputs != 0x00, \"#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag\");\n // after dummy/flag the real var int comes for txins\n (n_inputs, pos) = parseVarInt(txBytes, pos);\n }\n require(n_inputs < 100, \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs\");\n\n for (uint i = 0; i < n_inputs; i++) {\n pos += 36; // skip outpoint\n (script_len, pos) = parseVarInt(txBytes, pos);\n pos += script_len + 4; // skip sig_script, seq\n }\n \n (n_outputs, pos) = parseVarInt(txBytes, pos);\n require(n_outputs < 10, \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_outputs\");\n for (uint i = 0; i < n_outputs; i++) {\n pos += 8;\n // varint\n (script_len, pos) = parseVarInt(txBytes, pos);\n if(!isOpReturn(txBytes, pos)){\n // output script\n pos += script_len;\n output_value = 0;\n continue;\n }\n // skip opreturn marker\n pos += 1;\n return pos;\n }\n revert(\"#SyscoinSuperblocks getOpReturnPos(): No OpReturn found\");\n }\n\n /**\n * @dev Parse syscoin mint transaction to recover bridgeTransferId\n * @param txBytes syscoin raw transaction\n * @return errorCode, bridgeTransferId\n */\n function parseMintTx(bytes memory txBytes)\n public\n view\n returns (uint errorCode, uint32 bridgeTransferId)\n {\n uint32 version;\n uint pos = 0;\n version = bytesToUint32Flipped(txBytes, pos);\n if(version != SYSCOIN_TX_VERSION_ALLOCATION_MINT){\n return (ERR_PARSE_TX_SYS, bridgeTransferId);\n }\n pos = getOpReturnPos(txBytes, 4);\n pos += 3; // skip pushdata2 + 2 bytes for opreturn varint\n\n // SHA3 of TokenFreeze(address,uint256,uin32)\n bytes32 tokenFreezeTopic = 0xaabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d;\n bridgeTransferId = uint32(\n getBridgeTransactionId(\n getLogValuesForTopic(\n getEthReceipt(txBytes, pos), tokenFreezeTopic\n )\n )\n );\n }\n\n function bytesToUint16(bytes memory input, uint pos) public pure returns (uint16 result) {\n result = uint16(uint8(input[pos+1])) + uint16(uint8(input[pos]))*(2**8);\n }\n\n /**\n * Parse txBytes and returns ethereum tx receipt\n * @param txBytes syscoin raw transaction\n * @param pos position at where to start parsing\n * @return ethTxReceipt ethereum tx receipt\n */\n function getEthReceipt(bytes memory txBytes, uint pos)\n public\n view\n returns (bytes memory)\n {\n bytes memory ethTxReceipt = new bytes(0);\n uint bytesToRead;\n // skip vchTxValue\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += bytesToRead;\n // skip vchTxParentNodes\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += bytesToRead;\n // skip vchTxRoot\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += bytesToRead;\n // skip vchTxPath\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += bytesToRead;\n // get vchReceiptValue\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n // if position is encoded in receipt value, decode position and read the value from next field (parent nodes)\n if(bytesToRead == 2){\n uint16 positionOfValue = bytesToUint16(txBytes, pos);\n pos += bytesToRead;\n // get vchReceiptParentNodes\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += positionOfValue;\n ethTxReceipt = sliceArray(txBytes, pos, pos+(bytesToRead-positionOfValue));\n }\n // size > 2 means receipt value is fully serialized in this field and no need to get parent nodes field\n else{\n ethTxReceipt = sliceArray(txBytes, pos, pos+bytesToRead); \n }\n return ethTxReceipt;\n }\n\n // @dev converts bytes of any length to bytes32.\n // If `_rawBytes` is longer than 32 bytes, it truncates to the 32 leftmost bytes.\n // If it is shorter, it pads with 0s on the left.\n // Should be private, made internal for testing\n //\n // @param _rawBytes - arbitrary length bytes\n // @return - leftmost 32 or less bytes of input value; padded if less than 32\n function bytesToBytes32(bytes memory _rawBytes, uint pos) public pure returns (bytes32) {\n bytes32 out;\n assembly {\n out := mload(add(add(_rawBytes, 0x20), pos))\n }\n return out;\n }\n\n /**\n * Return logs for given ethereum transaction receipt\n * @param ethTxReceipt ethereum transaction receipt\n * @return logs bloom\n */\n function getLogValuesForTopic(bytes memory ethTxReceipt, bytes32 expectedTopic)\n public\n pure\n returns (bytes memory)\n {\n RLPReader.RLPItem[] memory ethTxReceiptList = ethTxReceipt.toRlpItem().toList();\n RLPReader.RLPItem[] memory logsList = ethTxReceiptList[3].toList();\n for (uint256 i = 0; i < logsList.length; i++) {\n RLPReader.RLPItem[] memory log = logsList[i].toList();\n bytes memory rawTopic = log[1].toBytes();\n bytes32 topic = bytesToBytes32(rawTopic, 1); // need to remove first byte \"a0\"\n if (topic == expectedTopic) {\n // data for given log\n return log[2].toBytes();\n }\n }\n revert(\"Topic not found\");\n }\n\n /**\n * Get bridgeTransactionId from logs bloom\n * @param logValues log values\n * @return bridgeTransactionId\n */\n function getBridgeTransactionId(bytes memory logValues) public pure returns (uint256 value) {\n uint8 index = 3; // log's third value\n assembly {\n value := mload(add(logValues, mul(32, index)))\n }\n }\n\n // @dev - Initializes superblocks contract\n //\n // Initializes the superblock contract. It can only be called once.\n //\n // @param _blocksMerkleRoot Root of the merkle tree of blocks contained in a superblock\n // @param _timestamp Timestamp of the last block in the superblock\n // @param _mtpTimestamp Median Timestamp of the last block in the superblock\n // @param _lastHash Hash of the last block in the superblock\n // @param _lastBits Difficulty bits of the last block in the superblock bits\n // @param _parentId Id of the parent superblock\n // @param _blockHeight Block height of last block in superblock\n // @return Error code and superblockHash\n function initialize(\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentId\n ) external returns (uint, bytes32) {\n require(bestSuperblock == 0);\n require(_parentId == 0);\n\n bytes32 superblockHash = calcSuperblockHash(_blocksMerkleRoot, _timestamp, _mtpTimestamp, _lastHash, _lastBits, _parentId);\n SuperblockInfo storage superblock = superblocks[superblockHash];\n\n require(superblock.status == Status.Uninitialized);\n\n superblock.blocksMerkleRoot = _blocksMerkleRoot;\n superblock.timestamp = _timestamp;\n superblock.mtpTimestamp = _mtpTimestamp;\n superblock.lastHash = _lastHash;\n superblock.parentId = _parentId;\n superblock.submitter = msg.sender;\n superblock.height = 1;\n superblock.lastBits = _lastBits;\n superblock.status = Status.Approved;\n\n emit NewSuperblock(superblockHash, msg.sender);\n\n bestSuperblock = superblockHash;\n emit ApprovedSuperblock(superblockHash, msg.sender);\n\n return (ERR_SUPERBLOCK_OK, superblockHash);\n }\n\n // @dev - Proposes a new superblock\n //\n // To be accepted, a new superblock needs to have its parent\n // either approved or semi-approved.\n //\n // @param _blocksMerkleRoot Root of the merkle tree of blocks contained in a superblock\n // @param _timestamp Timestamp of the last block in the superblock\n // @param _mtpTimestamp Median Timestamp of the last block in the superblock\n // @param _lastHash Hash of the last block in the superblock\n // @param _lastBits Difficulty bits of the last block in the superblock bits\n // @param _parentId Id of the parent superblock\n // @return Error code and superblockHash\n function propose(\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentId,\n address submitter\n ) external returns (uint, bytes32) {\n if (msg.sender != trustedClaimManager) {\n emit ErrorSuperblock(0, ERR_SUPERBLOCK_NOT_CLAIMMANAGER);\n return (ERR_SUPERBLOCK_NOT_CLAIMMANAGER, 0);\n }\n\n SuperblockInfo storage parent = superblocks[_parentId];\n if (parent.status != Status.SemiApproved && parent.status != Status.Approved) {\n emit ErrorSuperblock(_parentId, ERR_SUPERBLOCK_BAD_PARENT + uint(parent.status));\n return (ERR_SUPERBLOCK_BAD_PARENT + uint(parent.status), 0);\n }\n\n if (parent.height < getChainHeight()) {\n emit ErrorSuperblock(_parentId, ERR_SUPERBLOCK_BAD_BLOCKHEIGHT);\n return (ERR_SUPERBLOCK_BAD_BLOCKHEIGHT, 0);\n }\n\n bytes32 superblockHash = calcSuperblockHash(_blocksMerkleRoot, _timestamp, _mtpTimestamp, _lastHash, _lastBits, _parentId);\n SuperblockInfo storage superblock = superblocks[superblockHash];\n if (superblock.status == Status.Uninitialized) {\n superblock.blocksMerkleRoot = _blocksMerkleRoot;\n superblock.timestamp = _timestamp;\n superblock.mtpTimestamp = _mtpTimestamp;\n superblock.lastHash = _lastHash;\n superblock.parentId = _parentId;\n superblock.height = parent.height + 1;\n superblock.lastBits = _lastBits;\n }\n superblock.status = Status.New;\n superblock.submitter = submitter;\n emit NewSuperblock(superblockHash, submitter);\n return (ERR_SUPERBLOCK_OK, superblockHash);\n }\n\n // @dev - Confirm a proposed superblock\n //\n // An unchallenged superblock can be confirmed after a timeout.\n // A challenged superblock is confirmed if it has enough descendants\n // in the main chain.\n //\n // @param _superblockHash Id of the superblock to confirm\n // @param _validator Address requesting superblock confirmation\n // @return Error code and superblockHash\n function confirm(bytes32 _superblockHash, address _validator) external returns (uint) {\n if (msg.sender != trustedClaimManager) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_NOT_CLAIMMANAGER);\n return ERR_SUPERBLOCK_NOT_CLAIMMANAGER;\n }\n SuperblockInfo storage superblock = superblocks[_superblockHash];\n if (superblock.status != Status.New && superblock.status != Status.SemiApproved) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return ERR_SUPERBLOCK_BAD_STATUS;\n }\n\n if (superblock.height <= getChainHeight()) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_BAD_BLOCKHEIGHT);\n return ERR_SUPERBLOCK_BAD_BLOCKHEIGHT;\n }\n\n SuperblockInfo storage parent = superblocks[superblock.parentId];\n if (parent.status != Status.Approved) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_BAD_PARENT);\n return ERR_SUPERBLOCK_BAD_PARENT;\n }\n\n superblock.status = Status.Approved;\n bestSuperblock = _superblockHash;\n\n emit ApprovedSuperblock(_superblockHash, _validator);\n return ERR_SUPERBLOCK_OK;\n }\n\n // @dev - Challenge a proposed superblock\n //\n // A new superblock can be challenged to start a battle\n // to verify the correctness of the data submitted.\n //\n // @param _superblockHash Id of the superblock to challenge\n // @param _challenger Address requesting a challenge\n // @return Error code and superblockHash\n function challenge(bytes32 _superblockHash, address _challenger) external returns (uint) {\n if (msg.sender != trustedClaimManager) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_NOT_CLAIMMANAGER);\n return ERR_SUPERBLOCK_NOT_CLAIMMANAGER;\n }\n SuperblockInfo storage superblock = superblocks[_superblockHash];\n if (superblock.status != Status.New && superblock.status != Status.InBattle) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return ERR_SUPERBLOCK_BAD_STATUS;\n }\n if(superblock.submitter == _challenger){\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_OWN_CHALLENGE);\n return ERR_SUPERBLOCK_OWN_CHALLENGE;\n }\n superblock.status = Status.InBattle;\n emit ChallengeSuperblock(_superblockHash, _challenger);\n return ERR_SUPERBLOCK_OK;\n }\n\n // @dev - Semi-approve a challenged superblock\n //\n // A challenged superblock can be marked as semi-approved\n // if it satisfies all the queries or when all challengers have\n // stopped participating.\n //\n // @param _superblockHash Id of the superblock to semi-approve\n // @param _validator Address requesting semi approval\n // @return Error code and superblockHash\n function semiApprove(bytes32 _superblockHash, address _validator) external returns (uint) {\n if (msg.sender != trustedClaimManager) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_NOT_CLAIMMANAGER);\n return ERR_SUPERBLOCK_NOT_CLAIMMANAGER;\n }\n SuperblockInfo storage superblock = superblocks[_superblockHash];\n\n if (superblock.status != Status.InBattle && superblock.status != Status.New) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return ERR_SUPERBLOCK_BAD_STATUS;\n }\n superblock.status = Status.SemiApproved;\n\n emit SemiApprovedSuperblock(_superblockHash, _validator);\n return ERR_SUPERBLOCK_OK;\n }\n\n // @dev - Invalidates a superblock\n //\n // A superblock with incorrect data can be invalidated immediately.\n // Superblocks that are not in the main chain can be invalidated\n // if not enough superblocks follow them, i.e. they don't have\n // enough descendants.\n //\n // @param _superblockHash Id of the superblock to invalidate\n // @param _validator Address requesting superblock invalidation\n // @return Error code and superblockHash\n function invalidate(bytes32 _superblockHash, address _validator) external returns (uint) {\n if (msg.sender != trustedClaimManager) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_NOT_CLAIMMANAGER);\n return ERR_SUPERBLOCK_NOT_CLAIMMANAGER;\n }\n SuperblockInfo storage superblock = superblocks[_superblockHash];\n if (superblock.status != Status.InBattle && superblock.status != Status.SemiApproved) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return ERR_SUPERBLOCK_BAD_STATUS;\n }\n superblock.status = Status.Invalid;\n emit InvalidSuperblock(_superblockHash, _validator);\n return ERR_SUPERBLOCK_OK;\n }\n\n // @dev - Verify TX SPV to Block proof as well as Block SPV proof to Superblock\n // @param _txBytes - transaction bytes\n // @param _txIndex - transaction's index within the block\n // @param _txSiblings - transaction's Merkle siblings\n // @param _syscoinBlockHeader - block header containing transaction\n // @param _syscoinBlockIndex - block's index within superblock\n // @param _syscoinBlockSiblings - block's merkle siblings\n // @param _superblockHash - superblock containing block header\n function verifySPVProofs(\n bytes memory _syscoinBlockHeader,\n uint _syscoinBlockIndex,\n uint[] memory _syscoinBlockSiblings,\n bytes32 _superblockHash,\n bytes memory _txBytes,\n uint _txIndex,\n uint[] memory _txSiblings\n ) private returns (uint) {\n // Check if Syscoin block belongs to given superblock\n if (bytes32(computeMerkle(dblShaFlip(_syscoinBlockHeader), _syscoinBlockIndex, _syscoinBlockSiblings))\n != superblocks[_superblockHash].blocksMerkleRoot) {\n // Syscoin block is not in superblock\n emit VerifyTransaction(bytes32(0), ERR_SUPERBLOCK_MERKLE_ROOT);\n return 0;\n }\n return verifyTx(_txBytes, _txIndex, _txSiblings, _syscoinBlockHeader, _superblockHash);\n }\n\n // @dev - relays transaction `_txBytes` to ERC20Manager's processTransaction() method.\n // Also logs the value of processTransaction.\n // Note: callers cannot be 100% certain when an ERR_RELAY_VERIFY occurs because\n // it may also have been returned by processTransaction(). Callers should be\n // aware of the contract that they are relaying transactions to and\n // understand what that contract's processTransaction method returns.\n //\n // @param _txBytes - transaction bytes\n // @param _txIndex - transaction's index within the block\n // @param _txSiblings - transaction's Merkle siblings\n // @param _syscoinBlockHeader - block header containing transaction\n // @param _syscoinBlockIndex - block's index within superblock\n // @param _syscoinBlockSiblings - block's merkle siblings\n // @param _superblockHash - superblock containing block header\n function relayTx(\n bytes memory _txBytes,\n uint _txIndex,\n uint[] memory _txSiblings,\n bytes memory _syscoinBlockHeader,\n uint _syscoinBlockIndex,\n uint[] memory _syscoinBlockSiblings,\n bytes32 _superblockHash\n ) public returns (uint) {\n uint txHash = verifySPVProofs(_syscoinBlockHeader, _syscoinBlockIndex, _syscoinBlockSiblings, _superblockHash, _txBytes, _txIndex, _txSiblings);\n if (txHash != 0) {\n uint value;\n address destinationAddress;\n uint ret;\n uint32 assetGUID;\n address erc20ContractAddress;\n uint8 precision;\n (ret, value, destinationAddress, assetGUID, precision, erc20ContractAddress) = parseBurnTx(_txBytes);\n if(ret != 0){\n emit RelayTransaction(bytes32(txHash), ret);\n return ret;\n }\n syscoinERC20Manager.processTransaction(txHash, value, destinationAddress, superblocks[_superblockHash].submitter, erc20ContractAddress, assetGUID, precision);\n return value;\n }\n emit RelayTransaction(bytes32(0), ERR_RELAY_VERIFY);\n return(ERR_RELAY_VERIFY);\n }\n\n // Challenges a bridge cancellation request with SPV proofs linking tx to superblock and showing that a valid\n // cancellation request exists. If challenge fails, the cancellation request continues until timeout at which point erc20 is refunded\n //\n // @param _txBytes - transaction bytes\n // @param _txIndex - transaction's index within the block\n // @param _txSiblings - transaction's Merkle siblings\n // @param _syscoinBlockHeader - block header containing transaction\n // @param _syscoinBlockIndex - block's index within superblock\n // @param _syscoinBlockSiblings - block's merkle siblings\n // @param _superblockHash - superblock containing block header\n function challengeCancelTransfer(\n bytes memory _txBytes,\n uint _txIndex,\n uint[] memory _txSiblings,\n bytes memory _syscoinBlockHeader,\n uint _syscoinBlockIndex,\n uint[] memory _syscoinBlockSiblings,\n bytes32 _superblockHash\n ) public returns (uint) {\n uint txHash = verifySPVProofs(_syscoinBlockHeader, _syscoinBlockIndex, _syscoinBlockSiblings, _superblockHash, _txBytes, _txIndex, _txSiblings);\n if (txHash != 0) {\n uint32 bridgeTransferId;\n uint ret;\n (ret, bridgeTransferId) = parseMintTx(_txBytes);\n if(ret != 0){\n emit RelayTransaction(bytes32(txHash), ret);\n return ret;\n }\n // check if cancellation request exists in valid state\n // cancel cancellation request if challenger wins, challenger gets paid cancellors deposit\n syscoinERC20Manager.processCancelTransferFail(bridgeTransferId, msg.sender);\n return 0;\n }\n emit ChallengeCancelTransferRequest(ERR_CANCEL_TRANSFER_VERIFY);\n return(ERR_CANCEL_TRANSFER_VERIFY);\n }\n\n // @dev - Parses a syscoin tx\n //\n // @param txBytes - tx byte array\n // Outputs\n // @return output_value - amount sent to the lock address in satoshis\n // @return destinationAddress - ethereum destination address\n function parseBurnTx(bytes memory txBytes)\n public\n pure\n returns (uint, uint, address, uint32, uint8, address)\n {\n uint output_value;\n uint32 assetGUID;\n address destinationAddress;\n uint32 version;\n address erc20Address;\n uint8 precision;\n uint pos = 0;\n version = bytesToUint32Flipped(txBytes, pos);\n if(version != SYSCOIN_TX_VERSION_ALLOCATION_BURN_TO_ETHEREUM){\n return (ERR_PARSE_TX_SYS, output_value, destinationAddress, assetGUID, precision, erc20Address);\n }\n pos = getOpReturnPos(txBytes, 4);\n (output_value, destinationAddress, assetGUID, precision, erc20Address) = scanAssetDetails(txBytes, pos);\n return (0, output_value, destinationAddress, assetGUID, precision, erc20Address);\n }\n\n function skipInputs(bytes memory txBytes, uint pos)\n private\n pure\n returns (uint)\n {\n uint n_inputs;\n uint script_len;\n (n_inputs, pos) = parseVarInt(txBytes, pos);\n // if dummy 0x00 is present this is a witness transaction\n if(n_inputs == 0x00){\n (n_inputs, pos) = parseVarInt(txBytes, pos); // flag\n require(n_inputs != 0x00);\n // after dummy/flag the real var int comes for txins\n (n_inputs, pos) = parseVarInt(txBytes, pos);\n }\n require(n_inputs < 100);\n\n for (uint i = 0; i < n_inputs; i++) {\n pos += 36; // skip outpoint\n (script_len, pos) = parseVarInt(txBytes, pos);\n pos += script_len + 4; // skip sig_script, seq\n }\n\n return pos;\n }\n\n // @dev - Checks whether the transaction given by `_txBytes` is in the block identified by `_txBlockHeaderBytes`.\n // First it guards against a Merkle tree collision attack by raising an error if the transaction is exactly 64 bytes long,\n // then it calls helperVerifyHash to do the actual check.\n //\n // @param _txBytes - transaction bytes\n // @param _txIndex - transaction's index within the block\n // @param _siblings - transaction's Merkle siblings\n // @param _txBlockHeaderBytes - block header containing transaction\n // @param _txsuperblockHash - superblock containing block header\n // @return - SHA-256 hash of _txBytes if the transaction is in the block, 0 otherwise\n function verifyTx(\n bytes memory _txBytes,\n uint _txIndex,\n uint[] memory _siblings,\n bytes memory _txBlockHeaderBytes,\n bytes32 _txsuperblockHash\n ) private returns (uint) {\n uint txHash = dblShaFlip(_txBytes);\n\n if (_txBytes.length == 64) { // todo: is check 32 also needed?\n emit VerifyTransaction(bytes32(txHash), ERR_TX_64BYTE);\n return 0;\n }\n\n if (helperVerifyHash(txHash, _txIndex, _siblings, _txBlockHeaderBytes, _txsuperblockHash) == 1) {\n return txHash;\n } else {\n // log is done via helperVerifyHash\n return 0;\n }\n }\n\n // @dev - Bitcoin-way of hashing\n // @param _dataBytes - raw data to be hashed\n // @return - result of applying SHA-256 twice to raw data and then flipping the bytes\n function dblShaFlip(bytes memory _dataBytes) public pure returns (uint) {\n return flip32Bytes(uint(sha256(abi.encodePacked(sha256(abi.encodePacked(_dataBytes))))));\n }\n\n // @dev - extract Merkle root field from a raw Syscoin block header\n //\n // @param _blockHeader - Syscoin block header bytes\n // @param pos - where to start reading root from\n // @return - block's Merkle root in big endian format\n function getHeaderMerkleRoot(bytes memory _blockHeader) public pure returns (uint) {\n uint merkle;\n assembly {\n merkle := mload(add(add(_blockHeader, 32), 0x24))\n }\n return flip32Bytes(merkle);\n }\n\n // @dev - Checks whether the transaction identified by `_txHash` is in the block identified by `_blockHeaderBytes`\n // and whether the block is in the Syscoin main chain. Transaction check is done via Merkle proof.\n // Note: no verification is performed to prevent txHash from just being an\n // internal hash in the Merkle tree. Thus this helper method should NOT be used\n // directly and is intended to be private.\n //\n // @param _txHash - transaction hash\n // @param _txIndex - transaction's index within the block\n // @param _siblings - transaction's Merkle siblings\n // @param _blockHeaderBytes - block header containing transaction\n // @param _txsuperblockHash - superblock containing block header\n // @return - 1 if the transaction is in the block and the block is in the main chain,\n // 20020 (ERR_CONFIRMATIONS) if the block is not in the main chain,\n // 20050 (ERR_MERKLE_ROOT) if the block is in the main chain but the Merkle proof fails.\n function helperVerifyHash(\n uint256 _txHash,\n uint _txIndex,\n uint[] memory _siblings,\n bytes memory _blockHeaderBytes,\n bytes32 _txsuperblockHash\n ) private returns (uint) {\n\n if (!isApproved(_txsuperblockHash)) {\n emit VerifyTransaction(bytes32(_txHash), ERR_CHAIN);\n return (ERR_CHAIN);\n }\n\n // Verify tx Merkle root\n uint merkle = getHeaderMerkleRoot(_blockHeaderBytes);\n if (computeMerkle(_txHash, _txIndex, _siblings) != merkle) {\n emit VerifyTransaction(bytes32(_txHash), ERR_MERKLE_ROOT);\n return (ERR_MERKLE_ROOT);\n }\n return (1);\n }\n\n // @dev - Calculate superblock hash from superblock data\n //\n // @param _blocksMerkleRoot Root of the merkle tree of blocks contained in a superblock\n // @param _timestamp Timestamp of the last block in the superblock\n // @param _mtpTimestamp Median Timestamp of the last block in the superblock\n // @param _lastHash Hash of the last block in the superblock\n // @param _lastBits Difficulty bits of the last block in the superblock bits\n // @param _parentId Id of the parent superblock\n // @return Superblock id\n function calcSuperblockHash(\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentId\n ) public pure returns (bytes32) {\n return keccak256(abi.encodePacked(\n _blocksMerkleRoot,\n _timestamp,\n _mtpTimestamp,\n _lastHash,\n _lastBits,\n _parentId\n ));\n }\n\n // @dev - Returns the confirmed superblock with the most accumulated work\n //\n // @return Best superblock hash\n function getBestSuperblock() external view returns (bytes32) {\n return bestSuperblock;\n }\n\n // @dev - Returns the superblock data for the supplied superblock hash\n //\n function getSuperblock(bytes32 superblockHash) external view returns (\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentId,\n address _submitter,\n Status _status,\n uint32 _height\n ) {\n SuperblockInfo storage superblock = superblocks[superblockHash];\n return (\n superblock.blocksMerkleRoot,\n superblock.timestamp,\n superblock.mtpTimestamp,\n superblock.lastHash,\n superblock.lastBits,\n superblock.parentId,\n superblock.submitter,\n superblock.status,\n superblock.height\n );\n }\n\n // @dev - Returns superblock height\n function getSuperblockHeight(bytes32 superblockHash) public view returns (uint32) {\n return superblocks[superblockHash].height;\n }\n\n // @dev - Return superblock timestamp\n function getSuperblockTimestamp(bytes32 _superblockHash) external view returns (uint) {\n return superblocks[_superblockHash].timestamp;\n }\n\n // @dev - Return superblock median timestamp\n function getSuperblockMedianTimestamp(bytes32 _superblockHash) external view returns (uint) {\n return superblocks[_superblockHash].mtpTimestamp;\n }\n\n // @dev - Return superblock parent\n function getSuperblockParentId(bytes32 _superblockHash) external view returns (bytes32) {\n return superblocks[_superblockHash].parentId;\n }\n\n\n // @dev - Return superblock status\n function getSuperblockStatus(bytes32 _superblockHash) public view returns (Status) {\n return superblocks[_superblockHash].status;\n }\n\n function isApproved(bytes32 _superblockHash) private view returns (bool) {\n return (getSuperblockStatus(_superblockHash) == Status.Approved);\n }\n function getChainHeight() public view returns (uint) {\n return superblocks[bestSuperblock].height;\n }\n\n // @dev - return superblock hash at a given height in superblock main chain\n //\n // @param _height - superblock height\n // @return - hash corresponding to block of height _height\n function getSuperblockAt(uint _height) external view returns (bytes32) {\n bytes32 superblockHash = bestSuperblock;\n\n while (getSuperblockHeight(superblockHash) > _height) {\n superblockHash = superblocks[superblockHash].parentId;\n }\n\n return superblockHash;\n }\n}\n", + "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"ApprovedSuperblock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"returnCode\",\"type\":\"uint256\"}],\"name\":\"ChallengeCancelTransferRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"ChallengeSuperblock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"err\",\"type\":\"uint256\"}],\"name\":\"ErrorSuperblock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"InvalidSuperblock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"NewSuperblock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"returnCode\",\"type\":\"uint256\"}],\"name\":\"RelayTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"SemiApprovedSuperblock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"returnCode\",\"type\":\"uint256\"}],\"name\":\"VerifyTransaction\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_rawBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"bytesToBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"bytesToUint16\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"result\",\"type\":\"uint16\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"bytesToUint32\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"result\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"bytesToUint32Flipped\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"result\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"bytesToUint64\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"result\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentId\",\"type\":\"bytes32\"}],\"name\":\"calcSuperblockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_challenger\",\"type\":\"address\"}],\"name\":\"challenge\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_txIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_txSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_syscoinBlockHeader\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_syscoinBlockIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_syscoinBlockSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"challengeCancelTransfer\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_txHash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_txIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_siblings\",\"type\":\"uint256[]\"}],\"name\":\"computeMerkle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"confirm\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_dataBytes\",\"type\":\"bytes\"}],\"name\":\"dblShaFlip\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_input\",\"type\":\"uint256\"}],\"name\":\"flip32Bytes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getBestSuperblock\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"logValues\",\"type\":\"bytes\"}],\"name\":\"getBridgeTransactionId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"getBytesLE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getChainHeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"getEthReceipt\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_blockHeader\",\"type\":\"bytes\"}],\"name\":\"getHeaderMerkleRoot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"ethTxReceipt\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"expectedTopic\",\"type\":\"bytes32\"}],\"name\":\"getLogValuesForTopic\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"getOpReturnPos\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblock\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_submitter\",\"type\":\"address\"},{\"internalType\":\"enum SyscoinSuperblocksI.Status\",\"name\":\"_status\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"_height\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_height\",\"type\":\"uint256\"}],\"name\":\"getSuperblockAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockHeight\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockMedianTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockParentId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockStatus\",\"outputs\":[{\"internalType\":\"enum SyscoinSuperblocksI.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_syscoinERC20Manager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_claimManager\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentId\",\"type\":\"bytes32\"}],\"name\":\"initialize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"invalidate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minProposalDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"}],\"name\":\"parseAssetTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"errorCode\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"assetGuid\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"erc20Address\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"}],\"name\":\"parseBurnTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"}],\"name\":\"parseMintTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"errorCode\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"parseVarInt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_txIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_txSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_syscoinBlockHeader\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_syscoinBlockIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_syscoinBlockSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"relayAssetTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_txIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_txSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_syscoinBlockHeader\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_syscoinBlockIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_syscoinBlockSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"relayTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"scanAssetTx\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"semiApprove\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_rawBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endIndex\",\"type\":\"uint256\"}],\"name\":\"sliceArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"syscoinERC20Manager\",\"outputs\":[{\"internalType\":\"contract SyscoinTransactionProcessor\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"trustedClaimManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"getBridgeTransactionId(bytes)\":{\"params\":{\"logValues\":\"log values\"},\"return\":\"bridgeTransactionId\"},\"getEthReceipt(bytes,uint256)\":{\"params\":{\"pos\":\"position at where to start parsing\",\"txBytes\":\"syscoin raw transaction\"},\"return\":\"ethTxReceipt ethereum tx receipt\"},\"getLogValuesForTopic(bytes,bytes32)\":{\"params\":{\"ethTxReceipt\":\"ethereum transaction receipt\"},\"return\":\"logs bloom\"},\"parseAssetTx(bytes)\":{\"details\":\"Parse syscoin asset transaction to recover asset guid and contract, for purposes of updating asset registry in erc20manager\",\"params\":{\"txBytes\":\"syscoin raw transaction\"},\"return\":\"errorCode, assetGuid, erc20Address\"},\"parseMintTx(bytes)\":{\"details\":\"Parse syscoin mint transaction to recover bridgeTransferId\",\"params\":{\"txBytes\":\"syscoin raw transaction\"},\"return\":\"errorCode, bridgeTransferId\"},\"scanAssetTx(bytes,uint256)\":{\"params\":{\"pos\":\"position at where to start parsing\",\"txBytes\":\"syscoin raw transaction\"},\"return\":\"asset guid (uint32) and erc20 address linked to the asset guid to update registry in erc20manager\"}}},\"userdoc\":{\"methods\":{\"getBridgeTransactionId(bytes)\":{\"notice\":\"Get bridgeTransactionId from logs bloom\"},\"getEthReceipt(bytes,uint256)\":{\"notice\":\"Parse txBytes and returns ethereum tx receipt\"},\"getLogValuesForTopic(bytes,bytes32)\":{\"notice\":\"Return logs for given ethereum transaction receipt\"},\"scanAssetTx(bytes,uint256)\":{\"notice\":\"Parse txBytes and returns assetguid + contract address\"}}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinSuperblocks.sol\":\"SyscoinSuperblocks\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinErrorCodes.sol\":{\"keccak256\":\"0x02931f928c2e9680efca3cf47c69a1dc441d9c61dc903d7a8dc9b37a80d1d67f\",\"urls\":[\"bzz-raw://a54ffdf18cd31b84a118b424b670e22d1c91fb1721edbfd00cf671b9a1de928c\",\"dweb:/ipfs/QmQYNCXgBzerzAEuZ1KYhgC7MymqiFtDMcAaFJf6yxv3GU\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinParser/SyscoinMessageLibrary.sol\":{\"keccak256\":\"0x296fe04ab670e2175c98002b4ef8a29326eac21f7b5bdc1ee9e6b0bbfca1edb8\",\"urls\":[\"bzz-raw://4d5cfa73287f660d5cc53de52cb6c1cc3e491740fb375626444552595b22f772\",\"dweb:/ipfs/QmYXQvrH337T8zppKFnvfaNx1Y7uoJ9EjFNXXij78kn1E1\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinSuperblocks.sol\":{\"keccak256\":\"0x38937817c3fe86c15e7709f08950908b1ac367b3b25bfbbd1bde8b8b94e847c4\",\"urls\":[\"bzz-raw://18a4b2b027f3d2b07809f72aec8ab1be52efdf73f535e3be8925e679d0ec58d2\",\"dweb:/ipfs/QmWsXyVMNxbmFKA7LybrLRPR771CZE8AqijHMg9c993wTZ\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol\":{\"keccak256\":\"0xdae0a35ce5092f8a7c04b2636da4b75edd57f6da6f7c6bbce3f31e0517629f7e\",\"urls\":[\"bzz-raw://f4991ce59bf5074812e8cc5a75ee41f7b6ac18094cfeebf332502c04a98aabc4\",\"dweb:/ipfs/QmULzYZroyEhtXUjY1e5ATYsTBffVxNMd2CMB3VE76HNJU\"]},\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol\":{\"keccak256\":\"0x22ae5cd6c18f335811f46caab9c4f911daef746306114dc86c964f39b4aff0ff\",\"urls\":[\"bzz-raw://7755b0206b8e358b313589d9e47f9491f0d002ba509bc2b11d1bd2463f0f0c84\",\"dweb:/ipfs/QmbiEPAhnUCd3ydxQj8NVYFM2bDpRRezhxfLoqdnuhbPnD\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0xf79d9851c085aa8412e87d7a26d3485488fe12538ecb4e317ce41fc1f2c3a16a\",\"urls\":[\"bzz-raw://6af1a35ad6aed2169ce9f44095438b3192cd6066903908f769d5c49a06a0caf8\",\"dweb:/ipfs/QmaH41CwJ7WrMQwSnbfCKuL2pd8bxF7sbGSLPZb6JaHBFF\"]},\"solidity-rlp/contracts/RLPReader.sol\":{\"keccak256\":\"0xe2df62ba34ab569e097c58eee30eb9fdab120d4df1c572c6ceae1bec3faa2c2a\",\"urls\":[\"bzz-raw://46988aac4691b498d4c6983c7617de6d29cd5d7fe4e3ecfb7f8c0d00e33e9a12\",\"dweb:/ipfs/QmdWF9ti9UJSP2E7XYkdUPRV9yfmxEmuRgzpNtt3Ex57Ar\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b506142b6806100206000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c8063828fa8b411610151578063c63128aa116100c3578063e8f421df11610087578063e8f421df146117f6578063ed860976146118de578063f06d520d1461191f578063f09a401614611927578063fbb381a714611957578063fc96c396146119fd57610269565b8063c63128aa1461135e578063c8bd776814611420578063cae0581e1461165f578063d0f9410b146116a0578063d5c9712f1461174d57610269565b8063b6f6580a11610115578063b6f6580a146110dc578063b79bbf46146110f9578063b7a812181461119f578063bb3bf22e14611245578063c0dde98b14611315578063c1f67ab31461133257610269565b8063828fa8b414610f3457806391c9375c14610f7557806395b45ee7146110435780639e20c8031461106f578063a76a9b0f146110bf57610269565b80634b6986fd116101ea57806355e018ce116101ae57806355e018ce14610d9a5780635b57281214610db75780635ec0aedd14610dbf5780636823c56b14610dc75780636e5b707114610e6b5780637420578614610f0857610269565b80634b6986fd14610a2a5780634d7dcfbd14610aed5780635358493914610bac57806353a3273d14610c52578063543a86f614610cf657610269565b80632e400191116102315780632e400191146105eb5780632e901cee146106085780633e0e8a2014610847578063455e616614610965578063484162be1461096d57610269565b8063029c5e2a1461026e578063155ee8941461032d578063244430381461035157806327426f75146105a25780632da8cffd146105ce575b600080fd5b6103146004803603604081101561028457600080fd5b810190602081018135600160201b81111561029e57600080fd5b8201836020820111156102b057600080fd5b803590602001918460018302840111600160201b831117156102d157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611aa3915050565b6040805163ffffffff9092168252519081900360200190f35b610335611adf565b604080516001600160a01b039092168252519081900360200190f35b610590600480360360e081101561036757600080fd5b810190602081018135600160201b81111561038157600080fd5b82018360208201111561039357600080fd5b803590602001918460018302840111600160201b831117156103b457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b81111561040e57600080fd5b82018360208201111561042057600080fd5b803590602001918460208302840111600160201b8311171561044157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561049057600080fd5b8201836020820111156104a257600080fd5b803590602001918460018302840111600160201b831117156104c357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b81111561051d57600080fd5b82018360208201111561052f57600080fd5b803590602001918460208302840111600160201b8311171561055057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250611aee915050565b60408051918252519081900360200190f35b610590600480360360408110156105b857600080fd5b50803590602001356001600160a01b0316611c5a565b610590600480360360208110156105e457600080fd5b5035611d92565b6103146004803603602081101561060157600080fd5b5035611daa565b610590600480360360e081101561061e57600080fd5b810190602081018135600160201b81111561063857600080fd5b82018360208201111561064a57600080fd5b803590602001918460018302840111600160201b8311171561066b57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156106c557600080fd5b8201836020820111156106d757600080fd5b803590602001918460208302840111600160201b831117156106f857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561074757600080fd5b82018360208201111561075957600080fd5b803590602001918460018302840111600160201b8311171561077a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156107d457600080fd5b8201836020820111156107e657600080fd5b803590602001918460208302840111600160201b8311171561080757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250611dcc915050565b6108f06004803603606081101561085d57600080fd5b810190602081018135600160201b81111561087757600080fd5b82018360208201111561088957600080fd5b803590602001918460018302840111600160201b831117156108aa57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135611ee3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561092a578181015183820152602001610912565b50505050905090810190601f1680156109575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610590611f3e565b610a136004803603604081101561098357600080fd5b810190602081018135600160201b81111561099d57600080fd5b8201836020820111156109af57600080fd5b803590602001918460018302840111600160201b831117156109d057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611f4a915050565b6040805161ffff9092168252519081900360200190f35b610ad060048036036040811015610a4057600080fd5b810190602081018135600160201b811115610a5a57600080fd5b820183602082011115610a6c57600080fd5b803590602001918460018302840111600160201b83111715610a8d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611f8c915050565b6040805167ffffffffffffffff9092168252519081900360200190f35b610b9360048036036040811015610b0357600080fd5b810190602081018135600160201b811115610b1d57600080fd5b820183602082011115610b2f57600080fd5b803590602001918460018302840111600160201b83111715610b5057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506120c0915050565b6040805192835260208301919091528051918290030190f35b61059060048036036040811015610bc257600080fd5b810190602081018135600160201b811115610bdc57600080fd5b820183602082011115610bee57600080fd5b803590602001918460018302840111600160201b83111715610c0f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250612173915050565b61059060048036036020811015610c6857600080fd5b810190602081018135600160201b811115610c8257600080fd5b820183602082011115610c9457600080fd5b803590602001918460018302840111600160201b83111715610cb557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061217b945050505050565b61059060048036036020811015610d0c57600080fd5b810190602081018135600160201b811115610d2657600080fd5b820183602082011115610d3857600080fd5b803590602001918460018302840111600160201b83111715610d5957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612182945050505050565b61059060048036036020811015610db057600080fd5b503561231b565b610590612330565b610335612355565b61059060048036036020811015610ddd57600080fd5b810190602081018135600160201b811115610df757600080fd5b820183602082011115610e0957600080fd5b803590602001918460018302840111600160201b83111715610e2a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612364945050505050565b610e8860048036036020811015610e8157600080fd5b503561237c565b604051808a81526020018981526020018881526020018781526020018663ffffffff1663ffffffff168152602001858152602001846001600160a01b03166001600160a01b03168152602001836005811115610ee057fe5b60ff16815263ffffffff90921660208301525060408051918290030198509650505050505050f35b61059060048036036040811015610f1e57600080fd5b50803590602001356001600160a01b03166123e1565b610590600480360360c0811015610f4a57600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a00135612517565b61101b60048036036040811015610f8b57600080fd5b810190602081018135600160201b811115610fa557600080fd5b820183602082011115610fb757600080fd5b803590602001918460018302840111600160201b83111715610fd857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061256f915050565b6040805163ffffffff90931683526001600160a01b0390911660208301528051918290030190f35b6105906004803603604081101561105957600080fd5b50803590602001356001600160a01b031661263a565b610b93600480360360e081101561108557600080fd5b50803590602081013590604081013590606081013590608081013563ffffffff169060a08101359060c001356001600160a01b0316612834565b610590600480360360208110156110d557600080fd5b5035612ad0565b610590600480360360208110156110f257600080fd5b5035612ae5565b6105906004803603604081101561110f57600080fd5b810190602081018135600160201b81111561112957600080fd5b82018360208201111561113b57600080fd5b803590602001918460018302840111600160201b8311171561115c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250612c0f915050565b6108f0600480360360408110156111b557600080fd5b810190602081018135600160201b8111156111cf57600080fd5b8201836020820111156111e157600080fd5b803590602001918460018302840111600160201b8311171561120257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250612dc9915050565b6112e96004803603602081101561125b57600080fd5b810190602081018135600160201b81111561127557600080fd5b82018360208201111561128757600080fd5b803590602001918460018302840111600160201b831117156112a857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612e8d945050505050565b6040805193845263ffffffff90921660208401526001600160a01b031682820152519081900360600190f35b6105906004803603602081101561132b57600080fd5b5035612f80565b6105906004803603604081101561134857600080fd5b50803590602001356001600160a01b0316612fb4565b6114026004803603602081101561137457600080fd5b810190602081018135600160201b81111561138e57600080fd5b8201836020820111156113a057600080fd5b803590602001918460018302840111600160201b831117156113c157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613137945050505050565b6040805192835263ffffffff90911660208301528051918290030190f35b610590600480360360e081101561143657600080fd5b810190602081018135600160201b81111561145057600080fd5b82018360208201111561146257600080fd5b803590602001918460018302840111600160201b8311171561148357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156114dd57600080fd5b8201836020820111156114ef57600080fd5b803590602001918460208302840111600160201b8311171561151057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561155f57600080fd5b82018360208201111561157157600080fd5b803590602001918460018302840111600160201b8311171561159257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156115ec57600080fd5b8201836020820111156115fe57600080fd5b803590602001918460208302840111600160201b8311171561161f57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955050913592506131bb915050565b61167c6004803603602081101561167557600080fd5b50356132df565b6040518082600581111561168c57fe5b60ff16815260200191505060405180910390f35b610590600480360360608110156116b657600080fd5b813591602081013591810190606081016040820135600160201b8111156116dc57600080fd5b8201836020820111156116ee57600080fd5b803590602001918460208302840111600160201b8311171561170f57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506132fe945050505050565b6105906004803603606081101561176357600080fd5b810190602081018135600160201b81111561177d57600080fd5b82018360208201111561178f57600080fd5b803590602001918460018302840111600160201b831117156117b057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020013561350d565b61189a6004803603602081101561180c57600080fd5b810190602081018135600160201b81111561182657600080fd5b82018360208201111561183857600080fd5b803590602001918460018302840111600160201b8311171561185957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613547945050505050565b6040805196875260208701959095526001600160a01b039384168686015263ffffffff909216606086015260ff1660808501521660a0830152519081900360c00190f35b610b93600480360360c08110156118f457600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a001356135de565b610590613737565b6119556004803603604081101561193d57600080fd5b506001600160a01b038135811691602001351661373d565b005b6108f06004803603604081101561196d57600080fd5b810190602081018135600160201b81111561198757600080fd5b82018360208201111561199957600080fd5b803590602001918460018302840111600160201b831117156119ba57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250613868915050565b61031460048036036040811015611a1357600080fd5b810190602081018135600160201b811115611a2d57600080fd5b820183602082011115611a3f57600080fd5b803590602001918460018302840111600160201b83111715611a6057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061395e915050565b6000816020840101516040518160031a60008201538160021a60018201538160011a60028201538160001a60038201535160e01c949350505050565b6036546001600160a01b031681565b600080611b00868686868d8d8d6139ed565b90508015611c1d57600080600080600080611b1a8f613547565b939a50919850929650919450925090508315611b6857604080518881526020810186905281516000805160206140b7833981519152929181900390910190a183975050505050505050611c4f565b60355460008a8152603360205260408082206005015481516315eade2b60e31b8152600481018c9052602481018b90526001600160a01b038a811660448301529182166064820152868216608482015263ffffffff881660a482015260ff861660c4820152915193169263af56f1589260e48084019391929182900301818387803b158015611bf657600080fd5b505af1158015611c0a573d6000803e3d6000fd5b5050505085975050505050505050611c4f565b604080516000815261753a602082015281516000805160206140b7833981519152929181900390910190a161753a9150505b979650505050505050565b6036546000906001600160a01b03163314611ca2576040805184815261c39660208201528151600080516020614097833981519152929181900390910190a15061c396611d8c565b60008381526033602052604090206002600582810154600160e01b900460ff1690811115611ccc57fe5b14158015611cf457506001600582810154600160e01b900460ff1690811115611cf157fe5b14155b15611d2e576040805185815261c36460208201528151600080516020614097833981519152929181900390910190a161c364915050611d8c565b60058101805460ff60e01b1916600360e01b179055604080518581526001600160a01b038516602082015281517f87f54f5eb3dd119fe71af0915af693e64a5bfd4acaa19a6c944c47cff8eec9e6929181900390910190a160009150505b92915050565b6000818152603360205260409020600101545b919050565b600090815260336020526040902060050154600160c01b900463ffffffff1690565b600080611dde868686868d8d8d6139ed565b90508015611c1d576000806000611df48c612e8d565b919450925090508215611e3657604080518581526020810185905281516000805160206140b7833981519152929181900390910190a182945050505050611c4f565b6000868152603360205260408082206005015460355482516317c047e160e01b81526004810189905263ffffffff8781166024830152600160c01b9093048316603c028d0192831660448201526001600160a01b0386811660648301529351929493909116926317c047e19260848084019382900301818387803b158015611ebd57600080fd5b505af1158015611ed1573d6000803e3d6000fd5b50505050600095505050505050611c4f565b6060600083830390506060816040519080825280601f01601f191660200182016040528015611f19576020820181803883390190505b5090508160208201838760208a010160045afa611f3557600080fd5b95945050505050565b6729a2241af62c000081565b6000828281518110611f5857fe5b602001015160f81c60f81b60f81c60ff1661010002838360010181518110611f7c57fe5b016020015160f81c019392505050565b6000828281518110611f9a57fe5b602001015160f81c60f81b60f81c60ff1667010000000000000002838360010181518110611fc457fe5b602001015160f81c60f81b60f81c60ff16660100000000000002848460020181518110611fed57fe5b602001015160f81c60f81b60f81c60ff16650100000000000285856003018151811061201557fe5b602001015160f81c60f81b60f81c60ff16600160201b0286866004018151811061203b57fe5b602001015160f81c60f81b60f81c60ff1663010000000287876005018151811061206157fe5b602001015160f81c60f81b60f81c60ff16620100000288886006018151811061208657fe5b602001015160f81c60f81b60f81c60ff16610100028989600701815181106120aa57fe5b016020015160f81c010101010101019392505050565b60008060008484815181106120d157fe5b01602001516001949094019360f81c905060fd8110156120f85760ff16915082905061216c565b8060ff1660fd141561211e576121108585601061350d565b84600201925092505061216c565b8060ff1660fe1415612144576121368585602061350d565b84600401925092505061216c565b8060ff1660ff141561216a5761215c8585604061350d565b84600801925092505061216c565b505b9250929050565b016020015190565b6060015190565b6000611d8c600280846040516020018082805190602001908083835b602083106121bd5780518252601f19909201916020918201910161219e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106122205780518252601f199092019160209182019101612201565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561225f573d6000803e3d6000fd5b5050506040513d602081101561227457600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106122c05780518252601f1990920191602091820191016122a1565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156122ff573d6000803e3d6000fd5b5050506040513d602081101561231457600080fd5b5051612ae5565b60009081526033602052604090206004015490565b603454600090815260336020526040902060050154600160c01b900463ffffffff1690565b6035546001600160a01b031681565b604481015160009061237581612ae5565b9392505050565b600090815260336020526040902080546001820154600283015460038401546005850154600490950154939592949193909263ffffffff600160a01b84048116936001600160a01b0381169260ff600160e01b83041692600160c01b90920490911690565b6036546000906001600160a01b03163314612429576040805184815261c39660208201528151600080516020614097833981519152929181900390910190a15061c396611d8c565b60008381526033602052604090206002600582810154600160e01b900460ff169081111561245357fe5b1415801561247b57506003600582810154600160e01b900460ff169081111561247857fe5b14155b156124b5576040805185815261c36460208201528151600080516020614097833981519152929181900390910190a161c364915050611d8c565b60058101805460ff60e01b1916600560e01b179055604080518581526001600160a01b038516602082015281517f64297372062dfcb21d6f7385f68d4656e993be2bb674099e3de73128d4911a91929181900390910190a15060009392505050565b60408051602080820198909852808201969096526060860194909452608085019290925260e01b6001600160e01b03191660a084015260a4808401919091528151808403909101815260c49092019052805191012090565b600080600080600061258187876120c0565b8101602001965090506125948787611aa3565b92506004860195506125a687876120c0565b8101600101965090506125b987876120c0565b8101600101965090506125cc87876120c0565b8101601e01965090506125df87876120c0565b96509050601481146126225760405162461bcd60e51b815260040180806020018281038252603e815260200180614103603e913960400191505060405180910390fd5b61262c8787613a60565b929792965091945050505050565b6036546000906001600160a01b03163314612682576040805184815261c39660208201528151600080516020614097833981519152929181900390910190a15061c396611d8c565b60008381526033602052604090206001600582810154600160e01b900460ff16908111156126ac57fe5b141580156126d457506003600582810154600160e01b900460ff16908111156126d157fe5b14155b1561270e576040805185815261c36460208201528151600080516020614097833981519152929181900390910190a161c364915050611d8c565b612716612330565b6005820154600160c01b900463ffffffff1611612762576040805185815261c3fa60208201528151600080516020614097833981519152929181900390910190a161c3fa915050611d8c565b600480820154600090815260336020526040902090600582810154600160e01b900460ff169081111561279157fe5b146127cc576040805186815261c37860208201528151600080516020614097833981519152929181900390910190a161c37892505050611d8c565b60058201805460ff60e01b1916600160e21b1790556034859055604080518681526001600160a01b038616602082015281517ff2dbbf0abb1ab1870a5e4d02746747c91d167c855255440b573ba3b5529dc901929181900390910190a1506000949350505050565b60365460009081906001600160a01b0316331461288357604080516000815261c39660208201528151600080516020614097833981519152929181900390910190a15061c39690506000612ac4565b60008481526033602052604090206003600582810154600160e01b900460ff16908111156128ad57fe5b141580156128d557506004600582810154600160e01b900460ff16908111156128d257fe5b14155b1561294e576000805160206140978339815191528582600501601c9054906101000a900460ff16600581111561290757fe5b6040805192835261c3789190910160208301528051918290030190a1600581810154600160e01b900460ff169081111561293d57fe5b61c37801925060009150612ac49050565b612956612330565b6005820154600160c01b900463ffffffff1610156129a7576040805186815261c3fa60208201528151600080516020614097833981519152929181900390910190a15061c3fa915060009050612ac4565b60006129b78b8b8b8b8b8b612517565b6000818152603360205260408120919250600582810154600160e01b900460ff16908111156129e257fe5b1415612a53578b815560018082018c9055600282018b9055600382018a905560048201889055600580850154908301805463ffffffff8c8116600160a01b0263ffffffff60a01b19600160c01b95869004831690960190911690930263ffffffff60c01b1990911617929092161790555b60058101805460ff60e01b1916600160e01b176001600160a01b0319166001600160a01b03881690811790915560408051848152602081019290925280517f64951c9008bba9f4663c12662e7a9b6412a7c4757869fdac09285564ae923fa19281900390910190a150600093509150505b97509795505050505050565b60009081526033602052604090206002015490565b60405160009060ff8316815382601e1a600182015382601d1a600282015382601c1a600382015382601b1a600482015382601a1a60058201538260191a60068201538260181a60078201538260171a60088201538260161a60098201538260151a600a8201538260141a600b8201538260131a600c8201538260121a600d8201538260111a600e8201538260101a600f82015382600f1a601082015382600e1a601182015382600d1a601282015382600c1a601382015382600b1a601482015382600a1a60158201538260091a60168201538260081a60178201538260071a60188201538260061a60198201538260051a601a8201538260041a601b8201538260031a601c8201538260021a601d8201538260011a601e8201538260001a601f8201535192915050565b6000806000806000612c2187876120c0565b9650935083612c8357612c3487876120c0565b9650935083612c745760405162461bcd60e51b815260040180806020018281038252603b815260200180614181603b913960400191505060405180910390fd5b612c7e87876120c0565b965093505b60648410612cc25760405162461bcd60e51b81526004018080602001828103825260408152602001806141416040913960400191505060405180910390fd5b60005b84811015612cee57602487019650612cdd88886120c0565b810160040197509350600101612cc5565b50612cf987876120c0565b96509050600a8110612d3c5760405162461bcd60e51b81526004018080602001828103825260418152602001806141bc6041913960600191505060405180910390fd5b60005b81811015612d9157600887019650612d5788886120c0565b97509350612d658888613a68565b612d76579583019560009250612d89565b6001870196508695505050505050611d8c565b600101612d3f565b5060405162461bcd60e51b81526004018080602001828103825260378152602001806141fd6037913960400191505060405180910390fd5b60408051600080825260208201909252606091612de685856120c0565b810194509050612df685856120c0565b810194509050612e0685856120c0565b810194509050612e1685856120c0565b810194509050612e2685856120c0565b945090506002811415612e75576000612e3f8686611f4a565b948201949050612e4f86866120c0565b61ffff83169081019650909250612e6d908790879085038101611ee3565b925050612e85565b612e828585838701611ee3565b91505b509392505050565b600080808080612e9d8682611aa3565b915063ffffffff821661740214801590612ebf575063ffffffff821661740314155b15612ed857506127ba935060009250829150612f799050565b612ee3866004612c0f565b90506000868260010181518110612ef657fe5b0160200151600292909201916001600160f81b0319169050604d60f81b811415612f21576001909101905b612f2b878361256f565b90955093506001600160a01b038416612f755760405162461bcd60e51b815260040180806020018281038252602c8152602001806140d7602c913960400191505060405180910390fd5b5050505b9193909250565b6034546000905b82612f9182611daa565b63ffffffff161115611d8c57600090815260336020526040902060040154612f87565b6036546000906001600160a01b03163314612ffc576040805184815261c39660208201528151600080516020614097833981519152929181900390910190a15061c396611d8c565b60008381526033602052604090206001600582810154600160e01b900460ff169081111561302657fe5b1415801561304e57506002600582810154600160e01b900460ff169081111561304b57fe5b14155b15613088576040805185815261c36460208201528151600080516020614097833981519152929181900390910190a161c364915050611d8c565b60058101546001600160a01b03848116911614156130d5576040805185815261c38760208201528151600080516020614097833981519152929181900390910190a161c387915050611d8c565b60058101805460ff60e01b1916600160e11b179055604080518581526001600160a01b038516602082015281517f09cdaca254aa177f759fe7a0968fe696ee9baf7d2a1d4714ed24b83d1f09518e929181900390910190a15060009392505050565b60008080806131468582611aa3565b915063ffffffff82166174061461316457506127ba92506131b69050565b61316f856004612c0f565b60030190507faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d6131b06131ab6131a58885612dc9565b83613868565b61217b565b93505050505b915091565b6000806131cd868686868d8d8d6139ed565b9050801561329a576000806131e18b613137565b92509050801561321e57604080518481526020810183905281516000805160206140b7833981519152929181900390910190a19250611c4f915050565b60355460408051636cde8d6f60e01b815263ffffffff8516600482015233602482015290516001600160a01b0390921691636cde8d6f9160448082019260009290919082900301818387803b15801561327657600080fd5b505af115801561328a573d6000803e3d6000fd5b5050505060009350505050611c4f565b60408051617544815290517f52fd0c7e41cb237ece28ba61808cab7bb72873b2dba5b827c5b65bb092102d379181900360200190a15061754498975050505050505050565b600090815260336020526040902060050154600160e01b900460ff1690565b8051600090815b818110156133485761332984828151811061331c57fe5b6020026020010151612ae5565b84828151811061333557fe5b6020908102919091010152600101613305565b5060008061335587612ae5565b90505b8282101561350457600085838151811061336e57fe5b602002602001015190506000806002898161338557fe5b066001141561339857508190508261339e565b50829050815b600280838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106133f85780518252601f1990920191602091820191016133d9565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015613437573d6000803e3d6000fd5b5050506040513d602081101561344c57600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106134985780518252601f199092019160209182019101613479565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156134d7573d6000803e3d6000fd5b5050506040513d60208110156134ec57600080fd5b50519350600289049850600185019450505050613358565b611c4f81612ae5565b6000805b60088304811015612e85578060080260020a858286018151811061353157fe5b016020015160f81c029190910190600101613511565b600080808080808080808080808061355f8e82611aa3565b935063ffffffff84166174071461358c57506127ba9b509499509197509195509193509091506135d59050565b6135978e6004612c0f565b90506135a38e82613a97565b809750819650829a50839950849b505050505050600087868885878595509c509c509c509c509c509c50505050505050505b91939550919395565b6034546000908190156135f057600080fd5b82156135fb57600080fd5b600061360b898989898989612517565b6000818152603360205260408120919250600582810154600160e01b900460ff169081111561363657fe5b1461364057600080fd5b89815560018101899055600281018890556003810187905560048101859055600581018054600160c01b336001600160a01b0319909216821763ffffffff60c01b19161763ffffffff60a01b1916600160a01b63ffffffff8a16021760ff60e01b1916600160e21b1790915560408051848152602081019290925280517f64951c9008bba9f4663c12662e7a9b6412a7c4757869fdac09285564ae923fa19281900390910190a160348290556040805183815233602082015281517ff2dbbf0abb1ab1870a5e4d02746747c91d167c855255440b573ba3b5529dc901929181900390910190a1506000999098509650505050505050565b60345490565b600054610100900460ff16806137565750613756613bc2565b80613764575060005460ff16155b61379f5760405162461bcd60e51b815260040180806020018281038252602e815260200180614234602e913960400191505060405180910390fd5b600054610100900460ff161580156137ca576000805460ff1961ff0019909116610100171660011790555b6035546001600160a01b03161580156137eb57506001600160a01b03831615155b6137f457600080fd5b603580546001600160a01b0319166001600160a01b03858116919091179091556036541615801561382d57506001600160a01b03821615155b61383657600080fd5b603680546001600160a01b0319166001600160a01b0384161790558015613863576000805461ff00191690555b505050565b60608061387c61387785613bc8565b613bed565b9050606061389d8260038151811061389057fe5b6020026020010151613bed565b905060005b815181101561391e5760606138bc83838151811061389057fe5b905060606138dd826001815181106138d057fe5b6020026020010151613cbe565b905060006138ec826001612173565b90508781141561391357613906836002815181106138d057fe5b9650505050505050611d8c565b5050506001016138a2565b506040805162461bcd60e51b815260206004820152600f60248201526e151bdc1a58c81b9bdd08199bdd5b99608a1b604482015290519081900360640190fd5b600082828151811061396c57fe5b602001015160f81c60f81b60f81c60ff1663010000000283836001018151811061399257fe5b602001015160f81c60f81b60f81c60ff1662010000028484600201815181106139b757fe5b602001015160f81c60f81b60f81c60ff16610100028585600301815181106139db57fe5b016020015160f81c0101019392505050565b600084815260336020526040812054613a0f613a088a612182565b89896132fe565b14613a47576040805160008152614e6660208201528151600080516020614262833981519152929181900390910190a1506000611c4f565b613a548484848b89613d37565b98975050505050505050565b016014015190565b8151600090603560f91b90849084908110613a7f57fe5b01602001516001600160f81b03191614905092915050565b6000806000806000806000806000806000613ab28d8d613dac565b9c509050600460ff821614613ac657600080fd5b613ad08d8d61395e565b95508060ff168c019b50613ae48d8d613dac565b9c509050600860ff821614613af857600080fd5b613b028d8d611f8c565b67ffffffffffffffff1692508060ff168c019b50613b208d8d613dac565b9c509050601460ff821614613b3457600080fd5b613b3e8d8d613a60565b94508060ff168c019b50613b528d8d613dac565b9c509050600160ff821614613b6657600080fd5b8c8c81518110613b7257fe5b016020015160ff82169c909c019b60f81c9150613b8f8d8d613dac565b9c509050601460ff821614613ba357600080fd5b613bad8d8d613a60565b929d949c50949a509850965090945050505050565b303b1590565b613bd061407c565b506040805180820190915281518152602082810190820152919050565b6060613bf882613dde565b613c0157600080fd5b6000613c0c83613e18565b9050606081604051908082528060200260200182016040528015613c4a57816020015b613c3761407c565b815260200190600190039081613c2f5790505b5090506000613c5c8560200151613e74565b60208601510190506000805b84811015613cb357613c7983613ed7565b9150604051806040016040528083815260200184815250848281518110613c9c57fe5b602090810291909101015291810191600101613c68565b509195945050505050565b8051606090613ccc57600080fd5b6000613cdb8360200151613e74565b83516040805191839003808352601f19601f8201168301602001909152919250606090828015613d12576020820181803883390190505b5090506000816020019050613d2e848760200151018285613f70565b50949350505050565b600080613d4387612182565b9050865160401415613d835760408051828152614e5c60208201528151600080516020614262833981519152929181900390910190a16000915050611f35565b613d908187878787613fbb565b60011415613d9f579050611f35565b5060009695505050505050565b60008083518310613dbc57600080fd5b838381518110613dc857fe5b016020015160f81c915050600182019250929050565b8051600090613def57506000611da5565b6020820151805160001a9060c0821015613e0e57600092505050611da5565b5060019392505050565b8051600090613e2957506000611da5565b60008090506000613e3d8460200151613e74565b602085015185519181019250015b80821015613e6b57613e5c82613ed7565b60019093019290910190613e4b565b50909392505050565b8051600090811a6080811015613e8e576000915050611da5565b60b8811080613ea9575060c08110801590613ea9575060f881105b15613eb8576001915050611da5565b60c0811015613ecc5760b519019050611da5565b60f519019050611da5565b80516000908190811a6080811015613ef25760019150613f69565b60b8811015613f0757607e1981019150613f69565b60c0811015613f345760b78103600185019450806020036101000a85510460018201810193505050613f69565b60f8811015613f495760be1981019150613f69565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80613f7a57613863565b5b60208110613f9a578251825260209283019290910190601f1901613f7b565b915181516020939093036101000a6000190180199091169216919091179052565b6000613fc68261405d565b613ffd5760408051878152614e3e60208201528151600080516020614262833981519152929181900390910190a150614e3e611f35565b600061400884612364565b9050806140168888886132fe565b146140505760408051888152614e5260208201528151600080516020614262833981519152929181900390910190a1614e52915050611f35565b5060019695505050505050565b6000600461406a836132df565b600581111561407557fe5b1492915050565b60405180604001604052806000815260200160008152509056fea57c1ba4cf2c89b3558cfeeca4339e04551f0fc1a12cf63f1923c2eed8a5be8b4e64138cc499eb1adf9edff9ef69bd45c56ac4bfd307540952e4c9d51eab55c170617273654173736574547828293a206572633230416464726573732063616e6e6f7420626520656d7074797363616e4173736574547828293a20496e76616c6964206e756d626572206f66206279746573207265616420666f7220636f6e7472616374206669656c6423537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f696e7075747323537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20556e65787065637465642064756d6d792f666c616723537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f6f75747075747323537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a204e6f204f7052657475726e20666f756e64436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656465bd72698b9ffcfb3c7cb4c7414e13225cabd57fb690e183ae8c01c8ec268ebda265627a7a72315820db652d299e68f9e826b12bdd50d3cf416784784ea923548597f95ccfa04b7d9064736f6c634300050d0032", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102695760003560e01c8063828fa8b411610151578063c63128aa116100c3578063e8f421df11610087578063e8f421df146117f6578063ed860976146118de578063f06d520d1461191f578063f09a401614611927578063fbb381a714611957578063fc96c396146119fd57610269565b8063c63128aa1461135e578063c8bd776814611420578063cae0581e1461165f578063d0f9410b146116a0578063d5c9712f1461174d57610269565b8063b6f6580a11610115578063b6f6580a146110dc578063b79bbf46146110f9578063b7a812181461119f578063bb3bf22e14611245578063c0dde98b14611315578063c1f67ab31461133257610269565b8063828fa8b414610f3457806391c9375c14610f7557806395b45ee7146110435780639e20c8031461106f578063a76a9b0f146110bf57610269565b80634b6986fd116101ea57806355e018ce116101ae57806355e018ce14610d9a5780635b57281214610db75780635ec0aedd14610dbf5780636823c56b14610dc75780636e5b707114610e6b5780637420578614610f0857610269565b80634b6986fd14610a2a5780634d7dcfbd14610aed5780635358493914610bac57806353a3273d14610c52578063543a86f614610cf657610269565b80632e400191116102315780632e400191146105eb5780632e901cee146106085780633e0e8a2014610847578063455e616614610965578063484162be1461096d57610269565b8063029c5e2a1461026e578063155ee8941461032d578063244430381461035157806327426f75146105a25780632da8cffd146105ce575b600080fd5b6103146004803603604081101561028457600080fd5b810190602081018135600160201b81111561029e57600080fd5b8201836020820111156102b057600080fd5b803590602001918460018302840111600160201b831117156102d157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611aa3915050565b6040805163ffffffff9092168252519081900360200190f35b610335611adf565b604080516001600160a01b039092168252519081900360200190f35b610590600480360360e081101561036757600080fd5b810190602081018135600160201b81111561038157600080fd5b82018360208201111561039357600080fd5b803590602001918460018302840111600160201b831117156103b457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b81111561040e57600080fd5b82018360208201111561042057600080fd5b803590602001918460208302840111600160201b8311171561044157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561049057600080fd5b8201836020820111156104a257600080fd5b803590602001918460018302840111600160201b831117156104c357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b81111561051d57600080fd5b82018360208201111561052f57600080fd5b803590602001918460208302840111600160201b8311171561055057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250611aee915050565b60408051918252519081900360200190f35b610590600480360360408110156105b857600080fd5b50803590602001356001600160a01b0316611c5a565b610590600480360360208110156105e457600080fd5b5035611d92565b6103146004803603602081101561060157600080fd5b5035611daa565b610590600480360360e081101561061e57600080fd5b810190602081018135600160201b81111561063857600080fd5b82018360208201111561064a57600080fd5b803590602001918460018302840111600160201b8311171561066b57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156106c557600080fd5b8201836020820111156106d757600080fd5b803590602001918460208302840111600160201b831117156106f857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561074757600080fd5b82018360208201111561075957600080fd5b803590602001918460018302840111600160201b8311171561077a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156107d457600080fd5b8201836020820111156107e657600080fd5b803590602001918460208302840111600160201b8311171561080757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250611dcc915050565b6108f06004803603606081101561085d57600080fd5b810190602081018135600160201b81111561087757600080fd5b82018360208201111561088957600080fd5b803590602001918460018302840111600160201b831117156108aa57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135611ee3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561092a578181015183820152602001610912565b50505050905090810190601f1680156109575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610590611f3e565b610a136004803603604081101561098357600080fd5b810190602081018135600160201b81111561099d57600080fd5b8201836020820111156109af57600080fd5b803590602001918460018302840111600160201b831117156109d057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611f4a915050565b6040805161ffff9092168252519081900360200190f35b610ad060048036036040811015610a4057600080fd5b810190602081018135600160201b811115610a5a57600080fd5b820183602082011115610a6c57600080fd5b803590602001918460018302840111600160201b83111715610a8d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611f8c915050565b6040805167ffffffffffffffff9092168252519081900360200190f35b610b9360048036036040811015610b0357600080fd5b810190602081018135600160201b811115610b1d57600080fd5b820183602082011115610b2f57600080fd5b803590602001918460018302840111600160201b83111715610b5057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506120c0915050565b6040805192835260208301919091528051918290030190f35b61059060048036036040811015610bc257600080fd5b810190602081018135600160201b811115610bdc57600080fd5b820183602082011115610bee57600080fd5b803590602001918460018302840111600160201b83111715610c0f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250612173915050565b61059060048036036020811015610c6857600080fd5b810190602081018135600160201b811115610c8257600080fd5b820183602082011115610c9457600080fd5b803590602001918460018302840111600160201b83111715610cb557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061217b945050505050565b61059060048036036020811015610d0c57600080fd5b810190602081018135600160201b811115610d2657600080fd5b820183602082011115610d3857600080fd5b803590602001918460018302840111600160201b83111715610d5957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612182945050505050565b61059060048036036020811015610db057600080fd5b503561231b565b610590612330565b610335612355565b61059060048036036020811015610ddd57600080fd5b810190602081018135600160201b811115610df757600080fd5b820183602082011115610e0957600080fd5b803590602001918460018302840111600160201b83111715610e2a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612364945050505050565b610e8860048036036020811015610e8157600080fd5b503561237c565b604051808a81526020018981526020018881526020018781526020018663ffffffff1663ffffffff168152602001858152602001846001600160a01b03166001600160a01b03168152602001836005811115610ee057fe5b60ff16815263ffffffff90921660208301525060408051918290030198509650505050505050f35b61059060048036036040811015610f1e57600080fd5b50803590602001356001600160a01b03166123e1565b610590600480360360c0811015610f4a57600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a00135612517565b61101b60048036036040811015610f8b57600080fd5b810190602081018135600160201b811115610fa557600080fd5b820183602082011115610fb757600080fd5b803590602001918460018302840111600160201b83111715610fd857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061256f915050565b6040805163ffffffff90931683526001600160a01b0390911660208301528051918290030190f35b6105906004803603604081101561105957600080fd5b50803590602001356001600160a01b031661263a565b610b93600480360360e081101561108557600080fd5b50803590602081013590604081013590606081013590608081013563ffffffff169060a08101359060c001356001600160a01b0316612834565b610590600480360360208110156110d557600080fd5b5035612ad0565b610590600480360360208110156110f257600080fd5b5035612ae5565b6105906004803603604081101561110f57600080fd5b810190602081018135600160201b81111561112957600080fd5b82018360208201111561113b57600080fd5b803590602001918460018302840111600160201b8311171561115c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250612c0f915050565b6108f0600480360360408110156111b557600080fd5b810190602081018135600160201b8111156111cf57600080fd5b8201836020820111156111e157600080fd5b803590602001918460018302840111600160201b8311171561120257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250612dc9915050565b6112e96004803603602081101561125b57600080fd5b810190602081018135600160201b81111561127557600080fd5b82018360208201111561128757600080fd5b803590602001918460018302840111600160201b831117156112a857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612e8d945050505050565b6040805193845263ffffffff90921660208401526001600160a01b031682820152519081900360600190f35b6105906004803603602081101561132b57600080fd5b5035612f80565b6105906004803603604081101561134857600080fd5b50803590602001356001600160a01b0316612fb4565b6114026004803603602081101561137457600080fd5b810190602081018135600160201b81111561138e57600080fd5b8201836020820111156113a057600080fd5b803590602001918460018302840111600160201b831117156113c157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613137945050505050565b6040805192835263ffffffff90911660208301528051918290030190f35b610590600480360360e081101561143657600080fd5b810190602081018135600160201b81111561145057600080fd5b82018360208201111561146257600080fd5b803590602001918460018302840111600160201b8311171561148357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156114dd57600080fd5b8201836020820111156114ef57600080fd5b803590602001918460208302840111600160201b8311171561151057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561155f57600080fd5b82018360208201111561157157600080fd5b803590602001918460018302840111600160201b8311171561159257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156115ec57600080fd5b8201836020820111156115fe57600080fd5b803590602001918460208302840111600160201b8311171561161f57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955050913592506131bb915050565b61167c6004803603602081101561167557600080fd5b50356132df565b6040518082600581111561168c57fe5b60ff16815260200191505060405180910390f35b610590600480360360608110156116b657600080fd5b813591602081013591810190606081016040820135600160201b8111156116dc57600080fd5b8201836020820111156116ee57600080fd5b803590602001918460208302840111600160201b8311171561170f57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506132fe945050505050565b6105906004803603606081101561176357600080fd5b810190602081018135600160201b81111561177d57600080fd5b82018360208201111561178f57600080fd5b803590602001918460018302840111600160201b831117156117b057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020013561350d565b61189a6004803603602081101561180c57600080fd5b810190602081018135600160201b81111561182657600080fd5b82018360208201111561183857600080fd5b803590602001918460018302840111600160201b8311171561185957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613547945050505050565b6040805196875260208701959095526001600160a01b039384168686015263ffffffff909216606086015260ff1660808501521660a0830152519081900360c00190f35b610b93600480360360c08110156118f457600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a001356135de565b610590613737565b6119556004803603604081101561193d57600080fd5b506001600160a01b038135811691602001351661373d565b005b6108f06004803603604081101561196d57600080fd5b810190602081018135600160201b81111561198757600080fd5b82018360208201111561199957600080fd5b803590602001918460018302840111600160201b831117156119ba57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250613868915050565b61031460048036036040811015611a1357600080fd5b810190602081018135600160201b811115611a2d57600080fd5b820183602082011115611a3f57600080fd5b803590602001918460018302840111600160201b83111715611a6057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061395e915050565b6000816020840101516040518160031a60008201538160021a60018201538160011a60028201538160001a60038201535160e01c949350505050565b6036546001600160a01b031681565b600080611b00868686868d8d8d6139ed565b90508015611c1d57600080600080600080611b1a8f613547565b939a50919850929650919450925090508315611b6857604080518881526020810186905281516000805160206140b7833981519152929181900390910190a183975050505050505050611c4f565b60355460008a8152603360205260408082206005015481516315eade2b60e31b8152600481018c9052602481018b90526001600160a01b038a811660448301529182166064820152868216608482015263ffffffff881660a482015260ff861660c4820152915193169263af56f1589260e48084019391929182900301818387803b158015611bf657600080fd5b505af1158015611c0a573d6000803e3d6000fd5b5050505085975050505050505050611c4f565b604080516000815261753a602082015281516000805160206140b7833981519152929181900390910190a161753a9150505b979650505050505050565b6036546000906001600160a01b03163314611ca2576040805184815261c39660208201528151600080516020614097833981519152929181900390910190a15061c396611d8c565b60008381526033602052604090206002600582810154600160e01b900460ff1690811115611ccc57fe5b14158015611cf457506001600582810154600160e01b900460ff1690811115611cf157fe5b14155b15611d2e576040805185815261c36460208201528151600080516020614097833981519152929181900390910190a161c364915050611d8c565b60058101805460ff60e01b1916600360e01b179055604080518581526001600160a01b038516602082015281517f87f54f5eb3dd119fe71af0915af693e64a5bfd4acaa19a6c944c47cff8eec9e6929181900390910190a160009150505b92915050565b6000818152603360205260409020600101545b919050565b600090815260336020526040902060050154600160c01b900463ffffffff1690565b600080611dde868686868d8d8d6139ed565b90508015611c1d576000806000611df48c612e8d565b919450925090508215611e3657604080518581526020810185905281516000805160206140b7833981519152929181900390910190a182945050505050611c4f565b6000868152603360205260408082206005015460355482516317c047e160e01b81526004810189905263ffffffff8781166024830152600160c01b9093048316603c028d0192831660448201526001600160a01b0386811660648301529351929493909116926317c047e19260848084019382900301818387803b158015611ebd57600080fd5b505af1158015611ed1573d6000803e3d6000fd5b50505050600095505050505050611c4f565b6060600083830390506060816040519080825280601f01601f191660200182016040528015611f19576020820181803883390190505b5090508160208201838760208a010160045afa611f3557600080fd5b95945050505050565b6729a2241af62c000081565b6000828281518110611f5857fe5b602001015160f81c60f81b60f81c60ff1661010002838360010181518110611f7c57fe5b016020015160f81c019392505050565b6000828281518110611f9a57fe5b602001015160f81c60f81b60f81c60ff1667010000000000000002838360010181518110611fc457fe5b602001015160f81c60f81b60f81c60ff16660100000000000002848460020181518110611fed57fe5b602001015160f81c60f81b60f81c60ff16650100000000000285856003018151811061201557fe5b602001015160f81c60f81b60f81c60ff16600160201b0286866004018151811061203b57fe5b602001015160f81c60f81b60f81c60ff1663010000000287876005018151811061206157fe5b602001015160f81c60f81b60f81c60ff16620100000288886006018151811061208657fe5b602001015160f81c60f81b60f81c60ff16610100028989600701815181106120aa57fe5b016020015160f81c010101010101019392505050565b60008060008484815181106120d157fe5b01602001516001949094019360f81c905060fd8110156120f85760ff16915082905061216c565b8060ff1660fd141561211e576121108585601061350d565b84600201925092505061216c565b8060ff1660fe1415612144576121368585602061350d565b84600401925092505061216c565b8060ff1660ff141561216a5761215c8585604061350d565b84600801925092505061216c565b505b9250929050565b016020015190565b6060015190565b6000611d8c600280846040516020018082805190602001908083835b602083106121bd5780518252601f19909201916020918201910161219e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106122205780518252601f199092019160209182019101612201565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561225f573d6000803e3d6000fd5b5050506040513d602081101561227457600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106122c05780518252601f1990920191602091820191016122a1565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156122ff573d6000803e3d6000fd5b5050506040513d602081101561231457600080fd5b5051612ae5565b60009081526033602052604090206004015490565b603454600090815260336020526040902060050154600160c01b900463ffffffff1690565b6035546001600160a01b031681565b604481015160009061237581612ae5565b9392505050565b600090815260336020526040902080546001820154600283015460038401546005850154600490950154939592949193909263ffffffff600160a01b84048116936001600160a01b0381169260ff600160e01b83041692600160c01b90920490911690565b6036546000906001600160a01b03163314612429576040805184815261c39660208201528151600080516020614097833981519152929181900390910190a15061c396611d8c565b60008381526033602052604090206002600582810154600160e01b900460ff169081111561245357fe5b1415801561247b57506003600582810154600160e01b900460ff169081111561247857fe5b14155b156124b5576040805185815261c36460208201528151600080516020614097833981519152929181900390910190a161c364915050611d8c565b60058101805460ff60e01b1916600560e01b179055604080518581526001600160a01b038516602082015281517f64297372062dfcb21d6f7385f68d4656e993be2bb674099e3de73128d4911a91929181900390910190a15060009392505050565b60408051602080820198909852808201969096526060860194909452608085019290925260e01b6001600160e01b03191660a084015260a4808401919091528151808403909101815260c49092019052805191012090565b600080600080600061258187876120c0565b8101602001965090506125948787611aa3565b92506004860195506125a687876120c0565b8101600101965090506125b987876120c0565b8101600101965090506125cc87876120c0565b8101601e01965090506125df87876120c0565b96509050601481146126225760405162461bcd60e51b815260040180806020018281038252603e815260200180614103603e913960400191505060405180910390fd5b61262c8787613a60565b929792965091945050505050565b6036546000906001600160a01b03163314612682576040805184815261c39660208201528151600080516020614097833981519152929181900390910190a15061c396611d8c565b60008381526033602052604090206001600582810154600160e01b900460ff16908111156126ac57fe5b141580156126d457506003600582810154600160e01b900460ff16908111156126d157fe5b14155b1561270e576040805185815261c36460208201528151600080516020614097833981519152929181900390910190a161c364915050611d8c565b612716612330565b6005820154600160c01b900463ffffffff1611612762576040805185815261c3fa60208201528151600080516020614097833981519152929181900390910190a161c3fa915050611d8c565b600480820154600090815260336020526040902090600582810154600160e01b900460ff169081111561279157fe5b146127cc576040805186815261c37860208201528151600080516020614097833981519152929181900390910190a161c37892505050611d8c565b60058201805460ff60e01b1916600160e21b1790556034859055604080518681526001600160a01b038616602082015281517ff2dbbf0abb1ab1870a5e4d02746747c91d167c855255440b573ba3b5529dc901929181900390910190a1506000949350505050565b60365460009081906001600160a01b0316331461288357604080516000815261c39660208201528151600080516020614097833981519152929181900390910190a15061c39690506000612ac4565b60008481526033602052604090206003600582810154600160e01b900460ff16908111156128ad57fe5b141580156128d557506004600582810154600160e01b900460ff16908111156128d257fe5b14155b1561294e576000805160206140978339815191528582600501601c9054906101000a900460ff16600581111561290757fe5b6040805192835261c3789190910160208301528051918290030190a1600581810154600160e01b900460ff169081111561293d57fe5b61c37801925060009150612ac49050565b612956612330565b6005820154600160c01b900463ffffffff1610156129a7576040805186815261c3fa60208201528151600080516020614097833981519152929181900390910190a15061c3fa915060009050612ac4565b60006129b78b8b8b8b8b8b612517565b6000818152603360205260408120919250600582810154600160e01b900460ff16908111156129e257fe5b1415612a53578b815560018082018c9055600282018b9055600382018a905560048201889055600580850154908301805463ffffffff8c8116600160a01b0263ffffffff60a01b19600160c01b95869004831690960190911690930263ffffffff60c01b1990911617929092161790555b60058101805460ff60e01b1916600160e01b176001600160a01b0319166001600160a01b03881690811790915560408051848152602081019290925280517f64951c9008bba9f4663c12662e7a9b6412a7c4757869fdac09285564ae923fa19281900390910190a150600093509150505b97509795505050505050565b60009081526033602052604090206002015490565b60405160009060ff8316815382601e1a600182015382601d1a600282015382601c1a600382015382601b1a600482015382601a1a60058201538260191a60068201538260181a60078201538260171a60088201538260161a60098201538260151a600a8201538260141a600b8201538260131a600c8201538260121a600d8201538260111a600e8201538260101a600f82015382600f1a601082015382600e1a601182015382600d1a601282015382600c1a601382015382600b1a601482015382600a1a60158201538260091a60168201538260081a60178201538260071a60188201538260061a60198201538260051a601a8201538260041a601b8201538260031a601c8201538260021a601d8201538260011a601e8201538260001a601f8201535192915050565b6000806000806000612c2187876120c0565b9650935083612c8357612c3487876120c0565b9650935083612c745760405162461bcd60e51b815260040180806020018281038252603b815260200180614181603b913960400191505060405180910390fd5b612c7e87876120c0565b965093505b60648410612cc25760405162461bcd60e51b81526004018080602001828103825260408152602001806141416040913960400191505060405180910390fd5b60005b84811015612cee57602487019650612cdd88886120c0565b810160040197509350600101612cc5565b50612cf987876120c0565b96509050600a8110612d3c5760405162461bcd60e51b81526004018080602001828103825260418152602001806141bc6041913960600191505060405180910390fd5b60005b81811015612d9157600887019650612d5788886120c0565b97509350612d658888613a68565b612d76579583019560009250612d89565b6001870196508695505050505050611d8c565b600101612d3f565b5060405162461bcd60e51b81526004018080602001828103825260378152602001806141fd6037913960400191505060405180910390fd5b60408051600080825260208201909252606091612de685856120c0565b810194509050612df685856120c0565b810194509050612e0685856120c0565b810194509050612e1685856120c0565b810194509050612e2685856120c0565b945090506002811415612e75576000612e3f8686611f4a565b948201949050612e4f86866120c0565b61ffff83169081019650909250612e6d908790879085038101611ee3565b925050612e85565b612e828585838701611ee3565b91505b509392505050565b600080808080612e9d8682611aa3565b915063ffffffff821661740214801590612ebf575063ffffffff821661740314155b15612ed857506127ba935060009250829150612f799050565b612ee3866004612c0f565b90506000868260010181518110612ef657fe5b0160200151600292909201916001600160f81b0319169050604d60f81b811415612f21576001909101905b612f2b878361256f565b90955093506001600160a01b038416612f755760405162461bcd60e51b815260040180806020018281038252602c8152602001806140d7602c913960400191505060405180910390fd5b5050505b9193909250565b6034546000905b82612f9182611daa565b63ffffffff161115611d8c57600090815260336020526040902060040154612f87565b6036546000906001600160a01b03163314612ffc576040805184815261c39660208201528151600080516020614097833981519152929181900390910190a15061c396611d8c565b60008381526033602052604090206001600582810154600160e01b900460ff169081111561302657fe5b1415801561304e57506002600582810154600160e01b900460ff169081111561304b57fe5b14155b15613088576040805185815261c36460208201528151600080516020614097833981519152929181900390910190a161c364915050611d8c565b60058101546001600160a01b03848116911614156130d5576040805185815261c38760208201528151600080516020614097833981519152929181900390910190a161c387915050611d8c565b60058101805460ff60e01b1916600160e11b179055604080518581526001600160a01b038516602082015281517f09cdaca254aa177f759fe7a0968fe696ee9baf7d2a1d4714ed24b83d1f09518e929181900390910190a15060009392505050565b60008080806131468582611aa3565b915063ffffffff82166174061461316457506127ba92506131b69050565b61316f856004612c0f565b60030190507faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d6131b06131ab6131a58885612dc9565b83613868565b61217b565b93505050505b915091565b6000806131cd868686868d8d8d6139ed565b9050801561329a576000806131e18b613137565b92509050801561321e57604080518481526020810183905281516000805160206140b7833981519152929181900390910190a19250611c4f915050565b60355460408051636cde8d6f60e01b815263ffffffff8516600482015233602482015290516001600160a01b0390921691636cde8d6f9160448082019260009290919082900301818387803b15801561327657600080fd5b505af115801561328a573d6000803e3d6000fd5b5050505060009350505050611c4f565b60408051617544815290517f52fd0c7e41cb237ece28ba61808cab7bb72873b2dba5b827c5b65bb092102d379181900360200190a15061754498975050505050505050565b600090815260336020526040902060050154600160e01b900460ff1690565b8051600090815b818110156133485761332984828151811061331c57fe5b6020026020010151612ae5565b84828151811061333557fe5b6020908102919091010152600101613305565b5060008061335587612ae5565b90505b8282101561350457600085838151811061336e57fe5b602002602001015190506000806002898161338557fe5b066001141561339857508190508261339e565b50829050815b600280838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106133f85780518252601f1990920191602091820191016133d9565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015613437573d6000803e3d6000fd5b5050506040513d602081101561344c57600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106134985780518252601f199092019160209182019101613479565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156134d7573d6000803e3d6000fd5b5050506040513d60208110156134ec57600080fd5b50519350600289049850600185019450505050613358565b611c4f81612ae5565b6000805b60088304811015612e85578060080260020a858286018151811061353157fe5b016020015160f81c029190910190600101613511565b600080808080808080808080808061355f8e82611aa3565b935063ffffffff84166174071461358c57506127ba9b509499509197509195509193509091506135d59050565b6135978e6004612c0f565b90506135a38e82613a97565b809750819650829a50839950849b505050505050600087868885878595509c509c509c509c509c509c50505050505050505b91939550919395565b6034546000908190156135f057600080fd5b82156135fb57600080fd5b600061360b898989898989612517565b6000818152603360205260408120919250600582810154600160e01b900460ff169081111561363657fe5b1461364057600080fd5b89815560018101899055600281018890556003810187905560048101859055600581018054600160c01b336001600160a01b0319909216821763ffffffff60c01b19161763ffffffff60a01b1916600160a01b63ffffffff8a16021760ff60e01b1916600160e21b1790915560408051848152602081019290925280517f64951c9008bba9f4663c12662e7a9b6412a7c4757869fdac09285564ae923fa19281900390910190a160348290556040805183815233602082015281517ff2dbbf0abb1ab1870a5e4d02746747c91d167c855255440b573ba3b5529dc901929181900390910190a1506000999098509650505050505050565b60345490565b600054610100900460ff16806137565750613756613bc2565b80613764575060005460ff16155b61379f5760405162461bcd60e51b815260040180806020018281038252602e815260200180614234602e913960400191505060405180910390fd5b600054610100900460ff161580156137ca576000805460ff1961ff0019909116610100171660011790555b6035546001600160a01b03161580156137eb57506001600160a01b03831615155b6137f457600080fd5b603580546001600160a01b0319166001600160a01b03858116919091179091556036541615801561382d57506001600160a01b03821615155b61383657600080fd5b603680546001600160a01b0319166001600160a01b0384161790558015613863576000805461ff00191690555b505050565b60608061387c61387785613bc8565b613bed565b9050606061389d8260038151811061389057fe5b6020026020010151613bed565b905060005b815181101561391e5760606138bc83838151811061389057fe5b905060606138dd826001815181106138d057fe5b6020026020010151613cbe565b905060006138ec826001612173565b90508781141561391357613906836002815181106138d057fe5b9650505050505050611d8c565b5050506001016138a2565b506040805162461bcd60e51b815260206004820152600f60248201526e151bdc1a58c81b9bdd08199bdd5b99608a1b604482015290519081900360640190fd5b600082828151811061396c57fe5b602001015160f81c60f81b60f81c60ff1663010000000283836001018151811061399257fe5b602001015160f81c60f81b60f81c60ff1662010000028484600201815181106139b757fe5b602001015160f81c60f81b60f81c60ff16610100028585600301815181106139db57fe5b016020015160f81c0101019392505050565b600084815260336020526040812054613a0f613a088a612182565b89896132fe565b14613a47576040805160008152614e6660208201528151600080516020614262833981519152929181900390910190a1506000611c4f565b613a548484848b89613d37565b98975050505050505050565b016014015190565b8151600090603560f91b90849084908110613a7f57fe5b01602001516001600160f81b03191614905092915050565b6000806000806000806000806000806000613ab28d8d613dac565b9c509050600460ff821614613ac657600080fd5b613ad08d8d61395e565b95508060ff168c019b50613ae48d8d613dac565b9c509050600860ff821614613af857600080fd5b613b028d8d611f8c565b67ffffffffffffffff1692508060ff168c019b50613b208d8d613dac565b9c509050601460ff821614613b3457600080fd5b613b3e8d8d613a60565b94508060ff168c019b50613b528d8d613dac565b9c509050600160ff821614613b6657600080fd5b8c8c81518110613b7257fe5b016020015160ff82169c909c019b60f81c9150613b8f8d8d613dac565b9c509050601460ff821614613ba357600080fd5b613bad8d8d613a60565b929d949c50949a509850965090945050505050565b303b1590565b613bd061407c565b506040805180820190915281518152602082810190820152919050565b6060613bf882613dde565b613c0157600080fd5b6000613c0c83613e18565b9050606081604051908082528060200260200182016040528015613c4a57816020015b613c3761407c565b815260200190600190039081613c2f5790505b5090506000613c5c8560200151613e74565b60208601510190506000805b84811015613cb357613c7983613ed7565b9150604051806040016040528083815260200184815250848281518110613c9c57fe5b602090810291909101015291810191600101613c68565b509195945050505050565b8051606090613ccc57600080fd5b6000613cdb8360200151613e74565b83516040805191839003808352601f19601f8201168301602001909152919250606090828015613d12576020820181803883390190505b5090506000816020019050613d2e848760200151018285613f70565b50949350505050565b600080613d4387612182565b9050865160401415613d835760408051828152614e5c60208201528151600080516020614262833981519152929181900390910190a16000915050611f35565b613d908187878787613fbb565b60011415613d9f579050611f35565b5060009695505050505050565b60008083518310613dbc57600080fd5b838381518110613dc857fe5b016020015160f81c915050600182019250929050565b8051600090613def57506000611da5565b6020820151805160001a9060c0821015613e0e57600092505050611da5565b5060019392505050565b8051600090613e2957506000611da5565b60008090506000613e3d8460200151613e74565b602085015185519181019250015b80821015613e6b57613e5c82613ed7565b60019093019290910190613e4b565b50909392505050565b8051600090811a6080811015613e8e576000915050611da5565b60b8811080613ea9575060c08110801590613ea9575060f881105b15613eb8576001915050611da5565b60c0811015613ecc5760b519019050611da5565b60f519019050611da5565b80516000908190811a6080811015613ef25760019150613f69565b60b8811015613f0757607e1981019150613f69565b60c0811015613f345760b78103600185019450806020036101000a85510460018201810193505050613f69565b60f8811015613f495760be1981019150613f69565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80613f7a57613863565b5b60208110613f9a578251825260209283019290910190601f1901613f7b565b915181516020939093036101000a6000190180199091169216919091179052565b6000613fc68261405d565b613ffd5760408051878152614e3e60208201528151600080516020614262833981519152929181900390910190a150614e3e611f35565b600061400884612364565b9050806140168888886132fe565b146140505760408051888152614e5260208201528151600080516020614262833981519152929181900390910190a1614e52915050611f35565b5060019695505050505050565b6000600461406a836132df565b600581111561407557fe5b1492915050565b60405180604001604052806000815260200160008152509056fea57c1ba4cf2c89b3558cfeeca4339e04551f0fc1a12cf63f1923c2eed8a5be8b4e64138cc499eb1adf9edff9ef69bd45c56ac4bfd307540952e4c9d51eab55c170617273654173736574547828293a206572633230416464726573732063616e6e6f7420626520656d7074797363616e4173736574547828293a20496e76616c6964206e756d626572206f66206279746573207265616420666f7220636f6e7472616374206669656c6423537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f696e7075747323537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20556e65787065637465642064756d6d792f666c616723537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f6f75747075747323537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a204e6f204f7052657475726e20666f756e64436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656465bd72698b9ffcfb3c7cb4c7414e13225cabd57fb690e183ae8c01c8ec268ebda265627a7a72315820db652d299e68f9e826b12bdd50d3cf416784784ea923548597f95ccfa04b7d9064736f6c634300050d0032", + "sourceMap": "350:40880:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;350:40880:6;;;;;;;", + "deployedSourceMap": "350:40880:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;350:40880:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1517:501:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1517:501:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;1517:501:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1517:501:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1517:501:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1517:501:5;;-1:-1:-1;;1517:501:5;;;-1:-1:-1;1517:501:5;;-1:-1:-1;;1517:501:5:i;:::-;;;;;;;;;;;;;;;;;;;1473:34:6;;;:::i;:::-;;;;-1:-1:-1;;;;;1473:34:6;;;;;;;;;;;;;;26378:1206;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;26378:1206:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;26378:1206:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;26378:1206:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;26378:1206:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;26378:1206:6;;;;;;;;;-1:-1:-1;26378:1206:6;;;;-1:-1:-1;26378:1206:6;;;;-1:-1:-1;;;;5:28;;2:2;;;46:1;43;36:12;2:2;26378:1206:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;26378:1206:6;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;26378:1206:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;26378:1206:6;;;;;;;;-1:-1:-1;26378:1206:6;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;26378:1206:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;26378:1206:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;26378:1206:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;26378:1206:6;;;;;;;;;-1:-1:-1;26378:1206:6;;;;-1:-1:-1;26378:1206:6;;;;-1:-1:-1;;;;5:28;;2:2;;;46:1;43;36:12;2:2;26378:1206:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;26378:1206:6;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;26378:1206:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;26378:1206:6;;-1:-1:-1;;26378:1206:6;;;-1:-1:-1;26378:1206:6;;-1:-1:-1;;26378:1206:6:i;:::-;;;;;;;;;;;;;;;;22223:738;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22223:738:6;;;;;;-1:-1:-1;;;;;22223:738:6;;:::i;39711:148::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;39711:148:6;;:::i;39523:140::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;39523:140:6;;:::i;28483:1203::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;28483:1203:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;28483:1203:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;28483:1203:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;28483:1203:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;28483:1203:6;;;;;;;;;-1:-1:-1;28483:1203:6;;;;-1:-1:-1;28483:1203:6;;;;-1:-1:-1;;;;5:28;;2:2;;;46:1;43;36:12;2:2;28483:1203:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;28483:1203:6;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;28483:1203:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;28483:1203:6;;;;;;;;-1:-1:-1;28483:1203:6;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;28483:1203:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;28483:1203:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;28483:1203:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;28483:1203:6;;;;;;;;;-1:-1:-1;28483:1203:6;;;;-1:-1:-1;28483:1203:6;;;;-1:-1:-1;;;;5:28;;2:2;;;46:1;43;36:12;2:2;28483:1203:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;28483:1203:6;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;28483:1203:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;28483:1203:6;;-1:-1:-1;;28483:1203:6;;;-1:-1:-1;28483:1203:6;;-1:-1:-1;;28483:1203:6:i;5765:460:5:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5765:460:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5765:460:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5765:460:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5765:460:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5765:460:5;;-1:-1:-1;;5765:460:5;;;-1:-1:-1;;;5765:460:5;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5765:460:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4142:61:4;;;:::i;9032:177:6:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9032:177:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9032:177:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9032:177:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9032:177:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9032:177:6;;-1:-1:-1;;9032:177:6;;;-1:-1:-1;9032:177:6;;-1:-1:-1;;9032:177:6:i;:::-;;;;;;;;;;;;;;;;;;;2607:417;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2607:417:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2607:417:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2607:417:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2607:417:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2607:417:6;;-1:-1:-1;;2607:417:6;;;-1:-1:-1;2607:417:6;;-1:-1:-1;;2607:417:6:i;:::-;;;;;;;;;;;;;;;;;;;506:580:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;506:580:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;506:580:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;506:580:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;506:580:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;506:580:5;;-1:-1:-1;;506:580:5;;;-1:-1:-1;506:580:5;;-1:-1:-1;;506:580:5:i;:::-;;;;;;;;;;;;;;;;;;;;;;;13104:222:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13104:222:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;13104:222:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;13104:222:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;13104:222:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;13104:222:6;;-1:-1:-1;;13104:222:6;;;-1:-1:-1;13104:222:6;;-1:-1:-1;;13104:222:6:i;14391:233::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14391:233:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;14391:233:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14391:233:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;14391:233:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;14391:233:6;;-1:-1:-1;14391:233:6;;-1:-1:-1;;;;;14391:233:6:i;35099:177::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;35099:177:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;35099:177:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;35099:177:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;35099:177:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;35099:177:6;;-1:-1:-1;35099:177:6;;-1:-1:-1;;;;;35099:177:6:i;40116:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;40116:149:6;;:::i;40618:111::-;;;:::i;806:54::-;;;:::i;35528:238::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;35528:238:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;35528:238:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;35528:238:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;35528:238:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;35528:238:6;;-1:-1:-1;35528:238:6;;-1:-1:-1;;;;;35528:238:6:i;38743:734::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;38743:734:6;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;38743:734:6;-1:-1:-1;;;;;38743:734:6;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;38743:734:6;;;;;;;;;-1:-1:-1;38743:734:6;-1:-1:-1;;;;;;;38743:734:6;23433;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23433:734:6;;;;;;-1:-1:-1;;;;;23433:734:6;;:::i;37985:444::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;37985:444:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;11186:1529::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11186:1529:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11186:1529:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11186:1529:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11186:1529:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;11186:1529:6;;-1:-1:-1;;11186:1529:6;;;-1:-1:-1;11186:1529:6;;-1:-1:-1;;11186:1529:6:i;:::-;;;;;;;;;;-1:-1:-1;;;;;11186:1529:6;;;;;;;;;;;;;;;;19329:1227;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19329:1227:6;;;;;;-1:-1:-1;;;;;19329:1227:6;;:::i;17148:1775::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;17148:1775:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17148:1775:6;;:::i;39914:157::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;39914:157:6;;:::i;2214:1816:5:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2214:1816:5;;:::i;5259:1623:6:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5259:1623:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5259:1623:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5259:1623:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5259:1623:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5259:1623:6;;-1:-1:-1;;5259:1623:6;;;-1:-1:-1;5259:1623:6;;-1:-1:-1;;5259:1623:6:i;9431:1458::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9431:1458:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9431:1458:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9431:1458:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9431:1458:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9431:1458:6;;-1:-1:-1;;9431:1458:6;;;-1:-1:-1;9431:1458:6;;-1:-1:-1;;9431:1458:6:i;8164:862::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8164:862:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;8164:862:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8164:862:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8164:862:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8164:862:6;;-1:-1:-1;8164:862:6;;-1:-1:-1;;;;;8164:862:6:i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;8164:862:6;;;;;;;;;;;;;;40927:301;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;40927:301:6;;:::i;20904:918::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20904:918:6;;;;;;-1:-1:-1;;;;;20904:918:6;;:::i;7064:851::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7064:851:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;7064:851:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7064:851:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7064:851:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;7064:851:6;;-1:-1:-1;7064:851:6;;-1:-1:-1;;;;;7064:851:6:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;30382:1147;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;30382:1147:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;30382:1147:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;30382:1147:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;30382:1147:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;30382:1147:6;;;;;;;;;-1:-1:-1;30382:1147:6;;;;-1:-1:-1;30382:1147:6;;;;-1:-1:-1;;;;5:28;;2:2;;;46:1;43;36:12;2:2;30382:1147:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;30382:1147:6;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;30382:1147:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;30382:1147:6;;;;;;;;-1:-1:-1;30382:1147:6;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;30382:1147:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;30382:1147:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;30382:1147:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;30382:1147:6;;;;;;;;;-1:-1:-1;30382:1147:6;;;;-1:-1:-1;30382:1147:6;;;;-1:-1:-1;;;;5:28;;2:2;;;46:1;43;36:12;2:2;30382:1147:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;30382:1147:6;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;30382:1147:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;30382:1147:6;;-1:-1:-1;;30382:1147:6;;;-1:-1:-1;30382:1147:6;;-1:-1:-1;;30382:1147:6:i;40311:142::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;40311:142:6;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4426:946:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4426:946:5;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4426:946:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4426:946:5;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4426:946:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4426:946:5;;-1:-1:-1;4426:946:5;;-1:-1:-1;;;;;4426:946:5:i;1135:259::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1135:259:5;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;1135:259:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1135:259:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1135:259:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1135:259:5;;-1:-1:-1;;1135:259:5;;;-1:-1:-1;;;1135:259:5;;;;:::i;31768:823:6:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;31768:823:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;31768:823:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;31768:823:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;31768:823:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;31768:823:6;;-1:-1:-1;31768:823:6;;-1:-1:-1;;;;;31768:823:6:i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;31768:823:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15318:1177;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;15318:1177:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;38556:99::-;;;:::i;1936:411::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1936:411:6;;;;;;;;;;:::i;:::-;;13489:763;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13489:763:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;13489:763:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;13489:763:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;13489:763:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;13489:763:6;;-1:-1:-1;;13489:763:6;;;-1:-1:-1;13489:763:6;;-1:-1:-1;;13489:763:6:i;3030:257::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3030:257:6;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;3030:257:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3030:257:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3030:257:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3030:257:6;;-1:-1:-1;;3030:257:6;;;-1:-1:-1;3030:257:6;;-1:-1:-1;;3030:257:6:i;1517:501:5:-;1622:13;1714:3;1707:4;1700:5;1696:16;1692:26;1686:33;1750:4;1744:11;1798:4;1795:1;1790:13;1786:1;1780:4;1776:12;1768:36;1847:4;1844:1;1839:13;1835:1;1829:4;1825:12;1817:36;1896:4;1893:1;1888:13;1884:1;1878:4;1874:12;1866:36;1945:4;1942:1;1937:13;1933:1;1927:4;1923:12;1915:36;1990:11;1978:10;1974:28;;1660:352;-1:-1:-1;;;;1660:352:5:o;1473:34:6:-;;;-1:-1:-1;;;;;1473:34:6;;:::o;26378:1206::-;26659:4;26675:11;26689:129;26705:19;26726:18;26746:21;26769:15;26786:8;26796;26806:11;26689:15;:129::i;:::-;26675:143;-1:-1:-1;26832:11:6;;26828:655;;26859:10;26883:26;26923:8;26945:16;26975:28;27017:15;27125:21;27137:8;27125:11;:21::i;:::-;27046:100;;-1:-1:-1;27046:100:6;;-1:-1:-1;27046:100:6;;-1:-1:-1;27046:100:6;;-1:-1:-1;27046:100:6;-1:-1:-1;27046:100:6;-1:-1:-1;27163:8:6;;27160:116;;27195:38;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;27195:38:6;;;;;;;;;;27258:3;27251:10;;;;;;;;;;;27160:116;27289:19;;;27363:28;;;:11;:28;;;;;;:38;;;27289:157;;-1:-1:-1;;;27289:157:6;;;;;;;;;;;;;;-1:-1:-1;;;;;27289:157:6;;;;;;;27363:38;;;27289:157;;;;;;;;;;;;;;;;;;;;;;;;;;;:19;;;:38;;:157;;;;;:19;;:157;;;;;;:19;;:157;;;5:2:-1;;;;30:1;27;20:12;5:2;27289:157:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27289:157:6;;;;27467:5;27460:12;;;;;;;;;;;26828:655;27497:46;;;27522:1;27497:46;;4077:5:4;27497:46:6;;;;;;-1:-1:-1;;;;;;;;;;;27497:46:6;;;;;;;;;;4077:5:4;27553:24:6;;;26378:1206;;;;;;;;;;:::o;22223:738::-;22341:19;;22307:4;;-1:-1:-1;;;;;22341:19:6;22327:10;:33;22323:186;;22381:65;;;;;;2583:5:4;22381:65:6;;;;;;-1:-1:-1;;;;;;;;;;;22381:65:6;;;;;;;;;;-1:-1:-1;2583:5:4;22460:38:6;;22323:186;22518:33;22554:28;;;:11;:28;;;;;22618:15;22597:17;;;;;-1:-1:-1;;;22597:17:6;;;;;:36;;;;;;;;;:71;;;;-1:-1:-1;22658:10:6;22637:17;;;;;-1:-1:-1;;;22637:17:6;;;;;:31;;;;;;;;;22597:71;22593:212;;;22689:59;;;;;;939:5:4;22689:59:6;;;;;;-1:-1:-1;;;;;;;;;;;22689:59:6;;;;;;;;;;939:5:4;22762:32:6;;;;;22593:212;22814:17;;;:39;;-1:-1:-1;;;;22814:39:6;-1:-1:-1;;;22814:39:6;;;22869:51;;;;;;-1:-1:-1;;;;;22869:51:6;;;;;;;;;;;;;;;;;;;837:1:4;22930:24:6;;;22223:738;;;;;:::o;39711:148::-;39791:4;39814:28;;;:11;:28;;;;;:38;;;39711:148;;;;:::o;39523:140::-;39597:6;39622:27;;;:11;:27;;;;;:34;;;-1:-1:-1;;;39622:34:6;;;;;39523:140::o;28483:1203::-;28769:4;28785:11;28799:129;28815:19;28836:18;28856:21;28879:15;28896:8;28906;28916:11;28799:15;:129::i;:::-;28785:143;-1:-1:-1;28942:11:6;;28938:647;;28969:8;28991:16;29021:28;29104:22;29117:8;29104:12;:22::i;:::-;29063:63;;-1:-1:-1;29063:63:6;-1:-1:-1;29063:63:6;-1:-1:-1;29143:8:6;;29140:116;;29175:38;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;29175:38:6;;;;;;;;;;29238:3;29231:10;;;;;;;;29140:116;29269:13;29285:28;;;:11;:28;;;;;;:35;;;29471:19;;:81;;-1:-1:-1;;;29471:81:6;;;;;;;;29285:35;29471:81;;;;;;;-1:-1:-1;;;29285:35:6;;;;;29321:2;29285:38;29337:36;;29471:81;;;;;;;-1:-1:-1;;;;;29471:81:6;;;;;;;;;29337:36;;29471:19;;;;;:32;;:81;;;;;;;;;;29269:13;29471:19;:81;;;5:2:-1;;;;30:1;27;20:12;5:2;29471:81:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29471:81:6;;;;29573:1;29566:8;;;;;;;;;5765:460:5;5859:12;5883:8;5906:6;5894:9;:18;5883:29;;5922:19;5954:3;5944:14;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;104:10;5944:14:5;87:34:-1;135:17;;-1:-1;5944:14:5;;5922:36;;6136:3;6129:4;6121:6;6117:17;6112:3;6103:6;6096:4;6085:9;6081:20;6077:33;6071:4;6066:3;6055:85;6045:2;;6170:1;6167;6160:12;6045:2;6212:6;5765:460;-1:-1:-1;;;;;5765:460:5:o;4142:61:4:-;4184:19;4142:61;:::o;9032:177:6:-;9106:13;9183:5;9189:3;9183:10;;;;;;;;;;;;;;;;9177:17;;9170:25;;9197:4;9170:32;9153:5;9159:3;9163:1;9159:5;9153:12;;;;;;;;;;;;;;9140:62;;9032:177;-1:-1:-1;;;9032:177:6:o;2607:417::-;2681:13;2997:5;3003:3;2997:10;;;;;;;;;;;;;;;;2991:17;;2984:25;;3011:5;2984:33;2957:5;2963:3;2969:1;2963:7;2957:14;;;;;;;;;;;;;;;;2951:21;;2944:29;;2975:5;2944:37;2917:5;2923:3;2929:1;2923:7;2917:14;;;;;;;;;;;;;;;;2911:21;;2904:29;;2935:5;2904:37;2877:5;2883:3;2889:1;2883:7;2877:14;;;;;;;;;;;;;;;;2871:21;;2864:29;;-1:-1:-1;;;2864:37:6;2837:5;2843:3;2849:1;2843:7;2837:14;;;;;;;;;;;;;;;;2831:21;;2824:29;;2855:5;2824:37;2797:5;2803:3;2809:1;2803:7;2797:14;;;;;;;;;;;;;;;;2791:21;;2784:29;;2815:5;2784:37;2758:5;2764:3;2770:1;2764:7;2758:14;;;;;;;;;;;;;;;;2752:21;;2745:29;;2776:4;2745:36;2728:5;2734:3;2738:1;2734:5;2728:12;;;;;;;;;;;;;;2715:66;:106;:146;:186;:226;:266;:302;;2607:417;-1:-1:-1;;;2607:417:6:o;506:580:5:-;580:4;586;660:10;679:7;687:3;679:12;;;;;;;;;;;;709:1;702:8;;;;;679:12;;;-1:-1:-1;746:4:5;739:11;;735:345;;;766:18;;;-1:-1:-1;780:3:5;;-1:-1:-1;766:18:5;;735:345;805:4;:12;;813:4;805:12;801:279;;;841:28;852:7;861:3;866:2;841:10;:28::i;:::-;871:3;877:1;871:7;833:46;;;;;;;801:279;900:4;:12;;908:4;900:12;896:184;;;936:28;947:7;956:3;961:2;936:10;:28::i;:::-;966:3;972:1;966:7;928:46;;;;;;;896:184;995:4;:12;;1003:4;995:12;991:89;;;1031:28;1042:7;1051:3;1056:2;1031:10;:28::i;:::-;1061:3;1067:1;1061:7;1023:46;;;;;;;991:89;506:580;;;;;;;:::o;13104:222:6:-;13259:30;13278:4;13259:30;13253:37;;13104:222::o;14391:233::-;14592:14;14577:30;14571:37;;14548:70::o;35099:177::-;35165:4;35188:81;35205:62;35229:36;35253:10;35236:28;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;35236:28:6;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;35236:28:6;;;35229:36;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;35229:36:6;;;;;;;-1:-1:-1;263:2;;-1:-1;;35229:36:6;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;35229:36:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;35229:36:6;35212:54;;;35229:36;35212:54;;;;;;;;;26:21:-1;;;22:32;;6:49;;35212:54:6;;;;;;;35205:62;;35212:54;;;;35205:62;;;;;35212:54;35205:62;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;35205:62:6;;;;;;;-1:-1:-1;263:2;;-1:-1;;35205:62:6;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;35205:62:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;35205:62:6;35188:11;:81::i;40116:149::-;40195:7;40221:28;;;:11;:28;;;;;:37;;;;40116:149::o;40618:111::-;40700:14;;40665:4;40688:27;;;:11;:27;;;;;:34;;;-1:-1:-1;;;40688:34:6;;;;;40618:111::o;806:54::-;;;-1:-1:-1;;;;;806:54:6;;:::o;35528:238::-;35681:32;;;35675:39;35605:4;;35740:19;35675:39;35740:11;:19::i;:::-;35733:26;35528:238;-1:-1:-1;;;35528:238:6:o;38743:734::-;38822:25;39109:27;;;:11;:27;;;;;39167;;39208:20;;;;39242:23;;;;39279:19;;;;39312;;;;39345;;;;;39167:27;;39208:20;;39242:23;;39279:19;;39312;-1:-1:-1;;;39312:19:6;;;;;-1:-1:-1;;;;;39378:20:6;;;39412:17;-1:-1:-1;;;39412:17:6;;;;-1:-1:-1;;;39443:17:6;;;;;;;38743:734::o;23433:::-;23550:19;;23516:4;;-1:-1:-1;;;;;23550:19:6;23536:10;:33;23532:186;;23590:65;;;;;;2583:5:4;23590:65:6;;;;;;-1:-1:-1;;;;;;;;;;;23590:65:6;;;;;;;;;;-1:-1:-1;2583:5:4;23669:38:6;;23532:186;23727:33;23763:28;;;:11;:28;;;;;23826:15;23805:17;;;;;-1:-1:-1;;;23805:17:6;;;;;:36;;;;;;;;;:80;;;;-1:-1:-1;23866:19:6;23845:17;;;;;-1:-1:-1;;;23845:17:6;;;;;:40;;;;;;;;;23805:80;23801:221;;;23906:59;;;;;;939:5:4;23906:59:6;;;;;;-1:-1:-1;;;;;;;;;;;23906:59:6;;;;;;;;;;939:5:4;23979:32:6;;;;;23801:221;24051:14;24031:17;;:34;;-1:-1:-1;;;;24031:34:6;-1:-1:-1;;;24031:34:6;;;24080:46;;;;;;-1:-1:-1;;;;;24080:46:6;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;23433:734:6;-1:-1:-1;;;23433:734:6:o;37985:444::-;38244:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;38244:177:6;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;38244:177:6;;;;;;38234:188;;;;;;37985:444::o;11186:1529::-;11284:6;11292:7;11315:16;11341:20;11371:16;11445:25;11457:7;11466:3;11445:11;:25::i;:::-;11480:18;;11538:2;11531:9;;-1:-1:-1;11480:18:6;-1:-1:-1;11584:34:6;11605:7;11531:9;11584:20;:34::i;:::-;11572:46;;11635:1;11628:8;;;;11693:25;11705:7;11714:3;11693:11;:25::i;:::-;11728:18;;11803:1;11796:8;;-1:-1:-1;11728:18:6;-1:-1:-1;11884:25:6;11896:7;11796:8;11884:11;:25::i;:::-;11919:18;;12002:1;11995:8;;-1:-1:-1;11919:18:6;-1:-1:-1;12091:25:6;12103:7;11995:8;12091:11;:25::i;:::-;12126:18;;12405:8;;;-1:-1:-1;12126:18:6;-1:-1:-1;12471:25:6;12483:7;12405:8;12471:11;:25::i;:::-;12450:46;-1:-1:-1;12450:46:6;-1:-1:-1;12529:4:6;12514:19;;12506:102;;;;-1:-1:-1;;;12506:102:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12633:33;12653:7;12662:3;12633:19;:33::i;:::-;12684:9;;;;-1:-1:-1;11186:1529:6;;-1:-1:-1;;;;;11186:1529:6:o;19329:1227::-;19443:19;;19409:4;;-1:-1:-1;;;;;19443:19:6;19429:10;:33;19425:186;;19483:65;;;;;;2583:5:4;19483:65:6;;;;;;-1:-1:-1;;;;;;;;;;;19483:65:6;;;;;;;;;;-1:-1:-1;2583:5:4;19562:38:6;;19425:186;19620:33;19656:28;;;:11;:28;;;;;19719:10;19698:17;;;;;-1:-1:-1;;;19698:17:6;;;;;:31;;;;;;;;;:75;;;;-1:-1:-1;19754:19:6;19733:17;;;;;-1:-1:-1;;;19733:17:6;;;;;:40;;;;;;;;;19698:75;19694:216;;;19794:59;;;;;;939:5:4;19794:59:6;;;;;;-1:-1:-1;;;;;;;;;;;19794:59:6;;;;;;;;;;939:5:4;19867:32:6;;;;;19694:216;19945:16;:14;:16::i;:::-;19924:17;;;;-1:-1:-1;;;19924:17:6;;;;:37;19920:188;;19982:64;;;;;;3300:5:4;19982:64:6;;;;;;-1:-1:-1;;;;;;;;;;;19982:64:6;;;;;;;;;;3300:5:4;20060:37:6;;;;;19920:188;20162:19;;;;;20118:29;20150:32;;;:11;:32;;;;;;20196:13;;;;;-1:-1:-1;;;20196:13:6;;;;;:32;;;;;;;;20192:173;;20249:59;;;;;;1444:5:4;20249:59:6;;;;;;-1:-1:-1;;;;;;;;;;;20249:59:6;;;;;;;;;;1444:5:4;20322:32:6;;;;;;20192:173;20375:17;;;:35;;-1:-1:-1;;;;20375:35:6;-1:-1:-1;;;20375:35:6;;;20420:14;:32;;;20468:47;;;;;;-1:-1:-1;;;;;20468:47:6;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;19329:1227:6;-1:-1:-1;;;;19329:1227:6:o;17148:1775::-;17427:19;;17384:4;;;;-1:-1:-1;;;;;17427:19:6;17413:10;:33;17409:177;;17467:51;;;17483:1;17467:51;;2583:5:4;17467:51:6;;;;;;-1:-1:-1;;;;;;;;;;;17467:51:6;;;;;;;;;;-1:-1:-1;2583:5:4;;-1:-1:-1;17573:1:6;17532:43;;17409:177;17596:29;17628:22;;;:11;:22;;;;;17681:19;17664:13;;;;;-1:-1:-1;;;17664:13:6;;;;;:36;;;;;;;;;:72;;;;-1:-1:-1;17721:15:6;17704:13;;;;;-1:-1:-1;;;17704:13:6;;;;;:32;;;;;;;;;17664:72;17660:256;;;-1:-1:-1;;;;;;;;;;;17773:9:6;17817:6;:13;;;;;;;;;;;;17812:19;;;;;;;;17757:75;;;;;;1444:5:4;17784:47:6;;;;17757:75;;;;;;;;;;;;;17887:13;;;;;-1:-1:-1;;;17887:13:6;;;;;17882:19;;;;;;;1444:5:4;17854:47:6;;-1:-1:-1;17903:1:6;;-1:-1:-1;17846:59:6;;-1:-1:-1;17846:59:6;17660:256;17946:16;:14;:16::i;:::-;17930:13;;;;-1:-1:-1;;;17930:13:6;;;;:32;17926:182;;;17983:58;;;;;;3300:5:4;17983:58:6;;;;;;-1:-1:-1;;;;;;;;;;;17983:58:6;;;;;;;;;;-1:-1:-1;3300:5:4;;-1:-1:-1;18095:1:6;;-1:-1:-1;18055:42:6;;17926:182;18118:22;18143:97;18162:17;18181:10;18193:13;18208:9;18219;18230;18143:18;:97::i;:::-;18250:33;18286:27;;;:11;:27;;;;;18118:122;;-1:-1:-1;18327:17:6;;;;;-1:-1:-1;;;18327:17:6;;;;;:41;;;;;;;;18323:405;;;18384:47;;;18445:20;;;;:33;;;18492:23;;;:39;;;18545:19;;;:31;;;18590:19;;;:31;;;18655:13;;;;;18635:17;;;:37;;18655:13;18686:31;;;-1:-1:-1;;;18686:31:6;-1:-1:-1;;;;;;;18655:13:6;;;;;;:17;;;18635:37;;;;;;-1:-1:-1;;;;18635:37:6;;;;18686:31;;;;;;;18323:405;18737:17;;;:30;;-1:-1:-1;;;;18737:30:6;-1:-1:-1;;;18737:30:6;-1:-1:-1;;;;;;18777:32:6;-1:-1:-1;;;;;18777:32:6;;;;;;;;18824:40;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;-1:-1:-1;18901:14:6;-1:-1:-1;;17148:1775:6;;;;;;;;;;;:::o;39914:157::-;40000:4;40023:28;;;:11;:28;;;;;:41;;;;39914:157::o;2214:1816:5:-;2332:4;2326:11;2269;;2371:16;;;2326:11;2350:38;2431:6;2427:2;2422:16;2418:1;2413:3;2409:11;2401:38;2482:6;2478:2;2473:16;2469:1;2464:3;2460:11;2452:38;2533:6;2529:2;2524:16;2520:1;2515:3;2511:11;2503:38;2584:6;2580:2;2575:16;2571:1;2566:3;2562:11;2554:38;2635:6;2631:2;2626:16;2622:1;2617:3;2613:11;2605:38;2686:6;2682:2;2677:16;2673:1;2668:3;2664:11;2656:38;2737:6;2733:2;2728:16;2724:1;2719:3;2715:11;2707:38;2788:6;2784:2;2779:16;2775:1;2770:3;2766:11;2758:38;2839:6;2835:2;2830:16;2826:1;2821:3;2817:11;2809:38;2891:6;2887:2;2882:16;2877:2;2872:3;2868:12;2860:39;2943:6;2939:2;2934:16;2929:2;2924:3;2920:12;2912:39;2995:6;2991:2;2986:16;2981:2;2976:3;2972:12;2964:39;3047:6;3043:2;3038:16;3033:2;3028:3;3024:12;3016:39;3099:6;3095:2;3090:16;3085:2;3080:3;3076:12;3068:39;3151:6;3147:2;3142:16;3137:2;3132:3;3128:12;3120:39;3203:6;3199:2;3194:16;3189:2;3184:3;3180:12;3172:39;3255:6;3251:2;3246:16;3241:2;3236:3;3232:12;3224:39;3307:6;3303:2;3298:16;3293:2;3288:3;3284:12;3276:39;3359:6;3355:2;3350:16;3345:2;3340:3;3336:12;3328:39;3411:6;3407:2;3402:16;3397:2;3392:3;3388:12;3380:39;3463:6;3459:2;3454:16;3449:2;3444:3;3440:12;3432:39;3514:6;3511:1;3506:15;3501:2;3496:3;3492:12;3484:38;3565:6;3562:1;3557:15;3552:2;3547:3;3543:12;3535:38;3616:6;3613:1;3608:15;3603:2;3598:3;3594:12;3586:38;3667:6;3664:1;3659:15;3654:2;3649:3;3645:12;3637:38;3718:6;3715:1;3710:15;3705:2;3700:3;3696:12;3688:38;3769:6;3766:1;3761:15;3756:2;3751:3;3747:12;3739:38;3820:6;3817:1;3812:15;3807:2;3802:3;3798:12;3790:38;3871:6;3868:1;3863:15;3858:2;3853:3;3849:12;3841:38;3922:6;3919:1;3914:15;3909:2;3904:3;3900:12;3892:38;3973:6;3970:1;3965:15;3960:2;3955:3;3951:12;3943:38;4004:10;;2301:1723;-1:-1:-1;;2301:1723:5:o;5259:1623:6:-;5336:4;5352:13;5375:15;5400:17;5427:14;5470:25;5482:7;5491:3;5470:11;:25::i;:::-;5452:43;-1:-1:-1;5452:43:6;-1:-1:-1;5574:16:6;5571:320;;5623:25;5635:7;5644:3;5623:11;:25::i;:::-;5605:43;-1:-1:-1;5605:43:6;-1:-1:-1;5678:16:6;5670:88;;;;-1:-1:-1;;;5670:88:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5855:25;5867:7;5876:3;5855:11;:25::i;:::-;5837:43;-1:-1:-1;5837:43:6;-1:-1:-1;5571:320:6;5919:3;5908:8;:14;5900:91;;;;-1:-1:-1;;;5900:91:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6007:6;6002:207;6023:8;6019:1;:12;6002:207;;;6059:2;6052:9;;;;6113:25;6125:7;6134:3;6113:11;:25::i;:::-;6152:21;;6172:1;6152:21;;-1:-1:-1;6093:45:6;-1:-1:-1;6033:3:6;;6002:207;;;;6246:25;6258:7;6267:3;6246:11;:25::i;:::-;6227:44;-1:-1:-1;6227:44:6;-1:-1:-1;6301:2:6;6289:14;;6281:92;;;;-1:-1:-1;;;6281:92:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6388:6;6383:418;6404:9;6400:1;:13;6383:418;;;6441:1;6434:8;;;;6498:25;6510:7;6519:3;6498:11;:25::i;:::-;6478:45;-1:-1:-1;6478:45:6;-1:-1:-1;6541:24:6;6552:7;6478:45;6541:10;:24::i;:::-;6537:172;;6617:17;;;;6667:1;;-1:-1:-1;6686:8:6;;6537:172;6765:1;6758:8;;;;6787:3;6780:10;;;;;;;;;6383:418;6415:3;;6383:418;;;;6810:65;;-1:-1:-1;;;6810:65:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9431:1458;9587:12;;;9597:1;9587:12;;;;;;;;;9531;;9683:25;9695:7;9704:3;9683:11;:25::i;:::-;9718:18;;;-1:-1:-1;9662:46:6;-1:-1:-1;9800:25:6;9812:7;9718:18;9800:11;:25::i;:::-;9835:18;;;-1:-1:-1;9779:46:6;-1:-1:-1;9910:25:6;9922:7;9835:18;9910:11;:25::i;:::-;9945:18;;;-1:-1:-1;9889:46:6;-1:-1:-1;10020:25:6;10032:7;9945:18;10020:11;:25::i;:::-;10055:18;;;-1:-1:-1;9999:46:6;-1:-1:-1;10135:25:6;10147:7;10055:18;10135:11;:25::i;:::-;10114:46;-1:-1:-1;10114:46:6;-1:-1:-1;10306:1:6;10291:16;;10288:566;;;10322:22;10347:27;10361:7;10370:3;10347:13;:27::i;:::-;10388:18;;;;10322:52;-1:-1:-1;10482:25:6;10494:7;10388:18;10482:11;:25::i;:::-;10521:22;;;;;;;-1:-1:-1;10461:46:6;;-1:-1:-1;10572:59:6;;10583:7;;10521:22;;10602:27;;10597:33;;10572:10;:59::i;:::-;10557:74;;10288:566;;;;10796:41;10807:7;10816:3;10825:11;10821:3;:15;10796:10;:41::i;:::-;10781:56;;10288:566;-1:-1:-1;10870:12:6;9431:1458;-1:-1:-1;;;9431:1458:6:o;8164:862::-;8253:14;;;;;8379:34;8400:7;8253:14;8379:20;:34::i;:::-;8369:44;-1:-1:-1;8426:44:6;;;1566:6;8426:44;;;;:90;;-1:-1:-1;8474:42:6;;;1628:6;8474:42;;8426:90;8423:159;;;-1:-1:-1;498:5:6;;-1:-1:-1;8557:1:6;;-1:-1:-1;8557:1:6;;-1:-1:-1;8531:40:6;;-1:-1:-1;8531:40:6;8423:159;8597:26;8612:7;8621:1;8597:14;:26::i;:::-;8591:32;;8633:15;8651:7;8659:3;8663:1;8659:5;8651:14;;;;;;;;;;;;8682:1;8675:8;;;;;-1:-1:-1;;;;;;8651:14:6;;-1:-1:-1;;;;8758:18:6;;8755:100;;;8791:5;;;;;8755:100;8893:25;8905:7;8914:3;8893:11;:25::i;:::-;8865:53;;-1:-1:-1;8865:53:6;-1:-1:-1;;;;;;8936:26:6;;8928:91;;;;-1:-1:-1;;;8928:91:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8164:862;;;;;;;;;:::o;40927:301::-;41033:14;;40989:7;;41058:132;41103:7;41065:35;41085:14;41065:19;:35::i;:::-;:45;;;41058:132;;;41143:27;;;;:11;:27;;;;;:36;;;41058:132;;20904:918;21021:19;;20987:4;;-1:-1:-1;;;;;21021:19:6;21007:10;:33;21003:186;;21061:65;;;;;;2583:5:4;21061:65:6;;;;;;-1:-1:-1;;;;;;;;;;;21061:65:6;;;;;;;;;;-1:-1:-1;2583:5:4;21140:38:6;;21003:186;21198:33;21234:28;;;:11;:28;;;;;21297:10;21276:17;;;;;-1:-1:-1;;;21276:17:6;;;;;:31;;;;;;;;;:71;;;;-1:-1:-1;21332:15:6;21311:17;;;;;-1:-1:-1;;;21311:17:6;;;;;:36;;;;;;;;;21276:71;21272:212;;;21368:59;;;;;;939:5:4;21368:59:6;;;;;;-1:-1:-1;;;;;;;;;;;21368:59:6;;;;;;;;;;939:5:4;21441:32:6;;;;;21272:212;21496:20;;;;-1:-1:-1;;;;;21496:35:6;;;:20;;:35;21493:180;;;21551:62;;;;;;1748:5:4;21551:62:6;;;;;;-1:-1:-1;;;;;;;;;;;21551:62:6;;;;;;;;;;1748:5:4;21627:35:6;;;;;21493:180;21682:17;;;:35;;-1:-1:-1;;;;21682:35:6;-1:-1:-1;;;21682:35:6;;;21732:49;;;;;;-1:-1:-1;;;;;21732:49:6;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;20904:918:6;-1:-1:-1;;;20904:918:6:o;7064:851::-;7152:14;;;;7263:34;7284:7;7152:14;7263:20;:34::i;:::-;7253:44;-1:-1:-1;7310:45:6;;;640:6;7310:45;7307:117;;-1:-1:-1;498:5:6;;-1:-1:-1;7370:43:6;;-1:-1:-1;7370:43:6;7307:117;7439:26;7454:7;7463:1;7439:14;:26::i;:::-;7482:1;7475:8;;-1:-1:-1;7624:66:6;7739:159;7779:105;7821:27;7835:7;7475:8;7821:13;:27::i;:::-;7850:16;7779:20;:105::i;:::-;7739:22;:159::i;:::-;7700:208;;7064:851;;;;;;;:::o;30382:1147::-;30679:4;30695:11;30709:129;30725:19;30746:18;30766:21;30789:15;30806:8;30816;30826:11;30709:15;:129::i;:::-;30695:143;-1:-1:-1;30852:11:6;;30848:558;;30879:23;30916:8;30964:21;30976:8;30964:11;:21::i;:::-;30938:47;-1:-1:-1;30938:47:6;-1:-1:-1;31002:8:6;;30999:116;;31034:38;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;31034:38:6;;;;;;;;;;31097:3;-1:-1:-1;31090:10:6;;-1:-1:-1;;31090:10:6;30999:116;31298:19;;:75;;;-1:-1:-1;;;31298:75:6;;;;;;;;;31362:10;31298:75;;;;;;-1:-1:-1;;;;;31298:19:6;;;;:45;;:75;;;;;:19;;:75;;;;;;;;:19;;:75;;;5:2:-1;;;;30:1;27;20:12;5:2;31298:75:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;31298:75:6;;;;31394:1;31387:8;;;;;;;30848:558;31420:58;;;4131:5:4;31420:58:6;;;;;;;;;;;;;-1:-1:-1;4131:5:4;;30382:1147:6;-1:-1:-1;;;;;;;;30382:1147:6:o;40311:142::-;40386:6;40411:28;;;:11;:28;;;;;:35;;;-1:-1:-1;;;40411:35:6;;;;;40311:142::o;4426:946:5:-;4582:16;;4548:4;;;4624:94;4640:6;4636:1;:10;4624:94;;;4682:25;4694:9;4704:1;4694:12;;;;;;;;;;;;;;4682:11;:25::i;:::-;4667:9;4677:1;4667:12;;;;;;;;;;;;;;;;;:40;4648:3;;4624:94;;;-1:-1:-1;4732:1:5;;4761:20;4773:7;4761:11;:20::i;:::-;4743:38;;4800:525;4811:6;4807:1;:10;4800:525;;;4833:13;4849:9;4859:1;4849:12;;;;;;;;;;;;;;4833:28;;4876:9;4899:10;4938:1;4927:8;:12;;;;;;4943:1;4927:17;4923:248;;;-1:-1:-1;5022:8:5;;-1:-1:-1;5056:10:5;4923:248;;;-1:-1:-1;5112:10:5;;-1:-1:-1;5148:8:5;4923:248;5202:63;5226:37;5250:4;5256:5;5233:29;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5233:29:5;;;5226:37;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5226:37:5;;;;;;;-1:-1:-1;263:2;;-1:-1;;5226:37:5;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5226:37:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5226:37:5;5209:55;;;5226:37;5209:55;;;;;;;;;26:21:-1;;;22:32;;6:49;;5209:55:5;;;;;;;5202:63;;5209:55;;;;5202:63;;;;;5209:55;5202:63;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5202:63:5;;;;;;;-1:-1:-1;263:2;;-1:-1;;5202:63:5;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5202:63:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5202:63:5;;-1:-1:-1;5293:1:5;5281:13;;;;5313:1;5308:6;;;;4800:525;;;;;;5342:23;5354:10;5342:11;:23::i;1135:259::-;1240:14;;1270:118;1301:1;1294:4;:8;1290:1;:12;1270:118;;;1371:1;1375;1371:5;1365:1;:12;1347:4;1358:1;1352:3;:7;1347:13;;;;;;;;;;;;;;1333:44;1323:54;;;;;1304:3;;1270:118;;31768:823:6;31856:4;;;;;;;;;;;;;32115:34;32136:7;31856:4;32115:20;:34::i;:::-;32105:44;-1:-1:-1;32162:57:6;;;575:6;32162:57;32159:181;;-1:-1:-1;498:5:6;;-1:-1:-1;32260:12:6;;-1:-1:-1;32274:18:6;;-1:-1:-1;32294:9:6;;-1:-1:-1;32305:9:6;;-1:-1:-1;32316:12:6;;-1:-1:-1;32234:95:6;;-1:-1:-1;32234:95:6;32159:181;32355:26;32370:7;32379:1;32355:14;:26::i;:::-;32349:32;;32464:30;32481:7;32490:3;32464:16;:30::i;:::-;32391:103;;;;;;;;;;;;;;;;;;;;32512:1;32515:12;32529:18;32549:9;32560;32571:12;32504:80;;;;;;;;;;;;;;;;;;;;;;31768:823;;;;;;;;:::o;15318:1177::-;15563:14;;15530:4;;;;15563:19;15555:28;;;;;;15601:14;;15593:23;;;;;;15627:22;15652:97;15671:17;15690:10;15702:13;15717:9;15728;15739;15652:18;:97::i;:::-;15759:33;15795:27;;;:11;:27;;;;;15627:122;;-1:-1:-1;15841:17:6;;;;;-1:-1:-1;;;15841:17:6;;;;;:41;;;;;;;;15833:50;;;;;;15894:47;;;15951:20;;;:33;;;15994:23;;;:39;;;16043:19;;;:31;;;16084:19;;;:31;;;16125:20;;;:33;;-1:-1:-1;;;16148:10:6;-1:-1:-1;;;;;;16125:33:6;;;;;-1:-1:-1;;;;16168:21:6;;-1:-1:-1;;;;16199:31:6;-1:-1:-1;;;16168:21:6;16199:31;;;;-1:-1:-1;;;;16240:35:6;-1:-1:-1;;;16240:35:6;;;;16291:41;;;;;;;;;;;;;;;;;;;;;;;;;16343:14;:31;;;16389:46;;;;;;16424:10;16389:46;;;;;;;;;;;;;;;;;-1:-1:-1;837:1:4;;16473:14:6;;-1:-1:-1;15318:1177:6;-1:-1:-1;;;;;;;15318:1177:6:o;38556:99::-;38634:14;;38556:99;:::o;1936:411::-;1024:12:16;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:16;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;1016:106:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:16;;;;;1225:18;1213:4;1225:18;;;1170:80;2048:19:6;;-1:-1:-1;;;;;2048:19:6;2040:42;:80;;;;-1:-1:-1;;;;;;2086:34:6;;;;2040:80;2032:89;;;;;;2131:19;:71;;-1:-1:-1;;;;;;2131:71:6;-1:-1:-1;;;;;2131:71:6;;;;;;;;;;2229:19;;;2221:42;:73;;;;-1:-1:-1;;;;;;2267:27:6;;;;2221:73;2213:82;;;;;;2305:19;:35;;-1:-1:-1;;;;;;2305:35:6;-1:-1:-1;;;;;2305:35:6;;;;;1264:55:16;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:16;;;1264:55;1936:411:6;;;:::o;13489:763::-;13614:12;13642:43;13688:33;:24;:12;:22;:24::i;:::-;:31;:33::i;:::-;13642:79;;13731:35;13769:28;:16;13786:1;13769:19;;;;;;;;;;;;;;:26;:28::i;:::-;13731:66;-1:-1:-1;13812:9:6;13807:404;13831:8;:15;13827:1;:19;13807:404;;;13867:30;13900:20;:8;13909:1;13900:11;;;;;;;:20;13867:53;;13934:21;13958:16;:3;13962:1;13958:6;;;;;;;;;;;;;;:14;:16::i;:::-;13934:40;;13988:13;14004:27;14019:8;14029:1;14004:14;:27::i;:::-;13988:43;;14092:13;14083:5;:22;14079:122;;;14170:16;:3;14174:1;14170:6;;;;;;;:16;14163:23;;;;;;;;;;14079:122;-1:-1:-1;;;13848:3:6;;13807:404;;;-1:-1:-1;14220:25:6;;;-1:-1:-1;;;14220:25:6;;;;;;;;;;;;-1:-1:-1;;;14220:25:6;;;;;;;;;;;;;;3030:257;3104:13;3260:5;3266:3;3260:10;;;;;;;;;;;;;;;;3254:17;;3247:25;;3274:5;3247:33;3220:5;3226:3;3232:1;3226:7;3220:14;;;;;;;;;;;;;;;;3214:21;;3207:29;;3238:5;3207:37;3181:5;3187:3;3193:1;3187:7;3181:14;;;;;;;;;;;;;;;;3175:21;;3168:29;;3199:4;3168:36;3151:5;3157:3;3161:1;3157:5;3151:12;;;;;;;;;;;;;;3138:66;:106;:142;;3030:257;-1:-1:-1;;;3030:257:6:o;24688:794::-;24978:4;25174:28;;;:11;:28;;;;;:45;25068:89;25082:31;25093:19;25082:10;:31::i;:::-;25115:18;25135:21;25068:13;:89::i;:::-;25060:159;25056:324;;25290:57;;;25316:1;25290:57;;4002:5:4;25290:57:6;;;;;;-1:-1:-1;;;;;;;;;;;25290:57:6;;;;;;;;;;-1:-1:-1;25368:1:6;25361:8;;25056:324;25396:79;25405:8;25415;25425:11;25438:19;25459:15;25396:8;:79::i;:::-;25389:86;24688:794;-1:-1:-1;;;;;;;;24688:794:6:o;4788:244::-;4950:26;4967:2;4950:26;4944:33;;4788:244::o;2413:188::-;2568:12;;2488:4;;-1:-1:-1;;;2584:10:6;2568:7;;2576:3;;2568:12;;;;;;;;;;-1:-1:-1;;;;;;2568:12:6;:26;;-1:-1:-1;2413:188:6;;;;:::o;3393:1330::-;3498:4;3504:7;3513:6;3521:5;3528:7;3551:16;3577:26;3613:20;3643:17;3670:15;3695:8;3745:23;3755:7;3764:3;3745:9;:23::i;:::-;3733:35;-1:-1:-1;3733:35:6;-1:-1:-1;3833:4:6;3827:10;;;;3819:19;;;;;;3860:27;3874:7;3883:3;3860:13;:27::i;:::-;3848:39;;3904:2;3897:9;;;;;;3946:23;3956:7;3965:3;3946:9;:23::i;:::-;3934:35;-1:-1:-1;3934:35:6;-1:-1:-1;3993:4:6;3987:10;;;;3979:19;;;;;;4023:27;4037:7;4046:3;4023:13;:27::i;:::-;4008:42;;;;4067:2;4060:9;;;;;;4123:23;4133:7;4142:3;4123:9;:23::i;:::-;4111:35;-1:-1:-1;4111:35:6;-1:-1:-1;4230:4:6;4224:10;;;;4216:19;;;;;;4266:33;4286:7;4295:3;4266:19;:33::i;:::-;4245:54;;4316:2;4309:9;;;;;;4361:23;4371:7;4380:3;4361:9;:23::i;:::-;4349:35;-1:-1:-1;4349:35:6;-1:-1:-1;4408:4:6;4402:10;;;;4394:19;;;;;;4441:7;4449:3;4441:12;;;;;;;;;;;;4435:19;4464:9;;;;;;;4441:12;;;-1:-1:-1;4519:23:6;4529:7;4464:9;4519;:23::i;:::-;4507:35;-1:-1:-1;4507:35:6;-1:-1:-1;4566:4:6;4560:10;;;;4552:19;;;;;;4596:33;4616:7;4625:3;4596:19;:33::i;:::-;4647:12;;4661:18;;-1:-1:-1;4681:9:6;;-1:-1:-1;4681:9:6;-1:-1:-1;4647:12:6;-1:-1:-1;3393:1330:6;;-1:-1:-1;;;;;3393:1330:6:o;1409:467:16:-;1842:7;1830:20;1864:7;1409:467;:::o;1446:218:24:-;1507:14;;:::i;:::-;-1:-1:-1;1629:28:24;;;;;;;;;1637:11;;1629:28;;1597:4;1587:15;;;1629:28;;;;1446:218;;;:::o;2443:508::-;2503:16;2539:12;2546:4;2539:6;:12::i;:::-;2531:21;;;;;;2563:10;2576:14;2585:4;2576:8;:14::i;:::-;2563:27;;2600:23;2640:5;2626:20;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2600:46;;2657:11;2685:27;2700:4;:11;;;2685:14;:27::i;:::-;2671:11;;;;:41;;-1:-1:-1;2722:12:24;;2744:177;2765:5;2761:1;:9;2744:177;;;2801:19;2813:6;2801:11;:19::i;:::-;2791:29;;2846:24;;;;;;;;2854:7;2846:24;;;;2863:6;2846:24;;;2834:6;2841:1;2834:9;;;;;;;;;;;;;;;;;:36;2894:16;;;;2772:3;;2744:177;;;-1:-1:-1;2938:6:24;;2443:508;-1:-1:-1;;;;;2443:508:24:o;5222:431::-;5315:8;;5283:12;;5307:21;;;;;;5339:11;5353:27;5368:4;:11;;;5353:14;:27::i;:::-;5401:8;;5465:14;;;5401:17;;;;5465:14;;;-1:-1:-1;;5465:14:24;;;;;;;;;;;5339:41;;-1:-1:-1;5443:19:24;;5401:17;5465:14;;;;;;;21:6:-1;;104:10;5465:14:24;87:34:-1;135:17;;-1:-1;5465:14:24;;5443:36;;5490:12;5556:6;5550:4;5546:17;5535:28;;5583:40;5602:6;5588:4;:11;;;:20;5610:7;5619:3;5583:4;:40::i;:::-;-1:-1:-1;5640:6:24;5222:431;-1:-1:-1;;;;5222:431:24:o;34251:666:6:-;34456:4;34472:11;34486:20;34497:8;34486:10;:20::i;:::-;34472:34;;34521:8;:15;34540:2;34521:21;34517:163;;;34598:49;;;;;;3948:5:4;34598:49:6;;;;;;-1:-1:-1;;;;;;;;;;;34598:49:6;;;;;;;;;;34668:1;34661:8;;;;;34517:163;34694:85;34711:6;34719:8;34729:9;34740:19;34761:17;34694:16;:85::i;:::-;34783:1;34694:90;34690:221;;;34807:6;-1:-1:-1;34800:13:6;;34690:221;-1:-1:-1;34899:1:6;;34251:666;-1:-1:-1;;;;;;34251:666:6:o;5074:179::-;5147:5;5154:4;5184:7;:14;5178:3;:20;5170:29;;;;;;5223:7;5231:3;5223:12;;;;;;;;;;;;;;;-1:-1:-1;;5244:1:6;5238:7;;5074:179;;;;;:::o;3055:330:24:-;3135:8;;3115:4;;3131:31;;-1:-1:-1;3157:5:24;3150:12;;3131:31;3208:11;;;;3269:13;;3173:11;3261:22;;279:4;3307:24;;3303:54;;;3352:5;3345:12;;;;;;3303:54;-1:-1:-1;3374:4:24;;3055:330;-1:-1:-1;;;3055:330:24:o;5759:410::-;5840:8;;5820:4;;5836:27;;-1:-1:-1;5862:1:24;5855:8;;5836:27;5874:10;5887:1;5874:14;;5898:12;5927:27;5942:4;:11;;;5927:14;:27::i;:::-;5913:11;;;;5992:8;;5913:41;;;;-1:-1:-1;5978:22:24;6010:130;6027:6;6017:7;:16;6010:130;;;6068:20;6080:7;6068:11;:20::i;:::-;6122:7;;;;;6058:30;;;;6010:130;;;-1:-1:-1;6157:5:24;;5759:410;-1:-1:-1;;;5759:410:24:o;7558:538::-;7693:13;;7617:4;;7685:22;;187:4;7731:26;;7727:362;;;7779:1;7772:8;;;;;7727:362;233:4;7799:25;;;:83;;-1:-1:-1;279:4:24;7829:25;;;;;:52;;-1:-1:-1;325:4:24;7858:23;;7829:52;7795:294;;;7903:1;7896:8;;;;;7795:294;279:4;7923:24;;7919:170;;;-1:-1:-1;;7987:35:24;;-1:-1:-1;7980:42:24;;7919:170;-1:-1:-1;;8056:33:24;;-1:-1:-1;8049:40:24;;6218:1288;6372:13;;6274:4;;;;6364:22;;187:4;6410:26;;6406:1069;;;6460:1;6450:11;;6406:1069;;;233:4;6489:25;;6485:990;;;-1:-1:-1;;6538:30:24;;;-1:-1:-1;6485:990:24;;;279:4;6588:24;;6584:891;;;6681:4;6674:5;6670:16;6760:1;6752:6;6748:14;6738:24;;6915:7;6911:2;6907:16;6902:3;6898:26;6889:6;6883:13;6879:46;7012:1;7003:7;6999:15;6990:7;6986:29;6975:40;;6637:392;;;;;325:4;7058:23;;7054:421;;;-1:-1:-1;;7107:28:24;;;-1:-1:-1;7054:421:24;;;7229:4;7222:5;7218:16;7273:1;7265:6;7261:14;7251:24;;7344:7;7340:2;7336:16;7331:3;7327:26;7318:6;7312:13;7308:46;7448:1;7439:7;7435:15;7426:7;7422:29;7411:40;;7185:280;;;-1:-1:-1;7492:7:24;6218:1288;-1:-1:-1;;6218:1288:24:o;8250:697::-;8322:8;8318:21;;8332:7;;8318:21;8396:194;362:2;8403:16;;8396:194;;8493:10;;8480:24;;362:2;8532:16;;;;8562:17;;;;-1:-1:-1;;8421:16:24;8396:194;;;8772:10;;8843:11;;362:2;8700:15;;;;8692:3;:24;-1:-1:-1;;8692:28:24;8784:9;;8768:26;;;8839:22;;8909:21;;;;8896:35;;8739:202::o;36764:676:6:-;36969:4;36991:29;37002:17;36991:10;:29::i;:::-;36986:144;;37041:46;;;;;;3822:5:4;37041:46:6;;;;;;-1:-1:-1;;;;;;;;;;;37041:46:6;;;;;;;;;;-1:-1:-1;3822:5:4;37101:18:6;;36986:144;37173:11;37187:38;37207:17;37187:19;:38::i;:::-;37173:52;;37286:6;37239:43;37253:7;37262:8;37272:9;37239:13;:43::i;:::-;:53;37235:179;;37313:52;;;;;;3907:5:4;37313:52:6;;;;;;-1:-1:-1;;;;;;;;;;;37313:52:6;;;;;;;;;;3907:5:4;37379:24:6;;;;;37235:179;-1:-1:-1;37431:1:6;;36764:676;-1:-1:-1;;;;;;36764:676:6:o;40459:154::-;40526:4;40590:15;40550:36;40570:15;40550:19;:36::i;:::-;:55;;;;;;;;;;40459:154;-1:-1:-1;;40459:154:6:o;350:40880::-;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.5.13;\n\nimport './interfaces/SyscoinSuperblocksI.sol';\nimport \"./SyscoinErrorCodes.sol\";\nimport \"./SyscoinTransactionProcessor.sol\";\nimport \"@openzeppelin/upgrades/contracts/Initializable.sol\";\nimport \"./SyscoinParser/SyscoinMessageLibrary.sol\";\n\n// @dev - Manages superblocks\n//\n// Management of superblocks and status transitions\ncontract SyscoinSuperblocks is Initializable, SyscoinSuperblocksI, SyscoinErrorCodes, SyscoinMessageLibrary {\n\n uint constant ERR_PARSE_TX_SYS = 10170;\n\n uint32 constant SYSCOIN_TX_VERSION_ALLOCATION_BURN_TO_ETHEREUM = 0x7407;\n uint32 constant SYSCOIN_TX_VERSION_ALLOCATION_MINT = 0x7406;\n \n // Mapping superblock id => superblock data\n mapping (bytes32 => SuperblockInfo) internal superblocks;\n\n bytes32 internal bestSuperblock;\n\n SyscoinTransactionProcessor public syscoinERC20Manager;\n\n event NewSuperblock(bytes32 superblockHash, address who);\n event ApprovedSuperblock(bytes32 superblockHash, address who);\n event ChallengeSuperblock(bytes32 superblockHash, address who);\n event SemiApprovedSuperblock(bytes32 superblockHash, address who);\n event InvalidSuperblock(bytes32 superblockHash, address who);\n\n event ErrorSuperblock(bytes32 superblockHash, uint err);\n\n event VerifyTransaction(bytes32 txHash, uint returnCode);\n event RelayTransaction(bytes32 txHash, uint returnCode);\n event ChallengeCancelTransferRequest(uint returnCode);\n // SyscoinClaimManager\n address public trustedClaimManager;\n\n uint32 constant SYSCOIN_TX_VERSION_ASSET_ACTIVATE = 0x7402;\n uint32 constant SYSCOIN_TX_VERSION_ASSET_UPDATE = 0x7403;\n modifier onlyClaimManager() {\n require(msg.sender == trustedClaimManager);\n _;\n }\n\n // @param _syscoinERC20Manager - address of the SyscoinERC20Manager contract to be associated with\n // @param _claimManager - address of the ClaimManager contract to be associated with\n function init(address _syscoinERC20Manager, address _claimManager) public initializer {\n require(address(syscoinERC20Manager) == address(0) && _syscoinERC20Manager != address(0));\n syscoinERC20Manager = SyscoinTransactionProcessor(_syscoinERC20Manager);\n\n require(address(trustedClaimManager) == address(0) && _claimManager != address(0));\n trustedClaimManager = _claimManager;\n }\n\n // Returns true if the tx output is an OP_RETURN output\n function isOpReturn(bytes memory txBytes, uint pos) internal pure returns (bool) {\n // scriptPub format is\n // 0x6a OP_RETURN\n return txBytes[pos] == byte(0x6a);\n }\n\n function bytesToUint64(bytes memory input, uint pos) public pure returns (uint64 result) {\n result = uint64(uint8(input[pos+7])) + uint64(uint8(input[pos + 6]))*(2**8) + uint64(uint8(input[pos + 5]))*(2**16) + uint64(uint8(input[pos + 4]))*(2**24) + uint64(uint8(input[pos + 3]))*(2**32) + uint64(uint8(input[pos + 2]))*(2**40) + uint64(uint8(input[pos + 1]))*(2**48) + uint64(uint8(input[pos]))*(2**56);\n }\n\n function bytesToUint32(bytes memory input, uint pos) public pure returns (uint32 result) {\n result = uint32(uint8(input[pos+3])) + uint32(uint8(input[pos + 2]))*(2**8) + uint32(uint8(input[pos + 1]))*(2**16) + uint32(uint8(input[pos]))*(2**24);\n }\n\n // Returns asset data parsed from the op_return data output from syscoin asset burn transaction\n function scanAssetDetails(bytes memory txBytes, uint pos)\n internal\n pure\n returns (uint, address, uint32, uint8, address)\n {\n uint32 assetGUID;\n address destinationAddress;\n address erc20Address;\n uint output_value;\n uint8 precision;\n uint8 op;\n // vchAsset\n (op, pos) = getOpcode(txBytes, pos);\n // guid length should be 4 bytes\n require(op == 0x04);\n assetGUID = bytesToUint32(txBytes, pos);\n pos += op;\n // amount\n (op, pos) = getOpcode(txBytes, pos);\n require(op == 0x08);\n output_value = bytesToUint64(txBytes, pos);\n pos += op;\n // destination address\n (op, pos) = getOpcode(txBytes, pos);\n // ethereum contracts are 20 bytes (without the 0x)\n require(op == 0x14);\n destinationAddress = readEthereumAddress(txBytes, pos);\n pos += op;\n // precision\n (op, pos) = getOpcode(txBytes, pos);\n require(op == 0x01);\n precision = uint8(txBytes[pos]);\n pos += op;\n // erc20Address\n (op, pos) = getOpcode(txBytes, pos);\n require(op == 0x14);\n erc20Address = readEthereumAddress(txBytes, pos);\n return (output_value, destinationAddress, assetGUID, precision, erc20Address);\n }\n\n // Read the ethereum address embedded in the tx output\n function readEthereumAddress(bytes memory txBytes, uint pos) internal pure returns (address) {\n uint256 data;\n assembly {\n data := mload(add(add(txBytes, 20), pos))\n }\n return address(uint160(data));\n }\n\n // Read next opcode from script\n function getOpcode(bytes memory txBytes, uint pos) private pure returns (uint8, uint) {\n require(pos < txBytes.length);\n return (uint8(txBytes[pos]), pos + 1);\n }\n\n function getOpReturnPos(bytes memory txBytes, uint pos) public pure returns (uint) {\n uint n_inputs;\n uint script_len;\n uint output_value;\n uint n_outputs;\n\n (n_inputs, pos) = parseVarInt(txBytes, pos);\n // if dummy 0x00 is present this is a witness transaction\n if(n_inputs == 0x00){\n (n_inputs, pos) = parseVarInt(txBytes, pos); // flag\n require(n_inputs != 0x00, \"#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag\");\n // after dummy/flag the real var int comes for txins\n (n_inputs, pos) = parseVarInt(txBytes, pos);\n }\n require(n_inputs < 100, \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs\");\n\n for (uint i = 0; i < n_inputs; i++) {\n pos += 36; // skip outpoint\n (script_len, pos) = parseVarInt(txBytes, pos);\n pos += script_len + 4; // skip sig_script, seq\n }\n \n (n_outputs, pos) = parseVarInt(txBytes, pos);\n require(n_outputs < 10, \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_outputs\");\n for (uint i = 0; i < n_outputs; i++) {\n pos += 8;\n // varint\n (script_len, pos) = parseVarInt(txBytes, pos);\n if(!isOpReturn(txBytes, pos)){\n // output script\n pos += script_len;\n output_value = 0;\n continue;\n }\n // skip opreturn marker\n pos += 1;\n return pos;\n }\n revert(\"#SyscoinSuperblocks getOpReturnPos(): No OpReturn found\");\n }\n\n /**\n * @dev Parse syscoin mint transaction to recover bridgeTransferId\n * @param txBytes syscoin raw transaction\n * @return errorCode, bridgeTransferId\n */\n function parseMintTx(bytes memory txBytes)\n public\n view\n returns (uint errorCode, uint32 bridgeTransferId)\n {\n uint32 version;\n uint pos = 0;\n version = bytesToUint32Flipped(txBytes, pos);\n if(version != SYSCOIN_TX_VERSION_ALLOCATION_MINT){\n return (ERR_PARSE_TX_SYS, bridgeTransferId);\n }\n pos = getOpReturnPos(txBytes, 4);\n pos += 3; // skip pushdata2 + 2 bytes for opreturn varint\n\n // SHA3 of TokenFreeze(address,uint256,uint32)\n bytes32 tokenFreezeTopic = 0xaabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d;\n bridgeTransferId = uint32(\n getBridgeTransactionId(\n getLogValuesForTopic(\n getEthReceipt(txBytes, pos), tokenFreezeTopic\n )\n )\n );\n }\n\n\n /** @dev Parse syscoin asset transaction to recover asset guid and contract, for purposes of updating asset registry in erc20manager\n * @param txBytes syscoin raw transaction\n * @return errorCode, assetGuid, erc20Address\n */\n function parseAssetTx(bytes memory txBytes)\n public\n view\n returns (uint errorCode, uint32 assetGuid, address erc20Address)\n {\n uint32 version;\n uint pos = 0;\n version = bytesToUint32Flipped(txBytes, pos);\n if(version != SYSCOIN_TX_VERSION_ASSET_ACTIVATE && version != SYSCOIN_TX_VERSION_ASSET_UPDATE){\n return (ERR_PARSE_TX_SYS, 0, address(0));\n }\n pos = getOpReturnPos(txBytes, 4);\n byte pushDataOp = txBytes[pos+1];\n pos += 2; // we will have to skip pushdata op as well as atleast 1 byte\n if(pushDataOp == 0x4d){\n pos++; // skip pushdata2 + 2 bytes for opreturn varint\n }\n\n (assetGuid, erc20Address) = scanAssetTx(txBytes, pos);\n require(erc20Address != address(0),\n \"parseAssetTx(): erc20Address cannot be empty\");\n }\n\n function bytesToUint16(bytes memory input, uint pos) public pure returns (uint16 result) {\n result = uint16(uint8(input[pos+1])) + uint16(uint8(input[pos]))*(2**8);\n }\n\n /**\n * Parse txBytes and returns ethereum tx receipt\n * @param txBytes syscoin raw transaction\n * @param pos position at where to start parsing\n * @return ethTxReceipt ethereum tx receipt\n */\n function getEthReceipt(bytes memory txBytes, uint pos)\n public\n view\n returns (bytes memory)\n {\n bytes memory ethTxReceipt = new bytes(0);\n uint bytesToRead;\n // skip vchTxValue\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += bytesToRead;\n // skip vchTxParentNodes\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += bytesToRead;\n // skip vchTxRoot\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += bytesToRead;\n // skip vchTxPath\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += bytesToRead;\n // get vchReceiptValue\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n // if position is encoded in receipt value, decode position and read the value from next field (parent nodes)\n if(bytesToRead == 2){\n uint16 positionOfValue = bytesToUint16(txBytes, pos);\n pos += bytesToRead;\n // get vchReceiptParentNodes\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += positionOfValue;\n ethTxReceipt = sliceArray(txBytes, pos, pos+(bytesToRead-positionOfValue));\n }\n // size > 2 means receipt value is fully serialized in this field and no need to get parent nodes field\n else{\n ethTxReceipt = sliceArray(txBytes, pos, pos+bytesToRead); \n }\n return ethTxReceipt;\n }\n\n /**\n * Parse txBytes and returns assetguid + contract address\n * @param txBytes syscoin raw transaction\n * @param pos position at where to start parsing\n * @return asset guid (uint32) and erc20 address linked to the asset guid to update registry in erc20manager\n */\n function scanAssetTx(bytes memory txBytes, uint pos)\n public\n view\n returns (uint32, address)\n {\n uint32 assetGUID;\n address erc20Address;\n uint bytesToRead;\n // skip vchPubData\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += bytesToRead;\n // skip txHash\n pos += 32;\n // get nAsset\n assetGUID = bytesToUint32Flipped(txBytes, pos);\n pos += 4;\n // skip strSymbol\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += bytesToRead;\n // skip witnessAddress.nVersion\n pos += 1;\n // skip witnessAddress.vchWitnessProgram\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += bytesToRead;\n // skip witnessAddressTransfer.nVersion\n pos += 1;\n // skip witnessAddressTransfer.vchWitnessProgram\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n pos += bytesToRead;\n // skip nBalance\n pos += 8;\n // skip nTotalSupply\n pos += 8;\n // skip nMaxSupply\n pos += 8;\n // skip nHeight\n pos += 4;\n // skip nUpdateFlags\n pos += 1;\n // skip nPrecision\n pos += 1;\n // get vchContract\n (bytesToRead, pos) = parseVarInt(txBytes, pos);\n require(bytesToRead == 0x14,\n \"scanAssetTx(): Invalid number of bytes read for contract field\");\n erc20Address = readEthereumAddress(txBytes, pos);\n return (assetGUID, erc20Address);\n }\n\n // @dev converts bytes of any length to bytes32.\n // If `_rawBytes` is longer than 32 bytes, it truncates to the 32 leftmost bytes.\n // If it is shorter, it pads with 0s on the left.\n // Should be private, made internal for testing\n //\n // @param _rawBytes - arbitrary length bytes\n // @return - leftmost 32 or less bytes of input value; padded if less than 32\n function bytesToBytes32(bytes memory _rawBytes, uint pos) public pure returns (bytes32) {\n bytes32 out;\n assembly {\n out := mload(add(add(_rawBytes, 0x20), pos))\n }\n return out;\n }\n\n /**\n * Return logs for given ethereum transaction receipt\n * @param ethTxReceipt ethereum transaction receipt\n * @return logs bloom\n */\n function getLogValuesForTopic(bytes memory ethTxReceipt, bytes32 expectedTopic)\n public\n pure\n returns (bytes memory)\n {\n RLPReader.RLPItem[] memory ethTxReceiptList = ethTxReceipt.toRlpItem().toList();\n RLPReader.RLPItem[] memory logsList = ethTxReceiptList[3].toList();\n for (uint256 i = 0; i < logsList.length; i++) {\n RLPReader.RLPItem[] memory log = logsList[i].toList();\n bytes memory rawTopic = log[1].toBytes();\n bytes32 topic = bytesToBytes32(rawTopic, 1); // need to remove first byte \"a0\"\n if (topic == expectedTopic) {\n // data for given log\n return log[2].toBytes();\n }\n }\n revert(\"Topic not found\");\n }\n\n /**\n * Get bridgeTransactionId from logs bloom\n * @param logValues log values\n * @return bridgeTransactionId\n */\n function getBridgeTransactionId(bytes memory logValues) public pure returns (uint256 value) {\n uint8 index = 3; // log's third value\n assembly {\n value := mload(add(logValues, mul(32, index)))\n }\n }\n\n // @dev - Initializes superblocks contract\n //\n // Initializes the superblock contract. It can only be called once.\n //\n // @param _blocksMerkleRoot Root of the merkle tree of blocks contained in a superblock\n // @param _timestamp Timestamp of the last block in the superblock\n // @param _mtpTimestamp Median Timestamp of the last block in the superblock\n // @param _lastHash Hash of the last block in the superblock\n // @param _lastBits Difficulty bits of the last block in the superblock bits\n // @param _parentId Id of the parent superblock\n // @param _blockHeight Block height of last block in superblock\n // @return Error code and superblockHash\n function initialize(\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentId\n ) external returns (uint, bytes32) {\n require(bestSuperblock == 0);\n require(_parentId == 0);\n\n bytes32 superblockHash = calcSuperblockHash(_blocksMerkleRoot, _timestamp, _mtpTimestamp, _lastHash, _lastBits, _parentId);\n SuperblockInfo storage superblock = superblocks[superblockHash];\n\n require(superblock.status == Status.Uninitialized);\n\n superblock.blocksMerkleRoot = _blocksMerkleRoot;\n superblock.timestamp = _timestamp;\n superblock.mtpTimestamp = _mtpTimestamp;\n superblock.lastHash = _lastHash;\n superblock.parentId = _parentId;\n superblock.submitter = msg.sender;\n superblock.height = 1;\n superblock.lastBits = _lastBits;\n superblock.status = Status.Approved;\n\n emit NewSuperblock(superblockHash, msg.sender);\n\n bestSuperblock = superblockHash;\n emit ApprovedSuperblock(superblockHash, msg.sender);\n\n return (ERR_SUPERBLOCK_OK, superblockHash);\n }\n\n // @dev - Proposes a new superblock\n //\n // To be accepted, a new superblock needs to have its parent\n // either approved or semi-approved.\n //\n // @param _blocksMerkleRoot Root of the merkle tree of blocks contained in a superblock\n // @param _timestamp Timestamp of the last block in the superblock\n // @param _mtpTimestamp Median Timestamp of the last block in the superblock\n // @param _lastHash Hash of the last block in the superblock\n // @param _lastBits Difficulty bits of the last block in the superblock bits\n // @param _parentId Id of the parent superblock\n // @return Error code and superblockHash\n function propose(\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentId,\n address submitter\n ) external returns (uint, bytes32) {\n if (msg.sender != trustedClaimManager) {\n emit ErrorSuperblock(0, ERR_SUPERBLOCK_NOT_CLAIMMANAGER);\n return (ERR_SUPERBLOCK_NOT_CLAIMMANAGER, 0);\n }\n\n SuperblockInfo storage parent = superblocks[_parentId];\n if (parent.status != Status.SemiApproved && parent.status != Status.Approved) {\n emit ErrorSuperblock(_parentId, ERR_SUPERBLOCK_BAD_PARENT + uint(parent.status));\n return (ERR_SUPERBLOCK_BAD_PARENT + uint(parent.status), 0);\n }\n\n if (parent.height < getChainHeight()) {\n emit ErrorSuperblock(_parentId, ERR_SUPERBLOCK_BAD_BLOCKHEIGHT);\n return (ERR_SUPERBLOCK_BAD_BLOCKHEIGHT, 0);\n }\n\n bytes32 superblockHash = calcSuperblockHash(_blocksMerkleRoot, _timestamp, _mtpTimestamp, _lastHash, _lastBits, _parentId);\n SuperblockInfo storage superblock = superblocks[superblockHash];\n if (superblock.status == Status.Uninitialized) {\n superblock.blocksMerkleRoot = _blocksMerkleRoot;\n superblock.timestamp = _timestamp;\n superblock.mtpTimestamp = _mtpTimestamp;\n superblock.lastHash = _lastHash;\n superblock.parentId = _parentId;\n superblock.height = parent.height + 1;\n superblock.lastBits = _lastBits;\n }\n superblock.status = Status.New;\n superblock.submitter = submitter;\n emit NewSuperblock(superblockHash, submitter);\n return (ERR_SUPERBLOCK_OK, superblockHash);\n }\n\n // @dev - Confirm a proposed superblock\n //\n // An unchallenged superblock can be confirmed after a timeout.\n // A challenged superblock is confirmed if it has enough descendants\n // in the main chain.\n //\n // @param _superblockHash Id of the superblock to confirm\n // @param _validator Address requesting superblock confirmation\n // @return Error code and superblockHash\n function confirm(bytes32 _superblockHash, address _validator) external returns (uint) {\n if (msg.sender != trustedClaimManager) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_NOT_CLAIMMANAGER);\n return ERR_SUPERBLOCK_NOT_CLAIMMANAGER;\n }\n SuperblockInfo storage superblock = superblocks[_superblockHash];\n if (superblock.status != Status.New && superblock.status != Status.SemiApproved) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return ERR_SUPERBLOCK_BAD_STATUS;\n }\n\n if (superblock.height <= getChainHeight()) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_BAD_BLOCKHEIGHT);\n return ERR_SUPERBLOCK_BAD_BLOCKHEIGHT;\n }\n\n SuperblockInfo storage parent = superblocks[superblock.parentId];\n if (parent.status != Status.Approved) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_BAD_PARENT);\n return ERR_SUPERBLOCK_BAD_PARENT;\n }\n\n superblock.status = Status.Approved;\n bestSuperblock = _superblockHash;\n\n emit ApprovedSuperblock(_superblockHash, _validator);\n return ERR_SUPERBLOCK_OK;\n }\n\n // @dev - Challenge a proposed superblock\n //\n // A new superblock can be challenged to start a battle\n // to verify the correctness of the data submitted.\n //\n // @param _superblockHash Id of the superblock to challenge\n // @param _challenger Address requesting a challenge\n // @return Error code and superblockHash\n function challenge(bytes32 _superblockHash, address _challenger) external returns (uint) {\n if (msg.sender != trustedClaimManager) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_NOT_CLAIMMANAGER);\n return ERR_SUPERBLOCK_NOT_CLAIMMANAGER;\n }\n SuperblockInfo storage superblock = superblocks[_superblockHash];\n if (superblock.status != Status.New && superblock.status != Status.InBattle) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return ERR_SUPERBLOCK_BAD_STATUS;\n }\n if(superblock.submitter == _challenger){\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_OWN_CHALLENGE);\n return ERR_SUPERBLOCK_OWN_CHALLENGE;\n }\n superblock.status = Status.InBattle;\n emit ChallengeSuperblock(_superblockHash, _challenger);\n return ERR_SUPERBLOCK_OK;\n }\n\n // @dev - Semi-approve a challenged superblock\n //\n // A challenged superblock can be marked as semi-approved\n // if it satisfies all the queries or when all challengers have\n // stopped participating.\n //\n // @param _superblockHash Id of the superblock to semi-approve\n // @param _validator Address requesting semi approval\n // @return Error code and superblockHash\n function semiApprove(bytes32 _superblockHash, address _validator) external returns (uint) {\n if (msg.sender != trustedClaimManager) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_NOT_CLAIMMANAGER);\n return ERR_SUPERBLOCK_NOT_CLAIMMANAGER;\n }\n SuperblockInfo storage superblock = superblocks[_superblockHash];\n\n if (superblock.status != Status.InBattle && superblock.status != Status.New) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return ERR_SUPERBLOCK_BAD_STATUS;\n }\n superblock.status = Status.SemiApproved;\n\n emit SemiApprovedSuperblock(_superblockHash, _validator);\n return ERR_SUPERBLOCK_OK;\n }\n\n // @dev - Invalidates a superblock\n //\n // A superblock with incorrect data can be invalidated immediately.\n // Superblocks that are not in the main chain can be invalidated\n // if not enough superblocks follow them, i.e. they don't have\n // enough descendants.\n //\n // @param _superblockHash Id of the superblock to invalidate\n // @param _validator Address requesting superblock invalidation\n // @return Error code and superblockHash\n function invalidate(bytes32 _superblockHash, address _validator) external returns (uint) {\n if (msg.sender != trustedClaimManager) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_NOT_CLAIMMANAGER);\n return ERR_SUPERBLOCK_NOT_CLAIMMANAGER;\n }\n SuperblockInfo storage superblock = superblocks[_superblockHash];\n if (superblock.status != Status.InBattle && superblock.status != Status.SemiApproved) {\n emit ErrorSuperblock(_superblockHash, ERR_SUPERBLOCK_BAD_STATUS);\n return ERR_SUPERBLOCK_BAD_STATUS;\n }\n superblock.status = Status.Invalid;\n emit InvalidSuperblock(_superblockHash, _validator);\n return ERR_SUPERBLOCK_OK;\n }\n\n // @dev - Verify TX SPV to Block proof as well as Block SPV proof to Superblock\n // @param _txBytes - transaction bytes\n // @param _txIndex - transaction's index within the block\n // @param _txSiblings - transaction's Merkle siblings\n // @param _syscoinBlockHeader - block header containing transaction\n // @param _syscoinBlockIndex - block's index within superblock\n // @param _syscoinBlockSiblings - block's merkle siblings\n // @param _superblockHash - superblock containing block header\n function verifySPVProofs(\n bytes memory _syscoinBlockHeader,\n uint _syscoinBlockIndex,\n uint[] memory _syscoinBlockSiblings,\n bytes32 _superblockHash,\n bytes memory _txBytes,\n uint _txIndex,\n uint[] memory _txSiblings\n ) private returns (uint) {\n // Check if Syscoin block belongs to given superblock\n if (bytes32(computeMerkle(dblShaFlip(_syscoinBlockHeader), _syscoinBlockIndex, _syscoinBlockSiblings))\n != superblocks[_superblockHash].blocksMerkleRoot) {\n // Syscoin block is not in superblock\n emit VerifyTransaction(bytes32(0), ERR_SUPERBLOCK_MERKLE_ROOT);\n return 0;\n }\n return verifyTx(_txBytes, _txIndex, _txSiblings, _syscoinBlockHeader, _superblockHash);\n }\n\n // @dev - relays transaction `_txBytes` to ERC20Manager's processTransaction() method.\n // Also logs the value of processTransaction.\n // Note: callers cannot be 100% certain when an ERR_RELAY_VERIFY occurs because\n // it may also have been returned by processTransaction(). Callers should be\n // aware of the contract that they are relaying transactions to and\n // understand what that contract's processTransaction method returns.\n //\n // @param _txBytes - transaction bytes\n // @param _txIndex - transaction's index within the block\n // @param _txSiblings - transaction's Merkle siblings\n // @param _syscoinBlockHeader - block header containing transaction\n // @param _syscoinBlockIndex - block's index within superblock\n // @param _syscoinBlockSiblings - block's merkle siblings\n // @param _superblockHash - superblock containing block header\n function relayTx(\n bytes memory _txBytes,\n uint _txIndex,\n uint[] memory _txSiblings,\n bytes memory _syscoinBlockHeader,\n uint _syscoinBlockIndex,\n uint[] memory _syscoinBlockSiblings,\n bytes32 _superblockHash\n ) public returns (uint) {\n uint txHash = verifySPVProofs(_syscoinBlockHeader, _syscoinBlockIndex, _syscoinBlockSiblings, _superblockHash, _txBytes, _txIndex, _txSiblings);\n if (txHash != 0) {\n uint value;\n address destinationAddress;\n uint ret;\n uint32 assetGUID;\n address erc20ContractAddress;\n uint8 precision;\n (ret, value, destinationAddress, assetGUID, precision, erc20ContractAddress) = parseBurnTx(_txBytes);\n if(ret != 0){\n emit RelayTransaction(bytes32(txHash), ret);\n return ret;\n }\n syscoinERC20Manager.processTransaction(txHash, value, destinationAddress, superblocks[_superblockHash].submitter, erc20ContractAddress, assetGUID, precision);\n return value;\n }\n emit RelayTransaction(bytes32(0), ERR_RELAY_VERIFY);\n return(ERR_RELAY_VERIFY);\n }\n\n // @dev - relays asset transaction(new or update) `_txBytes` to ERC20Manager's processAsset() method.\n // Also logs the value of processAsset.\n // Note: callers cannot be 100% certain when an ERR_RELAY_VERIFY occurs because\n // it may also have been returned by processAsset(). Callers should be\n // aware of the contract that they are relaying transactions to and\n // understand what that contract's processTransaction method returns.\n //\n // @param _txBytes - transaction bytes\n // @param _txIndex - transaction's index within the block\n // @param _txSiblings - transaction's Merkle siblings\n // @param _syscoinBlockHeader - block header containing transaction\n // @param _syscoinBlockIndex - block's index within superblock\n // @param _syscoinBlockSiblings - block's merkle siblings\n // @param _superblockHash - superblock containing block header\n function relayAssetTx(\n bytes memory _txBytes,\n uint _txIndex,\n uint[] memory _txSiblings,\n bytes memory _syscoinBlockHeader,\n uint _syscoinBlockIndex,\n uint[] memory _syscoinBlockSiblings,\n bytes32 _superblockHash\n ) public returns (uint) {\n uint txHash = verifySPVProofs(_syscoinBlockHeader, _syscoinBlockIndex, _syscoinBlockSiblings, _superblockHash, _txBytes, _txIndex, _txSiblings);\n if (txHash != 0) {\n uint ret;\n uint32 assetGUID;\n address erc20ContractAddress;\n (ret, assetGUID, erc20ContractAddress) = parseAssetTx(_txBytes);\n if(ret != 0){\n emit RelayTransaction(bytes32(txHash), ret);\n return ret;\n }\n uint32 height = superblocks[_superblockHash].height*60;\n height += uint32(_syscoinBlockIndex);\n // pass in height of block as well by calc superblock sets of 60 blocks\n syscoinERC20Manager.processAsset(txHash, assetGUID, height, erc20ContractAddress);\n return 0;\n }\n emit RelayTransaction(bytes32(0), ERR_RELAY_VERIFY);\n return(ERR_RELAY_VERIFY);\n }\n\n // Challenges a bridge cancellation request with SPV proofs linking tx to superblock and showing that a valid\n // cancellation request exists. If challenge fails, the cancellation request continues until timeout at which point erc20 is refunded\n //\n // @param _txBytes - transaction bytes\n // @param _txIndex - transaction's index within the block\n // @param _txSiblings - transaction's Merkle siblings\n // @param _syscoinBlockHeader - block header containing transaction\n // @param _syscoinBlockIndex - block's index within superblock\n // @param _syscoinBlockSiblings - block's merkle siblings\n // @param _superblockHash - superblock containing block header\n function challengeCancelTransfer(\n bytes memory _txBytes,\n uint _txIndex,\n uint[] memory _txSiblings,\n bytes memory _syscoinBlockHeader,\n uint _syscoinBlockIndex,\n uint[] memory _syscoinBlockSiblings,\n bytes32 _superblockHash\n ) public returns (uint) {\n uint txHash = verifySPVProofs(_syscoinBlockHeader, _syscoinBlockIndex, _syscoinBlockSiblings, _superblockHash, _txBytes, _txIndex, _txSiblings);\n if (txHash != 0) {\n uint32 bridgeTransferId;\n uint ret;\n (ret, bridgeTransferId) = parseMintTx(_txBytes);\n if(ret != 0){\n emit RelayTransaction(bytes32(txHash), ret);\n return ret;\n }\n // check if cancellation request exists in valid state\n // cancel cancellation request if challenger wins, challenger gets paid cancellors deposit\n syscoinERC20Manager.processCancelTransferFail(bridgeTransferId, msg.sender);\n return 0;\n }\n emit ChallengeCancelTransferRequest(ERR_CANCEL_TRANSFER_VERIFY);\n return(ERR_CANCEL_TRANSFER_VERIFY);\n }\n\n // @dev - Parses a syscoin tx\n //\n // @param txBytes - tx byte array\n // Outputs\n // @return output_value - amount sent to the lock address in satoshis\n // @return destinationAddress - ethereum destination address\n function parseBurnTx(bytes memory txBytes)\n public\n pure\n returns (uint, uint, address, uint32, uint8, address)\n {\n uint output_value;\n uint32 assetGUID;\n address destinationAddress;\n uint32 version;\n address erc20Address;\n uint8 precision;\n uint pos = 0;\n version = bytesToUint32Flipped(txBytes, pos);\n if(version != SYSCOIN_TX_VERSION_ALLOCATION_BURN_TO_ETHEREUM){\n return (ERR_PARSE_TX_SYS, output_value, destinationAddress, assetGUID, precision, erc20Address);\n }\n pos = getOpReturnPos(txBytes, 4);\n (output_value, destinationAddress, assetGUID, precision, erc20Address) = scanAssetDetails(txBytes, pos);\n return (0, output_value, destinationAddress, assetGUID, precision, erc20Address);\n }\n\n function skipInputs(bytes memory txBytes, uint pos)\n private\n pure\n returns (uint)\n {\n uint n_inputs;\n uint script_len;\n (n_inputs, pos) = parseVarInt(txBytes, pos);\n // if dummy 0x00 is present this is a witness transaction\n if(n_inputs == 0x00){\n (n_inputs, pos) = parseVarInt(txBytes, pos); // flag\n require(n_inputs != 0x00, \"#SyscoinSuperblocks skipInputs(): Unexpected dummy/flag\");\n // after dummy/flag the real var int comes for txins\n (n_inputs, pos) = parseVarInt(txBytes, pos);\n }\n require(n_inputs < 100, \"#SyscoinSuperblocks skipInputs(): Incorrect size of n_inputs\");\n\n for (uint i = 0; i < n_inputs; i++) {\n pos += 36; // skip outpoint\n (script_len, pos) = parseVarInt(txBytes, pos);\n pos += script_len + 4; // skip sig_script, seq\n }\n\n return pos;\n }\n\n // @dev - Checks whether the transaction given by `_txBytes` is in the block identified by `_txBlockHeaderBytes`.\n // First it guards against a Merkle tree collision attack by raising an error if the transaction is exactly 64 bytes long,\n // then it calls helperVerifyHash to do the actual check.\n //\n // @param _txBytes - transaction bytes\n // @param _txIndex - transaction's index within the block\n // @param _siblings - transaction's Merkle siblings\n // @param _txBlockHeaderBytes - block header containing transaction\n // @param _txsuperblockHash - superblock containing block header\n // @return - SHA-256 hash of _txBytes if the transaction is in the block, 0 otherwise\n function verifyTx(\n bytes memory _txBytes,\n uint _txIndex,\n uint[] memory _siblings,\n bytes memory _txBlockHeaderBytes,\n bytes32 _txsuperblockHash\n ) private returns (uint) {\n uint txHash = dblShaFlip(_txBytes);\n\n if (_txBytes.length == 64) { // todo: is check 32 also needed?\n emit VerifyTransaction(bytes32(txHash), ERR_TX_64BYTE);\n return 0;\n }\n\n if (helperVerifyHash(txHash, _txIndex, _siblings, _txBlockHeaderBytes, _txsuperblockHash) == 1) {\n return txHash;\n } else {\n // log is done via helperVerifyHash\n return 0;\n }\n }\n\n // @dev - Bitcoin-way of hashing\n // @param _dataBytes - raw data to be hashed\n // @return - result of applying SHA-256 twice to raw data and then flipping the bytes\n function dblShaFlip(bytes memory _dataBytes) public pure returns (uint) {\n return flip32Bytes(uint(sha256(abi.encodePacked(sha256(abi.encodePacked(_dataBytes))))));\n }\n\n // @dev - extract Merkle root field from a raw Syscoin block header\n //\n // @param _blockHeader - Syscoin block header bytes\n // @param pos - where to start reading root from\n // @return - block's Merkle root in big endian format\n function getHeaderMerkleRoot(bytes memory _blockHeader) public pure returns (uint) {\n uint merkle;\n assembly {\n merkle := mload(add(add(_blockHeader, 32), 0x24))\n }\n return flip32Bytes(merkle);\n }\n\n // @dev - Checks whether the transaction identified by `_txHash` is in the block identified by `_blockHeaderBytes`\n // and whether the block is in the Syscoin main chain. Transaction check is done via Merkle proof.\n // Note: no verification is performed to prevent txHash from just being an\n // internal hash in the Merkle tree. Thus this helper method should NOT be used\n // directly and is intended to be private.\n //\n // @param _txHash - transaction hash\n // @param _txIndex - transaction's index within the block\n // @param _siblings - transaction's Merkle siblings\n // @param _blockHeaderBytes - block header containing transaction\n // @param _txsuperblockHash - superblock containing block header\n // @return - 1 if the transaction is in the block and the block is in the main chain,\n // 20020 (ERR_CONFIRMATIONS) if the block is not in the main chain,\n // 20050 (ERR_MERKLE_ROOT) if the block is in the main chain but the Merkle proof fails.\n function helperVerifyHash(\n uint256 _txHash,\n uint _txIndex,\n uint[] memory _siblings,\n bytes memory _blockHeaderBytes,\n bytes32 _txsuperblockHash\n ) private returns (uint) {\n\n if (!isApproved(_txsuperblockHash)) {\n emit VerifyTransaction(bytes32(_txHash), ERR_CHAIN);\n return (ERR_CHAIN);\n }\n\n // Verify tx Merkle root\n uint merkle = getHeaderMerkleRoot(_blockHeaderBytes);\n if (computeMerkle(_txHash, _txIndex, _siblings) != merkle) {\n emit VerifyTransaction(bytes32(_txHash), ERR_MERKLE_ROOT);\n return (ERR_MERKLE_ROOT);\n }\n return (1);\n }\n\n // @dev - Calculate superblock hash from superblock data\n //\n // @param _blocksMerkleRoot Root of the merkle tree of blocks contained in a superblock\n // @param _timestamp Timestamp of the last block in the superblock\n // @param _mtpTimestamp Median Timestamp of the last block in the superblock\n // @param _lastHash Hash of the last block in the superblock\n // @param _lastBits Difficulty bits of the last block in the superblock bits\n // @param _parentId Id of the parent superblock\n // @return Superblock id\n function calcSuperblockHash(\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentId\n ) public pure returns (bytes32) {\n return keccak256(abi.encodePacked(\n _blocksMerkleRoot,\n _timestamp,\n _mtpTimestamp,\n _lastHash,\n _lastBits,\n _parentId\n ));\n }\n\n // @dev - Returns the confirmed superblock with the most accumulated work\n //\n // @return Best superblock hash\n function getBestSuperblock() external view returns (bytes32) {\n return bestSuperblock;\n }\n\n // @dev - Returns the superblock data for the supplied superblock hash\n //\n function getSuperblock(bytes32 superblockHash) external view returns (\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentId,\n address _submitter,\n Status _status,\n uint32 _height\n ) {\n SuperblockInfo storage superblock = superblocks[superblockHash];\n return (\n superblock.blocksMerkleRoot,\n superblock.timestamp,\n superblock.mtpTimestamp,\n superblock.lastHash,\n superblock.lastBits,\n superblock.parentId,\n superblock.submitter,\n superblock.status,\n superblock.height\n );\n }\n\n // @dev - Returns superblock height\n function getSuperblockHeight(bytes32 superblockHash) public view returns (uint32) {\n return superblocks[superblockHash].height;\n }\n\n // @dev - Return superblock timestamp\n function getSuperblockTimestamp(bytes32 _superblockHash) external view returns (uint) {\n return superblocks[_superblockHash].timestamp;\n }\n\n // @dev - Return superblock median timestamp\n function getSuperblockMedianTimestamp(bytes32 _superblockHash) external view returns (uint) {\n return superblocks[_superblockHash].mtpTimestamp;\n }\n\n // @dev - Return superblock parent\n function getSuperblockParentId(bytes32 _superblockHash) external view returns (bytes32) {\n return superblocks[_superblockHash].parentId;\n }\n\n\n // @dev - Return superblock status\n function getSuperblockStatus(bytes32 _superblockHash) public view returns (Status) {\n return superblocks[_superblockHash].status;\n }\n\n function isApproved(bytes32 _superblockHash) private view returns (bool) {\n return (getSuperblockStatus(_superblockHash) == Status.Approved);\n }\n function getChainHeight() public view returns (uint) {\n return superblocks[bestSuperblock].height;\n }\n\n // @dev - return superblock hash at a given height in superblock main chain\n //\n // @param _height - superblock height\n // @return - hash corresponding to block of height _height\n function getSuperblockAt(uint _height) external view returns (bytes32) {\n bytes32 superblockHash = bestSuperblock;\n\n while (getSuperblockHeight(superblockHash) > _height) {\n superblockHash = superblocks[superblockHash].parentId;\n }\n\n return superblockHash;\n }\n}\n", "sourcePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinSuperblocks.sol", "ast": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinSuperblocks.sol", "exportedSymbols": { "SyscoinSuperblocks": [ - 7493 + 7851 ] }, - "id": 7494, + "id": 7852, "nodeType": "SourceUnit", "nodes": [ { - "id": 4993, + "id": 5002, "literals": [ "solidity", "^", @@ -1327,10 +1440,10 @@ { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol", "file": "./interfaces/SyscoinSuperblocksI.sol", - "id": 4994, + "id": 5003, "nodeType": "ImportDirective", - "scope": 7494, - "sourceUnit": 7791, + "scope": 7852, + "sourceUnit": 8313, "src": "26:46:6", "symbolAliases": [], "unitAlias": "" @@ -1338,10 +1451,10 @@ { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinErrorCodes.sol", "file": "./SyscoinErrorCodes.sol", - "id": 4995, + "id": 5004, "nodeType": "ImportDirective", - "scope": 7494, - "sourceUnit": 4678, + "scope": 7852, + "sourceUnit": 4687, "src": "73:33:6", "symbolAliases": [], "unitAlias": "" @@ -1349,10 +1462,10 @@ { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol", "file": "./SyscoinTransactionProcessor.sol", - "id": 4996, + "id": 5005, "nodeType": "ImportDirective", - "scope": 7494, - "sourceUnit": 7548, + "scope": 7852, + "sourceUnit": 8048, "src": "107:43:6", "symbolAliases": [], "unitAlias": "" @@ -1360,10 +1473,10 @@ { "absolutePath": "@openzeppelin/upgrades/contracts/Initializable.sol", "file": "@openzeppelin/upgrades/contracts/Initializable.sol", - "id": 4997, + "id": 5006, "nodeType": "ImportDirective", - "scope": 7494, - "sourceUnit": 8723, + "scope": 7852, + "sourceUnit": 9342, "src": "151:60:6", "symbolAliases": [], "unitAlias": "" @@ -1371,10 +1484,10 @@ { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinParser/SyscoinMessageLibrary.sol", "file": "./SyscoinParser/SyscoinMessageLibrary.sol", - "id": 4998, + "id": 5007, "nodeType": "ImportDirective", - "scope": 7494, - "sourceUnit": 4992, + "scope": 7852, + "sourceUnit": 5001, "src": "212:51:6", "symbolAliases": [], "unitAlias": "" @@ -1385,17 +1498,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 4999, + "id": 5008, "name": "Initializable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8722, + "referencedDeclaration": 9341, "src": "381:13:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_Initializable_$8722", + "typeIdentifier": "t_contract$_Initializable_$9341", "typeString": "contract Initializable" } }, - "id": 5000, + "id": 5009, "nodeType": "InheritanceSpecifier", "src": "381:13:6" }, @@ -1403,17 +1516,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 5001, + "id": 5010, "name": "SyscoinSuperblocksI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7790, + "referencedDeclaration": 8312, "src": "396:19:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", "typeString": "contract SyscoinSuperblocksI" } }, - "id": 5002, + "id": 5011, "nodeType": "InheritanceSpecifier", "src": "396:19:6" }, @@ -1421,17 +1534,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 5003, + "id": 5012, "name": "SyscoinErrorCodes", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4677, + "referencedDeclaration": 4686, "src": "417:17:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinErrorCodes_$4677", + "typeIdentifier": "t_contract$_SyscoinErrorCodes_$4686", "typeString": "contract SyscoinErrorCodes" } }, - "id": 5004, + "id": 5013, "nodeType": "InheritanceSpecifier", "src": "417:17:6" }, @@ -1439,47 +1552,47 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 5005, + "id": 5014, "name": "SyscoinMessageLibrary", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, + "referencedDeclaration": 5000, "src": "436:21:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinMessageLibrary_$4991", + "typeIdentifier": "t_contract$_SyscoinMessageLibrary_$5000", "typeString": "contract SyscoinMessageLibrary" } }, - "id": 5006, + "id": 5015, "nodeType": "InheritanceSpecifier", "src": "436:21:6" } ], "contractDependencies": [ - 4677, - 4991, - 7790, - 8722 + 4686, + 5000, + 8312, + 9341 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 7493, + "id": 7851, "linearizedBaseContracts": [ - 7493, - 4991, - 4677, - 7790, - 8722 + 7851, + 5000, + 4686, + 8312, + 9341 ], "name": "SyscoinSuperblocks", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 5009, + "id": 5018, "name": "ERR_PARSE_TX_SYS", "nodeType": "VariableDeclaration", - "scope": 7493, + "scope": 7851, "src": "465:38:6", "stateVariable": true, "storageLocation": "default", @@ -1488,7 +1601,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5007, + "id": 5016, "name": "uint", "nodeType": "ElementaryTypeName", "src": "465:4:6", @@ -1500,7 +1613,7 @@ "value": { "argumentTypes": null, "hexValue": "3130313730", - "id": 5008, + "id": 5017, "isConstant": false, "isLValue": false, "isPure": true, @@ -1519,10 +1632,10 @@ }, { "constant": true, - "id": 5012, + "id": 5021, "name": "SYSCOIN_TX_VERSION_ALLOCATION_BURN_TO_ETHEREUM", "nodeType": "VariableDeclaration", - "scope": 7493, + "scope": 7851, "src": "510:71:6", "stateVariable": true, "storageLocation": "default", @@ -1531,7 +1644,7 @@ "typeString": "uint32" }, "typeName": { - "id": 5010, + "id": 5019, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "510:6:6", @@ -1543,7 +1656,7 @@ "value": { "argumentTypes": null, "hexValue": "307837343037", - "id": 5011, + "id": 5020, "isConstant": false, "isLValue": false, "isPure": true, @@ -1562,10 +1675,10 @@ }, { "constant": true, - "id": 5015, + "id": 5024, "name": "SYSCOIN_TX_VERSION_ALLOCATION_MINT", "nodeType": "VariableDeclaration", - "scope": 7493, + "scope": 7851, "src": "587:59:6", "stateVariable": true, "storageLocation": "default", @@ -1574,7 +1687,7 @@ "typeString": "uint32" }, "typeName": { - "id": 5013, + "id": 5022, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "587:6:6", @@ -1586,7 +1699,7 @@ "value": { "argumentTypes": null, "hexValue": "307837343036", - "id": 5014, + "id": 5023, "isConstant": false, "isLValue": false, "isPure": true, @@ -1605,21 +1718,21 @@ }, { "constant": false, - "id": 5019, + "id": 5028, "name": "superblocks", "nodeType": "VariableDeclaration", - "scope": 7493, - "src": "705:55:6", + "scope": 7851, + "src": "705:56:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo)" }, "typeName": { - "id": 5018, + "id": 5027, "keyType": { - "id": 5016, + "id": 5025, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "714:7:6", @@ -1631,32 +1744,32 @@ "nodeType": "Mapping", "src": "705:35:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo)" }, "valueType": { "contractScope": null, - "id": 5017, + "id": 5026, "name": "SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, + "referencedDeclaration": 8137, "src": "725:14:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } } }, "value": null, - "visibility": "private" + "visibility": "internal" }, { "constant": false, - "id": 5021, + "id": 5030, "name": "bestSuperblock", "nodeType": "VariableDeclaration", - "scope": 7493, - "src": "767:30:6", + "scope": 7851, + "src": "768:31:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1664,40 +1777,40 @@ "typeString": "bytes32" }, "typeName": { - "id": 5020, + "id": 5029, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "767:7:6", + "src": "768:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, - "visibility": "private" + "visibility": "internal" }, { "constant": false, - "id": 5023, + "id": 5032, "name": "syscoinERC20Manager", "nodeType": "VariableDeclaration", - "scope": 7493, - "src": "804:54:6", + "scope": 7851, + "src": "806:54:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", "typeString": "contract SyscoinTransactionProcessor" }, "typeName": { "contractScope": null, - "id": 5022, + "id": 5031, "name": "SyscoinTransactionProcessor", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7547, - "src": "804:27:6", + "referencedDeclaration": 8047, + "src": "806:27:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", "typeString": "contract SyscoinTransactionProcessor" } }, @@ -1707,21 +1820,21 @@ { "anonymous": false, "documentation": null, - "id": 5029, + "id": 5038, "name": "NewSuperblock", "nodeType": "EventDefinition", "parameters": { - "id": 5028, + "id": 5037, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5025, + "id": 5034, "indexed": false, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 5029, - "src": "885:22:6", + "scope": 5038, + "src": "887:22:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1729,10 +1842,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5024, + "id": 5033, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "885:7:6", + "src": "887:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1743,12 +1856,12 @@ }, { "constant": false, - "id": 5027, + "id": 5036, "indexed": false, "name": "who", "nodeType": "VariableDeclaration", - "scope": 5029, - "src": "909:11:6", + "scope": 5038, + "src": "911:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1756,10 +1869,10 @@ "typeString": "address" }, "typeName": { - "id": 5026, + "id": 5035, "name": "address", "nodeType": "ElementaryTypeName", - "src": "909:7:6", + "src": "911:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1770,28 +1883,28 @@ "visibility": "internal" } ], - "src": "884:37:6" + "src": "886:37:6" }, - "src": "865:57:6" + "src": "867:57:6" }, { "anonymous": false, "documentation": null, - "id": 5035, + "id": 5044, "name": "ApprovedSuperblock", "nodeType": "EventDefinition", "parameters": { - "id": 5034, + "id": 5043, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5031, + "id": 5040, "indexed": false, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 5035, - "src": "952:22:6", + "scope": 5044, + "src": "954:22:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1799,10 +1912,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5030, + "id": 5039, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "952:7:6", + "src": "954:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1813,12 +1926,12 @@ }, { "constant": false, - "id": 5033, + "id": 5042, "indexed": false, "name": "who", "nodeType": "VariableDeclaration", - "scope": 5035, - "src": "976:11:6", + "scope": 5044, + "src": "978:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1826,10 +1939,10 @@ "typeString": "address" }, "typeName": { - "id": 5032, + "id": 5041, "name": "address", "nodeType": "ElementaryTypeName", - "src": "976:7:6", + "src": "978:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1840,28 +1953,28 @@ "visibility": "internal" } ], - "src": "951:37:6" + "src": "953:37:6" }, - "src": "927:62:6" + "src": "929:62:6" }, { "anonymous": false, "documentation": null, - "id": 5041, + "id": 5050, "name": "ChallengeSuperblock", "nodeType": "EventDefinition", "parameters": { - "id": 5040, + "id": 5049, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5037, + "id": 5046, "indexed": false, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 5041, - "src": "1020:22:6", + "scope": 5050, + "src": "1022:22:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1869,10 +1982,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5036, + "id": 5045, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1020:7:6", + "src": "1022:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1883,12 +1996,12 @@ }, { "constant": false, - "id": 5039, + "id": 5048, "indexed": false, "name": "who", "nodeType": "VariableDeclaration", - "scope": 5041, - "src": "1044:11:6", + "scope": 5050, + "src": "1046:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1896,10 +2009,10 @@ "typeString": "address" }, "typeName": { - "id": 5038, + "id": 5047, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1044:7:6", + "src": "1046:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1910,28 +2023,28 @@ "visibility": "internal" } ], - "src": "1019:37:6" + "src": "1021:37:6" }, - "src": "994:63:6" + "src": "996:63:6" }, { "anonymous": false, "documentation": null, - "id": 5047, + "id": 5056, "name": "SemiApprovedSuperblock", "nodeType": "EventDefinition", "parameters": { - "id": 5046, + "id": 5055, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5043, + "id": 5052, "indexed": false, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 5047, - "src": "1091:22:6", + "scope": 5056, + "src": "1093:22:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1939,10 +2052,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5042, + "id": 5051, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1091:7:6", + "src": "1093:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1953,12 +2066,12 @@ }, { "constant": false, - "id": 5045, + "id": 5054, "indexed": false, "name": "who", "nodeType": "VariableDeclaration", - "scope": 5047, - "src": "1115:11:6", + "scope": 5056, + "src": "1117:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1966,10 +2079,10 @@ "typeString": "address" }, "typeName": { - "id": 5044, + "id": 5053, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1115:7:6", + "src": "1117:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1980,28 +2093,28 @@ "visibility": "internal" } ], - "src": "1090:37:6" + "src": "1092:37:6" }, - "src": "1062:66:6" + "src": "1064:66:6" }, { "anonymous": false, "documentation": null, - "id": 5053, + "id": 5062, "name": "InvalidSuperblock", "nodeType": "EventDefinition", "parameters": { - "id": 5052, + "id": 5061, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5049, + "id": 5058, "indexed": false, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 5053, - "src": "1157:22:6", + "scope": 5062, + "src": "1159:22:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2009,10 +2122,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5048, + "id": 5057, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1157:7:6", + "src": "1159:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2023,12 +2136,12 @@ }, { "constant": false, - "id": 5051, + "id": 5060, "indexed": false, "name": "who", "nodeType": "VariableDeclaration", - "scope": 5053, - "src": "1181:11:6", + "scope": 5062, + "src": "1183:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2036,10 +2149,10 @@ "typeString": "address" }, "typeName": { - "id": 5050, + "id": 5059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1181:7:6", + "src": "1183:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2050,28 +2163,28 @@ "visibility": "internal" } ], - "src": "1156:37:6" + "src": "1158:37:6" }, - "src": "1133:61:6" + "src": "1135:61:6" }, { "anonymous": false, "documentation": null, - "id": 5059, + "id": 5068, "name": "ErrorSuperblock", "nodeType": "EventDefinition", "parameters": { - "id": 5058, + "id": 5067, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5055, + "id": 5064, "indexed": false, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 5059, - "src": "1222:22:6", + "scope": 5068, + "src": "1224:22:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2079,10 +2192,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5054, + "id": 5063, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1222:7:6", + "src": "1224:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2093,12 +2206,12 @@ }, { "constant": false, - "id": 5057, + "id": 5066, "indexed": false, "name": "err", "nodeType": "VariableDeclaration", - "scope": 5059, - "src": "1246:8:6", + "scope": 5068, + "src": "1248:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2106,10 +2219,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5056, + "id": 5065, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1246:4:6", + "src": "1248:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2119,28 +2232,28 @@ "visibility": "internal" } ], - "src": "1221:34:6" + "src": "1223:34:6" }, - "src": "1200:56:6" + "src": "1202:56:6" }, { "anonymous": false, "documentation": null, - "id": 5065, + "id": 5074, "name": "VerifyTransaction", "nodeType": "EventDefinition", "parameters": { - "id": 5064, + "id": 5073, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5061, + "id": 5070, "indexed": false, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 5065, - "src": "1286:14:6", + "scope": 5074, + "src": "1288:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2148,10 +2261,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5060, + "id": 5069, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1286:7:6", + "src": "1288:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2162,12 +2275,12 @@ }, { "constant": false, - "id": 5063, + "id": 5072, "indexed": false, "name": "returnCode", "nodeType": "VariableDeclaration", - "scope": 5065, - "src": "1302:15:6", + "scope": 5074, + "src": "1304:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2175,10 +2288,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5062, + "id": 5071, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1302:4:6", + "src": "1304:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2188,28 +2301,28 @@ "visibility": "internal" } ], - "src": "1285:33:6" + "src": "1287:33:6" }, - "src": "1262:57:6" + "src": "1264:57:6" }, { "anonymous": false, "documentation": null, - "id": 5071, + "id": 5080, "name": "RelayTransaction", "nodeType": "EventDefinition", "parameters": { - "id": 5070, + "id": 5079, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5067, + "id": 5076, "indexed": false, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 5071, - "src": "1347:14:6", + "scope": 5080, + "src": "1349:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2217,10 +2330,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5066, + "id": 5075, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1347:7:6", + "src": "1349:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2231,12 +2344,12 @@ }, { "constant": false, - "id": 5069, + "id": 5078, "indexed": false, "name": "returnCode", "nodeType": "VariableDeclaration", - "scope": 5071, - "src": "1363:15:6", + "scope": 5080, + "src": "1365:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2244,10 +2357,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5068, + "id": 5077, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1363:4:6", + "src": "1365:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2257,28 +2370,28 @@ "visibility": "internal" } ], - "src": "1346:33:6" + "src": "1348:33:6" }, - "src": "1324:56:6" + "src": "1326:56:6" }, { "anonymous": false, "documentation": null, - "id": 5075, + "id": 5084, "name": "ChallengeCancelTransferRequest", "nodeType": "EventDefinition", "parameters": { - "id": 5074, + "id": 5083, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5073, + "id": 5082, "indexed": false, "name": "returnCode", "nodeType": "VariableDeclaration", - "scope": 5075, - "src": "1422:15:6", + "scope": 5084, + "src": "1424:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2286,10 +2399,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5072, + "id": 5081, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1422:4:6", + "src": "1424:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2299,17 +2412,17 @@ "visibility": "internal" } ], - "src": "1421:17:6" + "src": "1423:17:6" }, - "src": "1385:54:6" + "src": "1387:54:6" }, { "constant": false, - "id": 5077, + "id": 5086, "name": "trustedClaimManager", "nodeType": "VariableDeclaration", - "scope": 7493, - "src": "1471:34:6", + "scope": 7851, + "src": "1473:34:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2317,10 +2430,10 @@ "typeString": "address" }, "typeName": { - "id": 5076, + "id": 5085, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1471:7:6", + "src": "1473:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2331,10 +2444,96 @@ "visibility": "public" }, { - "body": { + "constant": true, + "id": 5089, + "name": "SYSCOIN_TX_VERSION_ASSET_ACTIVATE", + "nodeType": "VariableDeclaration", + "scope": 7851, + "src": "1514:58:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { "id": 5087, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1514:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307837343032", + "id": 5088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1566:6:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_29698_by_1", + "typeString": "int_const 29698" + }, + "value": "0x7402" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 5092, + "name": "SYSCOIN_TX_VERSION_ASSET_UPDATE", + "nodeType": "VariableDeclaration", + "scope": 7851, + "src": "1578:56:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5090, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1578:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307837343033", + "id": 5091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1628:6:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_29699_by_1", + "typeString": "int_const 29699" + }, + "value": "0x7403" + }, + "visibility": "internal" + }, + { + "body": { + "id": 5102, "nodeType": "Block", - "src": "1540:70:6", + "src": "1668:70:6", "statements": [ { "expression": { @@ -2346,7 +2545,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5083, + "id": 5098, "isConstant": false, "isLValue": false, "isPure": false, @@ -2355,18 +2554,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5080, + "id": 5095, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1558:3:6", + "referencedDeclaration": 11098, + "src": "1686:3:6", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5081, + "id": 5096, "isConstant": false, "isLValue": false, "isPure": false, @@ -2374,7 +2573,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1558:10:6", + "src": "1686:10:6", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2384,18 +2583,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 5082, + "id": 5097, "name": "trustedClaimManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "1572:19:6", + "referencedDeclaration": 5086, + "src": "1700:19:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1558:33:6", + "src": "1686:33:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2409,21 +2608,21 @@ "typeString": "bool" } ], - "id": 5079, + "id": 5094, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "1550:7:6", + "referencedDeclaration": 11101, + "src": "1678:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 5084, + "id": 5099, "isConstant": false, "isLValue": false, "isPure": false, @@ -2431,41 +2630,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1550:42:6", + "src": "1678:42:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5085, + "id": 5100, "nodeType": "ExpressionStatement", - "src": "1550:42:6" + "src": "1678:42:6" }, { - "id": 5086, + "id": 5101, "nodeType": "PlaceholderStatement", - "src": "1602:1:6" + "src": "1730:1:6" } ] }, "documentation": null, - "id": 5088, + "id": 5103, "name": "onlyClaimManager", "nodeType": "ModifierDefinition", "parameters": { - "id": 5078, + "id": 5093, "nodeType": "ParameterList", "parameters": [], - "src": "1537:2:6" + "src": "1665:2:6" }, - "src": "1512:98:6", + "src": "1640:98:6", "visibility": "internal" }, { "body": { - "id": 5139, + "id": 5154, "nodeType": "Block", - "src": "1894:325:6", + "src": "2022:325:6", "statements": [ { "expression": { @@ -2477,7 +2676,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5110, + "id": 5125, "isConstant": false, "isLValue": false, "isPure": false, @@ -2488,7 +2687,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5104, + "id": 5119, "isConstant": false, "isLValue": false, "isPure": false, @@ -2498,14 +2697,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5099, + "id": 5114, "name": "syscoinERC20Manager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5023, - "src": "1920:19:6", + "referencedDeclaration": 5032, + "src": "2048:19:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", "typeString": "contract SyscoinTransactionProcessor" } } @@ -2513,24 +2712,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", "typeString": "contract SyscoinTransactionProcessor" } ], - "id": 5098, + "id": 5113, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1912:7:6", + "src": "2040:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5100, + "id": 5115, "isConstant": false, "isLValue": false, "isPure": false, @@ -2538,7 +2737,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1912:28:6", + "src": "2040:28:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2552,14 +2751,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5102, + "id": 5117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1952:1:6", + "src": "2080:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2575,20 +2774,20 @@ "typeString": "int_const 0" } ], - "id": 5101, + "id": 5116, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1944:7:6", + "src": "2072:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5103, + "id": 5118, "isConstant": false, "isLValue": false, "isPure": true, @@ -2596,13 +2795,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1944:10:6", + "src": "2072:10:6", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "1912:42:6", + "src": "2040:42:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2616,19 +2815,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5109, + "id": 5124, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5105, + "id": 5120, "name": "_syscoinERC20Manager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5090, - "src": "1958:20:6", + "referencedDeclaration": 5105, + "src": "2086:20:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2642,14 +2841,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5107, + "id": 5122, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1990:1:6", + "src": "2118:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2665,20 +2864,20 @@ "typeString": "int_const 0" } ], - "id": 5106, + "id": 5121, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1982:7:6", + "src": "2110:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5108, + "id": 5123, "isConstant": false, "isLValue": false, "isPure": true, @@ -2686,19 +2885,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1982:10:6", + "src": "2110:10:6", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "1958:34:6", + "src": "2086:34:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1912:80:6", + "src": "2040:80:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2712,21 +2911,21 @@ "typeString": "bool" } ], - "id": 5097, + "id": 5112, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "1904:7:6", + "referencedDeclaration": 11101, + "src": "2032:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 5111, + "id": 5126, "isConstant": false, "isLValue": false, "isPure": false, @@ -2734,34 +2933,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1904:89:6", + "src": "2032:89:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5112, + "id": 5127, "nodeType": "ExpressionStatement", - "src": "1904:89:6" + "src": "2032:89:6" }, { "expression": { "argumentTypes": null, - "id": 5117, + "id": 5132, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5113, + "id": 5128, "name": "syscoinERC20Manager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5023, - "src": "2003:19:6", + "referencedDeclaration": 5032, + "src": "2131:19:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", "typeString": "contract SyscoinTransactionProcessor" } }, @@ -2772,12 +2971,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5115, + "id": 5130, "name": "_syscoinERC20Manager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5090, - "src": "2053:20:6", + "referencedDeclaration": 5105, + "src": "2181:20:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2791,18 +2990,18 @@ "typeString": "address" } ], - "id": 5114, + "id": 5129, "name": "SyscoinTransactionProcessor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "2025:27:6", + "referencedDeclaration": 8047, + "src": "2153:27:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinTransactionProcessor_$7547_$", + "typeIdentifier": "t_type$_t_contract$_SyscoinTransactionProcessor_$8047_$", "typeString": "type(contract SyscoinTransactionProcessor)" } }, - "id": 5116, + "id": 5131, "isConstant": false, "isLValue": false, "isPure": false, @@ -2810,21 +3009,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2025:49:6", + "src": "2153:49:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", "typeString": "contract SyscoinTransactionProcessor" } }, - "src": "2003:71:6", + "src": "2131:71:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", "typeString": "contract SyscoinTransactionProcessor" } }, - "id": 5118, + "id": 5133, "nodeType": "ExpressionStatement", - "src": "2003:71:6" + "src": "2131:71:6" }, { "expression": { @@ -2836,7 +3035,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5132, + "id": 5147, "isConstant": false, "isLValue": false, "isPure": false, @@ -2847,7 +3046,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5126, + "id": 5141, "isConstant": false, "isLValue": false, "isPure": false, @@ -2857,12 +3056,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5121, + "id": 5136, "name": "trustedClaimManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "2101:19:6", + "referencedDeclaration": 5086, + "src": "2229:19:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2876,20 +3075,20 @@ "typeString": "address" } ], - "id": 5120, + "id": 5135, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2093:7:6", + "src": "2221:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5122, + "id": 5137, "isConstant": false, "isLValue": false, "isPure": false, @@ -2897,7 +3096,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2093:28:6", + "src": "2221:28:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2911,14 +3110,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5124, + "id": 5139, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2133:1:6", + "src": "2261:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2934,20 +3133,20 @@ "typeString": "int_const 0" } ], - "id": 5123, + "id": 5138, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2125:7:6", + "src": "2253:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5125, + "id": 5140, "isConstant": false, "isLValue": false, "isPure": true, @@ -2955,13 +3154,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2125:10:6", + "src": "2253:10:6", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "2093:42:6", + "src": "2221:42:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2975,19 +3174,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5131, + "id": 5146, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5127, + "id": 5142, "name": "_claimManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5092, - "src": "2139:13:6", + "referencedDeclaration": 5107, + "src": "2267:13:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3001,14 +3200,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5129, + "id": 5144, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2164:1:6", + "src": "2292:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3024,20 +3223,20 @@ "typeString": "int_const 0" } ], - "id": 5128, + "id": 5143, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2156:7:6", + "src": "2284:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5130, + "id": 5145, "isConstant": false, "isLValue": false, "isPure": true, @@ -3045,19 +3244,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2156:10:6", + "src": "2284:10:6", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "2139:27:6", + "src": "2267:27:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "2093:73:6", + "src": "2221:73:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3071,21 +3270,21 @@ "typeString": "bool" } ], - "id": 5119, + "id": 5134, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "2085:7:6", + "referencedDeclaration": 11101, + "src": "2213:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 5133, + "id": 5148, "isConstant": false, "isLValue": false, "isPure": false, @@ -3093,32 +3292,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2085:82:6", + "src": "2213:82:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5134, + "id": 5149, "nodeType": "ExpressionStatement", - "src": "2085:82:6" + "src": "2213:82:6" }, { "expression": { "argumentTypes": null, - "id": 5137, + "id": 5152, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5135, + "id": 5150, "name": "trustedClaimManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "2177:19:6", + "referencedDeclaration": 5086, + "src": "2305:19:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3128,67 +3327,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 5136, + "id": 5151, "name": "_claimManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5092, - "src": "2199:13:6", + "referencedDeclaration": 5107, + "src": "2327:13:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2177:35:6", + "src": "2305:35:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 5138, + "id": 5153, "nodeType": "ExpressionStatement", - "src": "2177:35:6" + "src": "2305:35:6" } ] }, "documentation": null, - "id": 5140, + "id": 5155, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 5095, + "id": 5110, "modifierName": { "argumentTypes": null, - "id": 5094, + "id": 5109, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8703, - "src": "1882:11:6", + "referencedDeclaration": 9322, + "src": "2010:11:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1882:11:6" + "src": "2010:11:6" } ], "name": "init", "nodeType": "FunctionDefinition", "parameters": { - "id": 5093, + "id": 5108, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5090, + "id": 5105, "name": "_syscoinERC20Manager", "nodeType": "VariableDeclaration", - "scope": 5140, - "src": "1822:28:6", + "scope": 5155, + "src": "1950:28:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3196,10 +3395,10 @@ "typeString": "address" }, "typeName": { - "id": 5089, + "id": 5104, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1822:7:6", + "src": "1950:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3211,11 +3410,11 @@ }, { "constant": false, - "id": 5092, + "id": 5107, "name": "_claimManager", "nodeType": "VariableDeclaration", - "scope": 5140, - "src": "1852:21:6", + "scope": 5155, + "src": "1980:21:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3223,10 +3422,10 @@ "typeString": "address" }, "typeName": { - "id": 5091, + "id": 5106, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1852:7:6", + "src": "1980:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3237,25 +3436,25 @@ "visibility": "internal" } ], - "src": "1821:53:6" + "src": "1949:53:6" }, "returnParameters": { - "id": 5096, + "id": 5111, "nodeType": "ParameterList", "parameters": [], - "src": "1894:0:6" + "src": "2022:0:6" }, - "scope": 7493, - "src": "1808:411:6", + "scope": 7851, + "src": "1936:411:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5157, + "id": 5172, "nodeType": "Block", - "src": "2366:107:6", + "src": "2494:107:6", "statements": [ { "expression": { @@ -3264,7 +3463,7 @@ "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, - "id": 5155, + "id": 5170, "isConstant": false, "isLValue": false, "isPure": false, @@ -3273,26 +3472,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5149, + "id": 5164, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5142, - "src": "2440:7:6", + "referencedDeclaration": 5157, + "src": "2568:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5151, + "id": 5166, "indexExpression": { "argumentTypes": null, - "id": 5150, + "id": 5165, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5144, - "src": "2448:3:6", + "referencedDeclaration": 5159, + "src": "2576:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3303,7 +3502,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2440:12:6", + "src": "2568:12:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -3317,14 +3516,14 @@ { "argumentTypes": null, "hexValue": "30783661", - "id": 5153, + "id": 5168, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2461:4:6", + "src": "2589:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_106_by_1", @@ -3340,20 +3539,20 @@ "typeString": "int_const 106" } ], - "id": 5152, + "id": 5167, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2456:4:6", + "src": "2584:4:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 5154, + "id": 5169, "isConstant": false, "isLValue": false, "isPure": true, @@ -3361,43 +3560,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2456:10:6", + "src": "2584:10:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "src": "2440:26:6", + "src": "2568:26:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5148, - "id": 5156, + "functionReturnParameters": 5163, + "id": 5171, "nodeType": "Return", - "src": "2433:33:6" + "src": "2561:33:6" } ] }, "documentation": null, - "id": 5158, + "id": 5173, "implemented": true, "kind": "function", "modifiers": [], "name": "isOpReturn", "nodeType": "FunctionDefinition", "parameters": { - "id": 5145, + "id": 5160, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5142, + "id": 5157, "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 5158, - "src": "2305:20:6", + "scope": 5173, + "src": "2433:20:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3405,10 +3604,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5141, + "id": 5156, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2305:5:6", + "src": "2433:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3419,11 +3618,11 @@ }, { "constant": false, - "id": 5144, + "id": 5159, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 5158, - "src": "2327:8:6", + "scope": 5173, + "src": "2455:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3431,10 +3630,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5143, + "id": 5158, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2327:4:6", + "src": "2455:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3444,19 +3643,19 @@ "visibility": "internal" } ], - "src": "2304:32:6" + "src": "2432:32:6" }, "returnParameters": { - "id": 5148, + "id": 5163, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5147, + "id": 5162, "name": "", "nodeType": "VariableDeclaration", - "scope": 5158, - "src": "2360:4:6", + "scope": 5173, + "src": "2488:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3464,10 +3663,10 @@ "typeString": "bool" }, "typeName": { - "id": 5146, + "id": 5161, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2360:4:6", + "src": "2488:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3477,36 +3676,36 @@ "visibility": "internal" } ], - "src": "2359:6:6" + "src": "2487:6:6" }, - "scope": 7493, - "src": "2285:188:6", + "scope": 7851, + "src": "2413:188:6", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 5282, + "id": 5297, "nodeType": "Block", - "src": "2568:328:6", + "src": "2696:328:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 5280, + "id": 5295, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5167, + "id": 5182, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5165, - "src": "2578:6:6", + "referencedDeclaration": 5180, + "src": "2706:6:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -3520,7 +3719,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5279, + "id": 5294, "isConstant": false, "isLValue": false, "isPure": false, @@ -3531,7 +3730,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5266, + "id": 5281, "isConstant": false, "isLValue": false, "isPure": false, @@ -3542,7 +3741,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5251, + "id": 5266, "isConstant": false, "isLValue": false, "isPure": false, @@ -3553,7 +3752,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5236, + "id": 5251, "isConstant": false, "isLValue": false, "isPure": false, @@ -3564,7 +3763,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5221, + "id": 5236, "isConstant": false, "isLValue": false, "isPure": false, @@ -3575,7 +3774,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5206, + "id": 5221, "isConstant": false, "isLValue": false, "isPure": false, @@ -3586,7 +3785,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5191, + "id": 5206, "isConstant": false, "isLValue": false, "isPure": false, @@ -3601,37 +3800,37 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5170, + "id": 5185, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2600:5:6", + "referencedDeclaration": 5175, + "src": "2728:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5174, + "id": 5189, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5173, + "id": 5188, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5171, + "id": 5186, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2606:3:6", + "referencedDeclaration": 5177, + "src": "2734:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3642,14 +3841,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "37", - "id": 5172, + "id": 5187, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2610:1:6", + "src": "2738:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", @@ -3657,7 +3856,7 @@ }, "value": "7" }, - "src": "2606:5:6", + "src": "2734:5:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3668,7 +3867,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2600:12:6", + "src": "2728:12:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -3682,20 +3881,20 @@ "typeString": "bytes1" } ], - "id": 5169, + "id": 5184, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2594:5:6", + "src": "2722:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5175, + "id": 5190, "isConstant": false, "isLValue": false, "isPure": false, @@ -3703,7 +3902,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2594:19:6", + "src": "2722:19:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3717,20 +3916,20 @@ "typeString": "uint8" } ], - "id": 5168, + "id": 5183, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2587:6:6", + "src": "2715:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint64_$", "typeString": "type(uint64)" }, "typeName": "uint64" }, - "id": 5176, + "id": 5191, "isConstant": false, "isLValue": false, "isPure": false, @@ -3738,7 +3937,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2587:27:6", + "src": "2715:27:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -3752,7 +3951,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5190, + "id": 5205, "isConstant": false, "isLValue": false, "isPure": false, @@ -3767,37 +3966,37 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5179, + "id": 5194, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2630:5:6", + "referencedDeclaration": 5175, + "src": "2758:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5183, + "id": 5198, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5182, + "id": 5197, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5180, + "id": 5195, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2636:3:6", + "referencedDeclaration": 5177, + "src": "2764:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3808,14 +4007,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 5181, + "id": 5196, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2642:1:6", + "src": "2770:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -3823,7 +4022,7 @@ }, "value": "6" }, - "src": "2636:7:6", + "src": "2764:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3834,7 +4033,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2630:14:6", + "src": "2758:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -3848,20 +4047,20 @@ "typeString": "bytes1" } ], - "id": 5178, + "id": 5193, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2624:5:6", + "src": "2752:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5184, + "id": 5199, "isConstant": false, "isLValue": false, "isPure": false, @@ -3869,7 +4068,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2624:21:6", + "src": "2752:21:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3883,20 +4082,20 @@ "typeString": "uint8" } ], - "id": 5177, + "id": 5192, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2617:6:6", + "src": "2745:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint64_$", "typeString": "type(uint64)" }, "typeName": "uint64" }, - "id": 5185, + "id": 5200, "isConstant": false, "isLValue": false, "isPure": false, @@ -3904,7 +4103,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2617:29:6", + "src": "2745:29:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -3921,7 +4120,7 @@ "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" }, - "id": 5188, + "id": 5203, "isConstant": false, "isLValue": false, "isPure": true, @@ -3929,14 +4128,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5186, + "id": 5201, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2648:1:6", + "src": "2776:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -3949,14 +4148,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "38", - "id": 5187, + "id": 5202, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2651:1:6", + "src": "2779:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", @@ -3964,33 +4163,33 @@ }, "value": "8" }, - "src": "2648:4:6", + "src": "2776:4:6", "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" } } ], - "id": 5189, + "id": 5204, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2647:6:6", + "src": "2775:6:6", "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" } }, - "src": "2617:36:6", + "src": "2745:36:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "src": "2587:66:6", + "src": "2715:66:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -4004,7 +4203,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5205, + "id": 5220, "isConstant": false, "isLValue": false, "isPure": false, @@ -4019,37 +4218,37 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5194, + "id": 5209, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2669:5:6", + "referencedDeclaration": 5175, + "src": "2797:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5198, + "id": 5213, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5197, + "id": 5212, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5195, + "id": 5210, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2675:3:6", + "referencedDeclaration": 5177, + "src": "2803:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4060,14 +4259,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "35", - "id": 5196, + "id": 5211, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2681:1:6", + "src": "2809:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -4075,7 +4274,7 @@ }, "value": "5" }, - "src": "2675:7:6", + "src": "2803:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4086,7 +4285,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2669:14:6", + "src": "2797:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -4100,20 +4299,20 @@ "typeString": "bytes1" } ], - "id": 5193, + "id": 5208, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2663:5:6", + "src": "2791:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5199, + "id": 5214, "isConstant": false, "isLValue": false, "isPure": false, @@ -4121,7 +4320,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2663:21:6", + "src": "2791:21:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4135,20 +4334,20 @@ "typeString": "uint8" } ], - "id": 5192, + "id": 5207, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2656:6:6", + "src": "2784:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint64_$", "typeString": "type(uint64)" }, "typeName": "uint64" }, - "id": 5200, + "id": 5215, "isConstant": false, "isLValue": false, "isPure": false, @@ -4156,7 +4355,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2656:29:6", + "src": "2784:29:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -4173,7 +4372,7 @@ "typeIdentifier": "t_rational_65536_by_1", "typeString": "int_const 65536" }, - "id": 5203, + "id": 5218, "isConstant": false, "isLValue": false, "isPure": true, @@ -4181,14 +4380,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5201, + "id": 5216, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2687:1:6", + "src": "2815:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -4201,14 +4400,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3136", - "id": 5202, + "id": 5217, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2690:2:6", + "src": "2818:2:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", @@ -4216,33 +4415,33 @@ }, "value": "16" }, - "src": "2687:5:6", + "src": "2815:5:6", "typeDescriptions": { "typeIdentifier": "t_rational_65536_by_1", "typeString": "int_const 65536" } } ], - "id": 5204, + "id": 5219, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2686:7:6", + "src": "2814:7:6", "typeDescriptions": { "typeIdentifier": "t_rational_65536_by_1", "typeString": "int_const 65536" } }, - "src": "2656:37:6", + "src": "2784:37:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "src": "2587:106:6", + "src": "2715:106:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -4256,7 +4455,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5220, + "id": 5235, "isConstant": false, "isLValue": false, "isPure": false, @@ -4271,37 +4470,37 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5209, + "id": 5224, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2709:5:6", + "referencedDeclaration": 5175, + "src": "2837:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5213, + "id": 5228, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5212, + "id": 5227, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5210, + "id": 5225, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2715:3:6", + "referencedDeclaration": 5177, + "src": "2843:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4312,14 +4511,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "34", - "id": 5211, + "id": 5226, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2721:1:6", + "src": "2849:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -4327,7 +4526,7 @@ }, "value": "4" }, - "src": "2715:7:6", + "src": "2843:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4338,7 +4537,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2709:14:6", + "src": "2837:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -4352,20 +4551,20 @@ "typeString": "bytes1" } ], - "id": 5208, + "id": 5223, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2703:5:6", + "src": "2831:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5214, + "id": 5229, "isConstant": false, "isLValue": false, "isPure": false, @@ -4373,7 +4572,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2703:21:6", + "src": "2831:21:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4387,20 +4586,20 @@ "typeString": "uint8" } ], - "id": 5207, + "id": 5222, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2696:6:6", + "src": "2824:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint64_$", "typeString": "type(uint64)" }, "typeName": "uint64" }, - "id": 5215, + "id": 5230, "isConstant": false, "isLValue": false, "isPure": false, @@ -4408,7 +4607,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2696:29:6", + "src": "2824:29:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -4425,7 +4624,7 @@ "typeIdentifier": "t_rational_16777216_by_1", "typeString": "int_const 16777216" }, - "id": 5218, + "id": 5233, "isConstant": false, "isLValue": false, "isPure": true, @@ -4433,14 +4632,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5216, + "id": 5231, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2727:1:6", + "src": "2855:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -4453,14 +4652,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3234", - "id": 5217, + "id": 5232, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2730:2:6", + "src": "2858:2:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_24_by_1", @@ -4468,33 +4667,33 @@ }, "value": "24" }, - "src": "2727:5:6", + "src": "2855:5:6", "typeDescriptions": { "typeIdentifier": "t_rational_16777216_by_1", "typeString": "int_const 16777216" } } ], - "id": 5219, + "id": 5234, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2726:7:6", + "src": "2854:7:6", "typeDescriptions": { "typeIdentifier": "t_rational_16777216_by_1", "typeString": "int_const 16777216" } }, - "src": "2696:37:6", + "src": "2824:37:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "src": "2587:146:6", + "src": "2715:146:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -4508,7 +4707,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5235, + "id": 5250, "isConstant": false, "isLValue": false, "isPure": false, @@ -4523,37 +4722,37 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5224, + "id": 5239, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2749:5:6", + "referencedDeclaration": 5175, + "src": "2877:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5228, + "id": 5243, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5227, + "id": 5242, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5225, + "id": 5240, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2755:3:6", + "referencedDeclaration": 5177, + "src": "2883:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4564,14 +4763,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 5226, + "id": 5241, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2761:1:6", + "src": "2889:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -4579,7 +4778,7 @@ }, "value": "3" }, - "src": "2755:7:6", + "src": "2883:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4590,7 +4789,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2749:14:6", + "src": "2877:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -4604,20 +4803,20 @@ "typeString": "bytes1" } ], - "id": 5223, + "id": 5238, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2743:5:6", + "src": "2871:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5229, + "id": 5244, "isConstant": false, "isLValue": false, "isPure": false, @@ -4625,7 +4824,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2743:21:6", + "src": "2871:21:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4639,20 +4838,20 @@ "typeString": "uint8" } ], - "id": 5222, + "id": 5237, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2736:6:6", + "src": "2864:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint64_$", "typeString": "type(uint64)" }, "typeName": "uint64" }, - "id": 5230, + "id": 5245, "isConstant": false, "isLValue": false, "isPure": false, @@ -4660,7 +4859,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2736:29:6", + "src": "2864:29:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -4677,7 +4876,7 @@ "typeIdentifier": "t_rational_4294967296_by_1", "typeString": "int_const 4294967296" }, - "id": 5233, + "id": 5248, "isConstant": false, "isLValue": false, "isPure": true, @@ -4685,14 +4884,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5231, + "id": 5246, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2767:1:6", + "src": "2895:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -4705,14 +4904,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 5232, + "id": 5247, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2770:2:6", + "src": "2898:2:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", @@ -4720,33 +4919,33 @@ }, "value": "32" }, - "src": "2767:5:6", + "src": "2895:5:6", "typeDescriptions": { "typeIdentifier": "t_rational_4294967296_by_1", "typeString": "int_const 4294967296" } } ], - "id": 5234, + "id": 5249, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2766:7:6", + "src": "2894:7:6", "typeDescriptions": { "typeIdentifier": "t_rational_4294967296_by_1", "typeString": "int_const 4294967296" } }, - "src": "2736:37:6", + "src": "2864:37:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "src": "2587:186:6", + "src": "2715:186:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -4760,7 +4959,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5250, + "id": 5265, "isConstant": false, "isLValue": false, "isPure": false, @@ -4775,37 +4974,37 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5239, + "id": 5254, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2789:5:6", + "referencedDeclaration": 5175, + "src": "2917:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5243, + "id": 5258, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5242, + "id": 5257, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5240, + "id": 5255, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2795:3:6", + "referencedDeclaration": 5177, + "src": "2923:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4816,14 +5015,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5241, + "id": 5256, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2801:1:6", + "src": "2929:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -4831,7 +5030,7 @@ }, "value": "2" }, - "src": "2795:7:6", + "src": "2923:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4842,7 +5041,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2789:14:6", + "src": "2917:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -4856,20 +5055,20 @@ "typeString": "bytes1" } ], - "id": 5238, + "id": 5253, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2783:5:6", + "src": "2911:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5244, + "id": 5259, "isConstant": false, "isLValue": false, "isPure": false, @@ -4877,7 +5076,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2783:21:6", + "src": "2911:21:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4891,20 +5090,20 @@ "typeString": "uint8" } ], - "id": 5237, + "id": 5252, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2776:6:6", + "src": "2904:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint64_$", "typeString": "type(uint64)" }, "typeName": "uint64" }, - "id": 5245, + "id": 5260, "isConstant": false, "isLValue": false, "isPure": false, @@ -4912,7 +5111,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2776:29:6", + "src": "2904:29:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -4929,7 +5128,7 @@ "typeIdentifier": "t_rational_1099511627776_by_1", "typeString": "int_const 1099511627776" }, - "id": 5248, + "id": 5263, "isConstant": false, "isLValue": false, "isPure": true, @@ -4937,14 +5136,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5246, + "id": 5261, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2807:1:6", + "src": "2935:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -4957,14 +5156,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3430", - "id": 5247, + "id": 5262, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2810:2:6", + "src": "2938:2:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_40_by_1", @@ -4972,33 +5171,33 @@ }, "value": "40" }, - "src": "2807:5:6", + "src": "2935:5:6", "typeDescriptions": { "typeIdentifier": "t_rational_1099511627776_by_1", "typeString": "int_const 1099511627776" } } ], - "id": 5249, + "id": 5264, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2806:7:6", + "src": "2934:7:6", "typeDescriptions": { "typeIdentifier": "t_rational_1099511627776_by_1", "typeString": "int_const 1099511627776" } }, - "src": "2776:37:6", + "src": "2904:37:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "src": "2587:226:6", + "src": "2715:226:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -5012,7 +5211,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5265, + "id": 5280, "isConstant": false, "isLValue": false, "isPure": false, @@ -5027,37 +5226,37 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5254, + "id": 5269, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2829:5:6", + "referencedDeclaration": 5175, + "src": "2957:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5258, + "id": 5273, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5257, + "id": 5272, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5255, + "id": 5270, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2835:3:6", + "referencedDeclaration": 5177, + "src": "2963:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5068,14 +5267,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 5256, + "id": 5271, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2841:1:6", + "src": "2969:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -5083,7 +5282,7 @@ }, "value": "1" }, - "src": "2835:7:6", + "src": "2963:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5094,7 +5293,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2829:14:6", + "src": "2957:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -5108,20 +5307,20 @@ "typeString": "bytes1" } ], - "id": 5253, + "id": 5268, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2823:5:6", + "src": "2951:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5259, + "id": 5274, "isConstant": false, "isLValue": false, "isPure": false, @@ -5129,7 +5328,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2823:21:6", + "src": "2951:21:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5143,20 +5342,20 @@ "typeString": "uint8" } ], - "id": 5252, + "id": 5267, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2816:6:6", + "src": "2944:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint64_$", "typeString": "type(uint64)" }, "typeName": "uint64" }, - "id": 5260, + "id": 5275, "isConstant": false, "isLValue": false, "isPure": false, @@ -5164,7 +5363,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2816:29:6", + "src": "2944:29:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -5181,7 +5380,7 @@ "typeIdentifier": "t_rational_281474976710656_by_1", "typeString": "int_const 281474976710656" }, - "id": 5263, + "id": 5278, "isConstant": false, "isLValue": false, "isPure": true, @@ -5189,14 +5388,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5261, + "id": 5276, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2847:1:6", + "src": "2975:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -5209,14 +5408,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3438", - "id": 5262, + "id": 5277, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2850:2:6", + "src": "2978:2:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_48_by_1", @@ -5224,33 +5423,33 @@ }, "value": "48" }, - "src": "2847:5:6", + "src": "2975:5:6", "typeDescriptions": { "typeIdentifier": "t_rational_281474976710656_by_1", "typeString": "int_const 281474976710656" } } ], - "id": 5264, + "id": 5279, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2846:7:6", + "src": "2974:7:6", "typeDescriptions": { "typeIdentifier": "t_rational_281474976710656_by_1", "typeString": "int_const 281474976710656" } }, - "src": "2816:37:6", + "src": "2944:37:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "src": "2587:266:6", + "src": "2715:266:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -5264,7 +5463,7 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 5278, + "id": 5293, "isConstant": false, "isLValue": false, "isPure": false, @@ -5279,26 +5478,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5269, + "id": 5284, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2869:5:6", + "referencedDeclaration": 5175, + "src": "2997:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5271, + "id": 5286, "indexExpression": { "argumentTypes": null, - "id": 5270, + "id": 5285, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2875:3:6", + "referencedDeclaration": 5177, + "src": "3003:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5309,7 +5508,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2869:10:6", + "src": "2997:10:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -5323,20 +5522,20 @@ "typeString": "bytes1" } ], - "id": 5268, + "id": 5283, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2863:5:6", + "src": "2991:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5272, + "id": 5287, "isConstant": false, "isLValue": false, "isPure": false, @@ -5344,7 +5543,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2863:17:6", + "src": "2991:17:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5358,20 +5557,20 @@ "typeString": "uint8" } ], - "id": 5267, + "id": 5282, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2856:6:6", + "src": "2984:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint64_$", "typeString": "type(uint64)" }, "typeName": "uint64" }, - "id": 5273, + "id": 5288, "isConstant": false, "isLValue": false, "isPure": false, @@ -5379,7 +5578,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2856:25:6", + "src": "2984:25:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -5396,7 +5595,7 @@ "typeIdentifier": "t_rational_72057594037927936_by_1", "typeString": "int_const 72057594037927936" }, - "id": 5276, + "id": 5291, "isConstant": false, "isLValue": false, "isPure": true, @@ -5404,14 +5603,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5274, + "id": 5289, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2883:1:6", + "src": "3011:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -5424,14 +5623,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3536", - "id": 5275, + "id": 5290, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2886:2:6", + "src": "3014:2:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_56_by_1", @@ -5439,68 +5638,68 @@ }, "value": "56" }, - "src": "2883:5:6", + "src": "3011:5:6", "typeDescriptions": { "typeIdentifier": "t_rational_72057594037927936_by_1", "typeString": "int_const 72057594037927936" } } ], - "id": 5277, + "id": 5292, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2882:7:6", + "src": "3010:7:6", "typeDescriptions": { "typeIdentifier": "t_rational_72057594037927936_by_1", "typeString": "int_const 72057594037927936" } }, - "src": "2856:33:6", + "src": "2984:33:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "src": "2587:302:6", + "src": "2715:302:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "src": "2578:311:6", + "src": "2706:311:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "id": 5281, + "id": 5296, "nodeType": "ExpressionStatement", - "src": "2578:311:6" + "src": "2706:311:6" } ] }, "documentation": null, - "id": 5283, + "id": 5298, "implemented": true, "kind": "function", "modifiers": [], "name": "bytesToUint64", "nodeType": "FunctionDefinition", "parameters": { - "id": 5163, + "id": 5178, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5160, + "id": 5175, "name": "input", "nodeType": "VariableDeclaration", - "scope": 5283, - "src": "2502:18:6", + "scope": 5298, + "src": "2630:18:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5508,10 +5707,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5159, + "id": 5174, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2502:5:6", + "src": "2630:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5522,11 +5721,11 @@ }, { "constant": false, - "id": 5162, + "id": 5177, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 5283, - "src": "2522:8:6", + "scope": 5298, + "src": "2650:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5534,10 +5733,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5161, + "id": 5176, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2522:4:6", + "src": "2650:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5547,19 +5746,19 @@ "visibility": "internal" } ], - "src": "2501:30:6" + "src": "2629:30:6" }, "returnParameters": { - "id": 5166, + "id": 5181, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5165, + "id": 5180, "name": "result", "nodeType": "VariableDeclaration", - "scope": 5283, - "src": "2553:13:6", + "scope": 5298, + "src": "2681:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5567,10 +5766,10 @@ "typeString": "uint64" }, "typeName": { - "id": 5164, + "id": 5179, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "2553:6:6", + "src": "2681:6:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -5580,36 +5779,36 @@ "visibility": "internal" } ], - "src": "2552:15:6" + "src": "2680:15:6" }, - "scope": 7493, - "src": "2479:417:6", + "scope": 7851, + "src": "2607:417:6", "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5347, + "id": 5362, "nodeType": "Block", - "src": "2991:168:6", + "src": "3119:168:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 5345, + "id": 5360, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5292, + "id": 5307, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5290, - "src": "3001:6:6", + "referencedDeclaration": 5305, + "src": "3129:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -5623,7 +5822,7 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 5344, + "id": 5359, "isConstant": false, "isLValue": false, "isPure": false, @@ -5634,7 +5833,7 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 5331, + "id": 5346, "isConstant": false, "isLValue": false, "isPure": false, @@ -5645,7 +5844,7 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 5316, + "id": 5331, "isConstant": false, "isLValue": false, "isPure": false, @@ -5660,37 +5859,37 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5295, + "id": 5310, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5285, - "src": "3023:5:6", + "referencedDeclaration": 5300, + "src": "3151:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5299, + "id": 5314, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5298, + "id": 5313, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5296, + "id": 5311, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5287, - "src": "3029:3:6", + "referencedDeclaration": 5302, + "src": "3157:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5701,14 +5900,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 5297, + "id": 5312, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3033:1:6", + "src": "3161:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -5716,7 +5915,7 @@ }, "value": "3" }, - "src": "3029:5:6", + "src": "3157:5:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5727,7 +5926,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3023:12:6", + "src": "3151:12:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -5741,20 +5940,20 @@ "typeString": "bytes1" } ], - "id": 5294, + "id": 5309, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3017:5:6", + "src": "3145:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5300, + "id": 5315, "isConstant": false, "isLValue": false, "isPure": false, @@ -5762,7 +5961,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3017:19:6", + "src": "3145:19:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5776,20 +5975,20 @@ "typeString": "uint8" } ], - "id": 5293, + "id": 5308, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3010:6:6", + "src": "3138:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint32_$", "typeString": "type(uint32)" }, "typeName": "uint32" }, - "id": 5301, + "id": 5316, "isConstant": false, "isLValue": false, "isPure": false, @@ -5797,7 +5996,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3010:27:6", + "src": "3138:27:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -5811,7 +6010,7 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 5315, + "id": 5330, "isConstant": false, "isLValue": false, "isPure": false, @@ -5826,37 +6025,37 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5304, + "id": 5319, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5285, - "src": "3053:5:6", + "referencedDeclaration": 5300, + "src": "3181:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5308, + "id": 5323, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5307, + "id": 5322, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5305, + "id": 5320, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5287, - "src": "3059:3:6", + "referencedDeclaration": 5302, + "src": "3187:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5867,14 +6066,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5306, + "id": 5321, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3065:1:6", + "src": "3193:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -5882,7 +6081,7 @@ }, "value": "2" }, - "src": "3059:7:6", + "src": "3187:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5893,7 +6092,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3053:14:6", + "src": "3181:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -5907,20 +6106,20 @@ "typeString": "bytes1" } ], - "id": 5303, + "id": 5318, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3047:5:6", + "src": "3175:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5309, + "id": 5324, "isConstant": false, "isLValue": false, "isPure": false, @@ -5928,7 +6127,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3047:21:6", + "src": "3175:21:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5942,20 +6141,20 @@ "typeString": "uint8" } ], - "id": 5302, + "id": 5317, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3040:6:6", + "src": "3168:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint32_$", "typeString": "type(uint32)" }, "typeName": "uint32" }, - "id": 5310, + "id": 5325, "isConstant": false, "isLValue": false, "isPure": false, @@ -5963,7 +6162,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3040:29:6", + "src": "3168:29:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -5980,7 +6179,7 @@ "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" }, - "id": 5313, + "id": 5328, "isConstant": false, "isLValue": false, "isPure": true, @@ -5988,14 +6187,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5311, + "id": 5326, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3071:1:6", + "src": "3199:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -6008,14 +6207,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "38", - "id": 5312, + "id": 5327, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3074:1:6", + "src": "3202:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", @@ -6023,33 +6222,33 @@ }, "value": "8" }, - "src": "3071:4:6", + "src": "3199:4:6", "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" } } ], - "id": 5314, + "id": 5329, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3070:6:6", + "src": "3198:6:6", "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" } }, - "src": "3040:36:6", + "src": "3168:36:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "src": "3010:66:6", + "src": "3138:66:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -6063,7 +6262,7 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 5330, + "id": 5345, "isConstant": false, "isLValue": false, "isPure": false, @@ -6078,37 +6277,37 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5319, + "id": 5334, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5285, - "src": "3092:5:6", + "referencedDeclaration": 5300, + "src": "3220:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5323, + "id": 5338, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5322, + "id": 5337, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5320, + "id": 5335, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5287, - "src": "3098:3:6", + "referencedDeclaration": 5302, + "src": "3226:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6119,14 +6318,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 5321, + "id": 5336, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3104:1:6", + "src": "3232:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -6134,7 +6333,7 @@ }, "value": "1" }, - "src": "3098:7:6", + "src": "3226:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6145,7 +6344,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3092:14:6", + "src": "3220:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -6159,20 +6358,20 @@ "typeString": "bytes1" } ], - "id": 5318, + "id": 5333, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3086:5:6", + "src": "3214:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5324, + "id": 5339, "isConstant": false, "isLValue": false, "isPure": false, @@ -6180,7 +6379,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3086:21:6", + "src": "3214:21:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6194,20 +6393,20 @@ "typeString": "uint8" } ], - "id": 5317, + "id": 5332, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3079:6:6", + "src": "3207:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint32_$", "typeString": "type(uint32)" }, "typeName": "uint32" }, - "id": 5325, + "id": 5340, "isConstant": false, "isLValue": false, "isPure": false, @@ -6215,7 +6414,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3079:29:6", + "src": "3207:29:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -6232,7 +6431,7 @@ "typeIdentifier": "t_rational_65536_by_1", "typeString": "int_const 65536" }, - "id": 5328, + "id": 5343, "isConstant": false, "isLValue": false, "isPure": true, @@ -6240,14 +6439,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5326, + "id": 5341, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3110:1:6", + "src": "3238:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -6260,14 +6459,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3136", - "id": 5327, + "id": 5342, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3113:2:6", + "src": "3241:2:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", @@ -6275,33 +6474,33 @@ }, "value": "16" }, - "src": "3110:5:6", + "src": "3238:5:6", "typeDescriptions": { "typeIdentifier": "t_rational_65536_by_1", "typeString": "int_const 65536" } } ], - "id": 5329, + "id": 5344, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3109:7:6", + "src": "3237:7:6", "typeDescriptions": { "typeIdentifier": "t_rational_65536_by_1", "typeString": "int_const 65536" } }, - "src": "3079:37:6", + "src": "3207:37:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "src": "3010:106:6", + "src": "3138:106:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -6315,7 +6514,7 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 5343, + "id": 5358, "isConstant": false, "isLValue": false, "isPure": false, @@ -6330,26 +6529,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5334, + "id": 5349, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5285, - "src": "3132:5:6", + "referencedDeclaration": 5300, + "src": "3260:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5336, + "id": 5351, "indexExpression": { "argumentTypes": null, - "id": 5335, + "id": 5350, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5287, - "src": "3138:3:6", + "referencedDeclaration": 5302, + "src": "3266:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6360,7 +6559,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3132:10:6", + "src": "3260:10:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -6374,20 +6573,20 @@ "typeString": "bytes1" } ], - "id": 5333, + "id": 5348, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3126:5:6", + "src": "3254:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5337, + "id": 5352, "isConstant": false, "isLValue": false, "isPure": false, @@ -6395,7 +6594,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3126:17:6", + "src": "3254:17:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6409,20 +6608,20 @@ "typeString": "uint8" } ], - "id": 5332, + "id": 5347, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3119:6:6", + "src": "3247:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint32_$", "typeString": "type(uint32)" }, "typeName": "uint32" }, - "id": 5338, + "id": 5353, "isConstant": false, "isLValue": false, "isPure": false, @@ -6430,7 +6629,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3119:25:6", + "src": "3247:25:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -6447,7 +6646,7 @@ "typeIdentifier": "t_rational_16777216_by_1", "typeString": "int_const 16777216" }, - "id": 5341, + "id": 5356, "isConstant": false, "isLValue": false, "isPure": true, @@ -6455,14 +6654,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5339, + "id": 5354, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3146:1:6", + "src": "3274:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -6475,14 +6674,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3234", - "id": 5340, + "id": 5355, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3149:2:6", + "src": "3277:2:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_24_by_1", @@ -6490,68 +6689,68 @@ }, "value": "24" }, - "src": "3146:5:6", + "src": "3274:5:6", "typeDescriptions": { "typeIdentifier": "t_rational_16777216_by_1", "typeString": "int_const 16777216" } } ], - "id": 5342, + "id": 5357, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3145:7:6", + "src": "3273:7:6", "typeDescriptions": { "typeIdentifier": "t_rational_16777216_by_1", "typeString": "int_const 16777216" } }, - "src": "3119:33:6", + "src": "3247:33:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "src": "3010:142:6", + "src": "3138:142:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "src": "3001:151:6", + "src": "3129:151:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "id": 5346, + "id": 5361, "nodeType": "ExpressionStatement", - "src": "3001:151:6" + "src": "3129:151:6" } ] }, "documentation": null, - "id": 5348, + "id": 5363, "implemented": true, "kind": "function", "modifiers": [], "name": "bytesToUint32", "nodeType": "FunctionDefinition", "parameters": { - "id": 5288, + "id": 5303, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5285, + "id": 5300, "name": "input", "nodeType": "VariableDeclaration", - "scope": 5348, - "src": "2925:18:6", + "scope": 5363, + "src": "3053:18:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6559,10 +6758,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5284, + "id": 5299, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2925:5:6", + "src": "3053:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -6573,11 +6772,11 @@ }, { "constant": false, - "id": 5287, + "id": 5302, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 5348, - "src": "2945:8:6", + "scope": 5363, + "src": "3073:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6585,10 +6784,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5286, + "id": 5301, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2945:4:6", + "src": "3073:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6598,19 +6797,19 @@ "visibility": "internal" } ], - "src": "2924:30:6" + "src": "3052:30:6" }, "returnParameters": { - "id": 5291, + "id": 5306, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5290, + "id": 5305, "name": "result", "nodeType": "VariableDeclaration", - "scope": 5348, - "src": "2976:13:6", + "scope": 5363, + "src": "3104:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6618,10 +6817,10 @@ "typeString": "uint32" }, "typeName": { - "id": 5289, + "id": 5304, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "2976:6:6", + "src": "3104:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -6631,32 +6830,32 @@ "visibility": "internal" } ], - "src": "2975:15:6" + "src": "3103:15:6" }, - "scope": 7493, - "src": "2902:257:6", + "scope": 7851, + "src": "3030:257:6", "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5517, + "id": 5532, "nodeType": "Block", - "src": "3413:1182:6", + "src": "3541:1182:6", "statements": [ { "assignments": [ - 5366 + 5381 ], "declarations": [ { "constant": false, - "id": 5366, + "id": 5381, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 5517, - "src": "3423:16:6", + "scope": 5532, + "src": "3551:16:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6664,10 +6863,10 @@ "typeString": "uint32" }, "typeName": { - "id": 5365, + "id": 5380, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3423:6:6", + "src": "3551:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -6677,23 +6876,23 @@ "visibility": "internal" } ], - "id": 5367, + "id": 5382, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3423:16:6" + "src": "3551:16:6" }, { "assignments": [ - 5369 + 5384 ], "declarations": [ { "constant": false, - "id": 5369, + "id": 5384, "name": "destinationAddress", "nodeType": "VariableDeclaration", - "scope": 5517, - "src": "3449:26:6", + "scope": 5532, + "src": "3577:26:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6701,10 +6900,10 @@ "typeString": "address" }, "typeName": { - "id": 5368, + "id": 5383, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3449:7:6", + "src": "3577:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6715,23 +6914,23 @@ "visibility": "internal" } ], - "id": 5370, + "id": 5385, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3449:26:6" + "src": "3577:26:6" }, { "assignments": [ - 5372 + 5387 ], "declarations": [ { "constant": false, - "id": 5372, + "id": 5387, "name": "erc20Address", "nodeType": "VariableDeclaration", - "scope": 5517, - "src": "3485:20:6", + "scope": 5532, + "src": "3613:20:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6739,10 +6938,10 @@ "typeString": "address" }, "typeName": { - "id": 5371, + "id": 5386, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3485:7:6", + "src": "3613:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6753,23 +6952,23 @@ "visibility": "internal" } ], - "id": 5373, + "id": 5388, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3485:20:6" + "src": "3613:20:6" }, { "assignments": [ - 5375 + 5390 ], "declarations": [ { "constant": false, - "id": 5375, + "id": 5390, "name": "output_value", "nodeType": "VariableDeclaration", - "scope": 5517, - "src": "3515:17:6", + "scope": 5532, + "src": "3643:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6777,10 +6976,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5374, + "id": 5389, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3515:4:6", + "src": "3643:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6790,23 +6989,23 @@ "visibility": "internal" } ], - "id": 5376, + "id": 5391, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3515:17:6" + "src": "3643:17:6" }, { "assignments": [ - 5378 + 5393 ], "declarations": [ { "constant": false, - "id": 5378, + "id": 5393, "name": "precision", "nodeType": "VariableDeclaration", - "scope": 5517, - "src": "3542:15:6", + "scope": 5532, + "src": "3670:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6814,10 +7013,10 @@ "typeString": "uint8" }, "typeName": { - "id": 5377, + "id": 5392, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3542:5:6", + "src": "3670:5:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6827,23 +7026,23 @@ "visibility": "internal" } ], - "id": 5379, + "id": 5394, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3542:15:6" + "src": "3670:15:6" }, { "assignments": [ - 5381 + 5396 ], "declarations": [ { "constant": false, - "id": 5381, + "id": 5396, "name": "op", "nodeType": "VariableDeclaration", - "scope": 5517, - "src": "3567:8:6", + "scope": 5532, + "src": "3695:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6851,10 +7050,10 @@ "typeString": "uint8" }, "typeName": { - "id": 5380, + "id": 5395, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3567:5:6", + "src": "3695:5:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6864,15 +7063,15 @@ "visibility": "internal" } ], - "id": 5382, + "id": 5397, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3567:8:6" + "src": "3695:8:6" }, { "expression": { "argumentTypes": null, - "id": 5390, + "id": 5405, "isConstant": false, "isLValue": false, "isPure": false, @@ -6882,12 +7081,12 @@ "components": [ { "argumentTypes": null, - "id": 5383, + "id": 5398, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3606:2:6", + "referencedDeclaration": 5396, + "src": "3734:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6895,26 +7094,26 @@ }, { "argumentTypes": null, - "id": 5384, + "id": 5399, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3610:3:6", + "referencedDeclaration": 5367, + "src": "3738:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5385, + "id": 5400, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "3605:9:6", + "src": "3733:9:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", "typeString": "tuple(uint8,uint256)" @@ -6927,12 +7126,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5387, + "id": 5402, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "3627:7:6", + "referencedDeclaration": 5365, + "src": "3755:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -6940,12 +7139,12 @@ }, { "argumentTypes": null, - "id": 5388, + "id": 5403, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3636:3:6", + "referencedDeclaration": 5367, + "src": "3764:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6963,18 +7162,18 @@ "typeString": "uint256" } ], - "id": 5386, + "id": 5401, "name": "getOpcode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "3617:9:6", + "referencedDeclaration": 5582, + "src": "3745:9:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" } }, - "id": 5389, + "id": 5404, "isConstant": false, "isLValue": false, "isPure": false, @@ -6982,21 +7181,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3617:23:6", + "src": "3745:23:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", "typeString": "tuple(uint8,uint256)" } }, - "src": "3605:35:6", + "src": "3733:35:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5391, + "id": 5406, "nodeType": "ExpressionStatement", - "src": "3605:35:6" + "src": "3733:35:6" }, { "expression": { @@ -7008,19 +7207,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 5395, + "id": 5410, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5393, + "id": 5408, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3699:2:6", + "referencedDeclaration": 5396, + "src": "3827:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7031,14 +7230,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30783034", - "id": 5394, + "id": 5409, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3705:4:6", + "src": "3833:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -7046,7 +7245,7 @@ }, "value": "0x04" }, - "src": "3699:10:6", + "src": "3827:10:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7060,21 +7259,21 @@ "typeString": "bool" } ], - "id": 5392, + "id": 5407, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "3691:7:6", + "referencedDeclaration": 11101, + "src": "3819:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 5396, + "id": 5411, "isConstant": false, "isLValue": false, "isPure": false, @@ -7082,32 +7281,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3691:19:6", + "src": "3819:19:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5397, + "id": 5412, "nodeType": "ExpressionStatement", - "src": "3691:19:6" + "src": "3819:19:6" }, { "expression": { "argumentTypes": null, - "id": 5403, + "id": 5418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5398, + "id": 5413, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5366, - "src": "3720:9:6", + "referencedDeclaration": 5381, + "src": "3848:9:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -7120,12 +7319,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5400, + "id": 5415, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "3746:7:6", + "referencedDeclaration": 5365, + "src": "3874:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -7133,12 +7332,12 @@ }, { "argumentTypes": null, - "id": 5401, + "id": 5416, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3755:3:6", + "referencedDeclaration": 5367, + "src": "3883:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7156,18 +7355,18 @@ "typeString": "uint256" } ], - "id": 5399, + "id": 5414, "name": "bytesToUint32", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5348, - "src": "3732:13:6", + "referencedDeclaration": 5363, + "src": "3860:13:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", "typeString": "function (bytes memory,uint256) pure returns (uint32)" } }, - "id": 5402, + "id": 5417, "isConstant": false, "isLValue": false, "isPure": false, @@ -7175,38 +7374,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3732:27:6", + "src": "3860:27:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "src": "3720:39:6", + "src": "3848:39:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "id": 5404, + "id": 5419, "nodeType": "ExpressionStatement", - "src": "3720:39:6" + "src": "3848:39:6" }, { "expression": { "argumentTypes": null, - "id": 5407, + "id": 5422, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5405, + "id": 5420, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3769:3:6", + "referencedDeclaration": 5367, + "src": "3897:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7216,31 +7415,31 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 5406, + "id": 5421, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3776:2:6", + "referencedDeclaration": 5396, + "src": "3904:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "3769:9:6", + "src": "3897:9:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5408, + "id": 5423, "nodeType": "ExpressionStatement", - "src": "3769:9:6" + "src": "3897:9:6" }, { "expression": { "argumentTypes": null, - "id": 5416, + "id": 5431, "isConstant": false, "isLValue": false, "isPure": false, @@ -7250,12 +7449,12 @@ "components": [ { "argumentTypes": null, - "id": 5409, + "id": 5424, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3807:2:6", + "referencedDeclaration": 5396, + "src": "3935:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7263,26 +7462,26 @@ }, { "argumentTypes": null, - "id": 5410, + "id": 5425, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3811:3:6", + "referencedDeclaration": 5367, + "src": "3939:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5411, + "id": 5426, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "3806:9:6", + "src": "3934:9:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", "typeString": "tuple(uint8,uint256)" @@ -7295,12 +7494,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5413, + "id": 5428, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "3828:7:6", + "referencedDeclaration": 5365, + "src": "3956:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -7308,12 +7507,12 @@ }, { "argumentTypes": null, - "id": 5414, + "id": 5429, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3837:3:6", + "referencedDeclaration": 5367, + "src": "3965:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7331,18 +7530,18 @@ "typeString": "uint256" } ], - "id": 5412, + "id": 5427, "name": "getOpcode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "3818:9:6", + "referencedDeclaration": 5582, + "src": "3946:9:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" } }, - "id": 5415, + "id": 5430, "isConstant": false, "isLValue": false, "isPure": false, @@ -7350,21 +7549,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3818:23:6", + "src": "3946:23:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", "typeString": "tuple(uint8,uint256)" } }, - "src": "3806:35:6", + "src": "3934:35:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5417, + "id": 5432, "nodeType": "ExpressionStatement", - "src": "3806:35:6" + "src": "3934:35:6" }, { "expression": { @@ -7376,19 +7575,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 5421, + "id": 5436, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5419, + "id": 5434, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3859:2:6", + "referencedDeclaration": 5396, + "src": "3987:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7399,14 +7598,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30783038", - "id": 5420, + "id": 5435, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3865:4:6", + "src": "3993:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", @@ -7414,7 +7613,7 @@ }, "value": "0x08" }, - "src": "3859:10:6", + "src": "3987:10:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7428,21 +7627,21 @@ "typeString": "bool" } ], - "id": 5418, + "id": 5433, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "3851:7:6", + "referencedDeclaration": 11101, + "src": "3979:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 5422, + "id": 5437, "isConstant": false, "isLValue": false, "isPure": false, @@ -7450,32 +7649,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3851:19:6", + "src": "3979:19:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5423, + "id": 5438, "nodeType": "ExpressionStatement", - "src": "3851:19:6" + "src": "3979:19:6" }, { "expression": { "argumentTypes": null, - "id": 5429, + "id": 5444, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5424, + "id": 5439, "name": "output_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5375, - "src": "3880:12:6", + "referencedDeclaration": 5390, + "src": "4008:12:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7488,12 +7687,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5426, + "id": 5441, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "3909:7:6", + "referencedDeclaration": 5365, + "src": "4037:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -7501,12 +7700,12 @@ }, { "argumentTypes": null, - "id": 5427, + "id": 5442, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3918:3:6", + "referencedDeclaration": 5367, + "src": "4046:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7524,18 +7723,18 @@ "typeString": "uint256" } ], - "id": 5425, + "id": 5440, "name": "bytesToUint64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5283, - "src": "3895:13:6", + "referencedDeclaration": 5298, + "src": "4023:13:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint64_$", "typeString": "function (bytes memory,uint256) pure returns (uint64)" } }, - "id": 5428, + "id": 5443, "isConstant": false, "isLValue": false, "isPure": false, @@ -7543,38 +7742,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3895:27:6", + "src": "4023:27:6", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "src": "3880:42:6", + "src": "4008:42:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5430, + "id": 5445, "nodeType": "ExpressionStatement", - "src": "3880:42:6" + "src": "4008:42:6" }, { "expression": { "argumentTypes": null, - "id": 5433, + "id": 5448, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5431, + "id": 5446, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3932:3:6", + "referencedDeclaration": 5367, + "src": "4060:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7584,31 +7783,31 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 5432, + "id": 5447, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3939:2:6", + "referencedDeclaration": 5396, + "src": "4067:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "3932:9:6", + "src": "4060:9:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5434, + "id": 5449, "nodeType": "ExpressionStatement", - "src": "3932:9:6" + "src": "4060:9:6" }, { "expression": { "argumentTypes": null, - "id": 5442, + "id": 5457, "isConstant": false, "isLValue": false, "isPure": false, @@ -7618,12 +7817,12 @@ "components": [ { "argumentTypes": null, - "id": 5435, + "id": 5450, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3984:2:6", + "referencedDeclaration": 5396, + "src": "4112:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7631,26 +7830,26 @@ }, { "argumentTypes": null, - "id": 5436, + "id": 5451, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3988:3:6", + "referencedDeclaration": 5367, + "src": "4116:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5437, + "id": 5452, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "3983:9:6", + "src": "4111:9:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", "typeString": "tuple(uint8,uint256)" @@ -7663,12 +7862,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5439, + "id": 5454, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "4005:7:6", + "referencedDeclaration": 5365, + "src": "4133:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -7676,12 +7875,12 @@ }, { "argumentTypes": null, - "id": 5440, + "id": 5455, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4014:3:6", + "referencedDeclaration": 5367, + "src": "4142:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7699,18 +7898,18 @@ "typeString": "uint256" } ], - "id": 5438, + "id": 5453, "name": "getOpcode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "3995:9:6", + "referencedDeclaration": 5582, + "src": "4123:9:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" } }, - "id": 5441, + "id": 5456, "isConstant": false, "isLValue": false, "isPure": false, @@ -7718,21 +7917,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3995:23:6", + "src": "4123:23:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", "typeString": "tuple(uint8,uint256)" } }, - "src": "3983:35:6", + "src": "4111:35:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5443, + "id": 5458, "nodeType": "ExpressionStatement", - "src": "3983:35:6" + "src": "4111:35:6" }, { "expression": { @@ -7744,19 +7943,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 5447, + "id": 5462, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5445, + "id": 5460, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4096:2:6", + "referencedDeclaration": 5396, + "src": "4224:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7767,14 +7966,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30783134", - "id": 5446, + "id": 5461, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4102:4:6", + "src": "4230:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", @@ -7782,7 +7981,7 @@ }, "value": "0x14" }, - "src": "4096:10:6", + "src": "4224:10:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7796,21 +7995,21 @@ "typeString": "bool" } ], - "id": 5444, + "id": 5459, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "4088:7:6", + "referencedDeclaration": 11101, + "src": "4216:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 5448, + "id": 5463, "isConstant": false, "isLValue": false, "isPure": false, @@ -7818,32 +8017,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4088:19:6", + "src": "4216:19:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5449, + "id": 5464, "nodeType": "ExpressionStatement", - "src": "4088:19:6" + "src": "4216:19:6" }, { "expression": { "argumentTypes": null, - "id": 5455, + "id": 5470, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5450, + "id": 5465, "name": "destinationAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5369, - "src": "4117:18:6", + "referencedDeclaration": 5384, + "src": "4245:18:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7856,12 +8055,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5452, + "id": 5467, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "4158:7:6", + "referencedDeclaration": 5365, + "src": "4286:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -7869,12 +8068,12 @@ }, { "argumentTypes": null, - "id": 5453, + "id": 5468, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4167:3:6", + "referencedDeclaration": 5367, + "src": "4295:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7892,18 +8091,18 @@ "typeString": "uint256" } ], - "id": 5451, + "id": 5466, "name": "readEthereumAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5538, - "src": "4138:19:6", + "referencedDeclaration": 5553, + "src": "4266:19:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$", "typeString": "function (bytes memory,uint256) pure returns (address)" } }, - "id": 5454, + "id": 5469, "isConstant": false, "isLValue": false, "isPure": false, @@ -7911,38 +8110,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4138:33:6", + "src": "4266:33:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4117:54:6", + "src": "4245:54:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 5456, + "id": 5471, "nodeType": "ExpressionStatement", - "src": "4117:54:6" + "src": "4245:54:6" }, { "expression": { "argumentTypes": null, - "id": 5459, + "id": 5474, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5457, + "id": 5472, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4181:3:6", + "referencedDeclaration": 5367, + "src": "4309:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7952,31 +8151,31 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 5458, + "id": 5473, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4188:2:6", + "referencedDeclaration": 5396, + "src": "4316:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "4181:9:6", + "src": "4309:9:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5460, + "id": 5475, "nodeType": "ExpressionStatement", - "src": "4181:9:6" + "src": "4309:9:6" }, { "expression": { "argumentTypes": null, - "id": 5468, + "id": 5483, "isConstant": false, "isLValue": false, "isPure": false, @@ -7986,12 +8185,12 @@ "components": [ { "argumentTypes": null, - "id": 5461, + "id": 5476, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4222:2:6", + "referencedDeclaration": 5396, + "src": "4350:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7999,26 +8198,26 @@ }, { "argumentTypes": null, - "id": 5462, + "id": 5477, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4226:3:6", + "referencedDeclaration": 5367, + "src": "4354:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5463, + "id": 5478, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "4221:9:6", + "src": "4349:9:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", "typeString": "tuple(uint8,uint256)" @@ -8031,12 +8230,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5465, + "id": 5480, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "4243:7:6", + "referencedDeclaration": 5365, + "src": "4371:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8044,12 +8243,12 @@ }, { "argumentTypes": null, - "id": 5466, + "id": 5481, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4252:3:6", + "referencedDeclaration": 5367, + "src": "4380:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8067,18 +8266,18 @@ "typeString": "uint256" } ], - "id": 5464, + "id": 5479, "name": "getOpcode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "4233:9:6", + "referencedDeclaration": 5582, + "src": "4361:9:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" } }, - "id": 5467, + "id": 5482, "isConstant": false, "isLValue": false, "isPure": false, @@ -8086,21 +8285,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4233:23:6", + "src": "4361:23:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", "typeString": "tuple(uint8,uint256)" } }, - "src": "4221:35:6", + "src": "4349:35:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5469, + "id": 5484, "nodeType": "ExpressionStatement", - "src": "4221:35:6" + "src": "4349:35:6" }, { "expression": { @@ -8112,19 +8311,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 5473, + "id": 5488, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5471, + "id": 5486, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4274:2:6", + "referencedDeclaration": 5396, + "src": "4402:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8135,14 +8334,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30783031", - "id": 5472, + "id": 5487, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4280:4:6", + "src": "4408:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -8150,7 +8349,7 @@ }, "value": "0x01" }, - "src": "4274:10:6", + "src": "4402:10:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8164,21 +8363,21 @@ "typeString": "bool" } ], - "id": 5470, + "id": 5485, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "4266:7:6", + "referencedDeclaration": 11101, + "src": "4394:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 5474, + "id": 5489, "isConstant": false, "isLValue": false, "isPure": false, @@ -8186,32 +8385,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4266:19:6", + "src": "4394:19:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5475, + "id": 5490, "nodeType": "ExpressionStatement", - "src": "4266:19:6" + "src": "4394:19:6" }, { "expression": { "argumentTypes": null, - "id": 5482, + "id": 5497, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5476, + "id": 5491, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5378, - "src": "4295:9:6", + "referencedDeclaration": 5393, + "src": "4423:9:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8226,26 +8425,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5478, + "id": 5493, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "4313:7:6", + "referencedDeclaration": 5365, + "src": "4441:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5480, + "id": 5495, "indexExpression": { "argumentTypes": null, - "id": 5479, + "id": 5494, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4321:3:6", + "referencedDeclaration": 5367, + "src": "4449:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8256,7 +8455,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4313:12:6", + "src": "4441:12:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -8270,20 +8469,20 @@ "typeString": "bytes1" } ], - "id": 5477, + "id": 5492, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4307:5:6", + "src": "4435:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5481, + "id": 5496, "isConstant": false, "isLValue": false, "isPure": false, @@ -8291,38 +8490,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4307:19:6", + "src": "4435:19:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "4295:31:6", + "src": "4423:31:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 5483, + "id": 5498, "nodeType": "ExpressionStatement", - "src": "4295:31:6" + "src": "4423:31:6" }, { "expression": { "argumentTypes": null, - "id": 5486, + "id": 5501, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5484, + "id": 5499, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4336:3:6", + "referencedDeclaration": 5367, + "src": "4464:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8332,31 +8531,31 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 5485, + "id": 5500, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4343:2:6", + "referencedDeclaration": 5396, + "src": "4471:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "4336:9:6", + "src": "4464:9:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5487, + "id": 5502, "nodeType": "ExpressionStatement", - "src": "4336:9:6" + "src": "4464:9:6" }, { "expression": { "argumentTypes": null, - "id": 5495, + "id": 5510, "isConstant": false, "isLValue": false, "isPure": false, @@ -8366,12 +8565,12 @@ "components": [ { "argumentTypes": null, - "id": 5488, + "id": 5503, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4380:2:6", + "referencedDeclaration": 5396, + "src": "4508:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8379,26 +8578,26 @@ }, { "argumentTypes": null, - "id": 5489, + "id": 5504, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4384:3:6", + "referencedDeclaration": 5367, + "src": "4512:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5490, + "id": 5505, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "4379:9:6", + "src": "4507:9:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", "typeString": "tuple(uint8,uint256)" @@ -8411,12 +8610,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5492, + "id": 5507, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "4401:7:6", + "referencedDeclaration": 5365, + "src": "4529:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8424,12 +8623,12 @@ }, { "argumentTypes": null, - "id": 5493, + "id": 5508, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4410:3:6", + "referencedDeclaration": 5367, + "src": "4538:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8447,18 +8646,18 @@ "typeString": "uint256" } ], - "id": 5491, + "id": 5506, "name": "getOpcode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "4391:9:6", + "referencedDeclaration": 5582, + "src": "4519:9:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" } }, - "id": 5494, + "id": 5509, "isConstant": false, "isLValue": false, "isPure": false, @@ -8466,21 +8665,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4391:23:6", + "src": "4519:23:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", "typeString": "tuple(uint8,uint256)" } }, - "src": "4379:35:6", + "src": "4507:35:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5496, + "id": 5511, "nodeType": "ExpressionStatement", - "src": "4379:35:6" + "src": "4507:35:6" }, { "expression": { @@ -8492,19 +8691,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 5500, + "id": 5515, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5498, + "id": 5513, "name": "op", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4432:2:6", + "referencedDeclaration": 5396, + "src": "4560:2:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8515,14 +8714,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30783134", - "id": 5499, + "id": 5514, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4438:4:6", + "src": "4566:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", @@ -8530,7 +8729,7 @@ }, "value": "0x14" }, - "src": "4432:10:6", + "src": "4560:10:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8544,21 +8743,21 @@ "typeString": "bool" } ], - "id": 5497, + "id": 5512, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "4424:7:6", + "referencedDeclaration": 11101, + "src": "4552:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 5501, + "id": 5516, "isConstant": false, "isLValue": false, "isPure": false, @@ -8566,32 +8765,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4424:19:6", + "src": "4552:19:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5502, + "id": 5517, "nodeType": "ExpressionStatement", - "src": "4424:19:6" + "src": "4552:19:6" }, { "expression": { "argumentTypes": null, - "id": 5508, + "id": 5523, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5503, + "id": 5518, "name": "erc20Address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5372, - "src": "4453:12:6", + "referencedDeclaration": 5387, + "src": "4581:12:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8604,12 +8803,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5505, + "id": 5520, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "4488:7:6", + "referencedDeclaration": 5365, + "src": "4616:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8617,12 +8816,12 @@ }, { "argumentTypes": null, - "id": 5506, + "id": 5521, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4497:3:6", + "referencedDeclaration": 5367, + "src": "4625:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8640,18 +8839,18 @@ "typeString": "uint256" } ], - "id": 5504, + "id": 5519, "name": "readEthereumAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5538, - "src": "4468:19:6", + "referencedDeclaration": 5553, + "src": "4596:19:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$", "typeString": "function (bytes memory,uint256) pure returns (address)" } }, - "id": 5507, + "id": 5522, "isConstant": false, "isLValue": false, "isPure": false, @@ -8659,21 +8858,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4468:33:6", + "src": "4596:33:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4453:48:6", + "src": "4581:48:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 5509, + "id": 5524, "nodeType": "ExpressionStatement", - "src": "4453:48:6" + "src": "4581:48:6" }, { "expression": { @@ -8681,12 +8880,12 @@ "components": [ { "argumentTypes": null, - "id": 5510, + "id": 5525, "name": "output_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5375, - "src": "4519:12:6", + "referencedDeclaration": 5390, + "src": "4647:12:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8694,12 +8893,12 @@ }, { "argumentTypes": null, - "id": 5511, + "id": 5526, "name": "destinationAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5369, - "src": "4533:18:6", + "referencedDeclaration": 5384, + "src": "4661:18:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8707,12 +8906,12 @@ }, { "argumentTypes": null, - "id": 5512, + "id": 5527, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5366, - "src": "4553:9:6", + "referencedDeclaration": 5381, + "src": "4681:9:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8720,12 +8919,12 @@ }, { "argumentTypes": null, - "id": 5513, + "id": 5528, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5378, - "src": "4564:9:6", + "referencedDeclaration": 5393, + "src": "4692:9:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8733,56 +8932,56 @@ }, { "argumentTypes": null, - "id": 5514, + "id": 5529, "name": "erc20Address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5372, - "src": "4575:12:6", + "referencedDeclaration": 5387, + "src": "4703:12:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 5515, + "id": 5530, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4518:70:6", + "src": "4646:70:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", "typeString": "tuple(uint256,address,uint32,uint8,address)" } }, - "functionReturnParameters": 5364, - "id": 5516, + "functionReturnParameters": 5379, + "id": 5531, "nodeType": "Return", - "src": "4511:77:6" + "src": "4639:77:6" } ] }, "documentation": null, - "id": 5518, + "id": 5533, "implemented": true, "kind": "function", "modifiers": [], "name": "scanAssetDetails", "nodeType": "FunctionDefinition", "parameters": { - "id": 5353, + "id": 5368, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5350, + "id": 5365, "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3291:20:6", + "scope": 5533, + "src": "3419:20:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8790,10 +8989,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5349, + "id": 5364, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3291:5:6", + "src": "3419:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -8804,11 +9003,11 @@ }, { "constant": false, - "id": 5352, + "id": 5367, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3313:8:6", + "scope": 5533, + "src": "3441:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8816,10 +9015,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5351, + "id": 5366, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3313:4:6", + "src": "3441:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8829,19 +9028,19 @@ "visibility": "internal" } ], - "src": "3290:32:6" + "src": "3418:32:6" }, "returnParameters": { - "id": 5364, + "id": 5379, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5355, + "id": 5370, "name": "", "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3370:4:6", + "scope": 5533, + "src": "3498:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8849,10 +9048,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5354, + "id": 5369, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3370:4:6", + "src": "3498:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8863,11 +9062,11 @@ }, { "constant": false, - "id": 5357, + "id": 5372, "name": "", "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3376:7:6", + "scope": 5533, + "src": "3504:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8875,10 +9074,10 @@ "typeString": "address" }, "typeName": { - "id": 5356, + "id": 5371, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3376:7:6", + "src": "3504:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8890,11 +9089,11 @@ }, { "constant": false, - "id": 5359, + "id": 5374, "name": "", "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3385:6:6", + "scope": 5533, + "src": "3513:6:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8902,10 +9101,10 @@ "typeString": "uint32" }, "typeName": { - "id": 5358, + "id": 5373, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3385:6:6", + "src": "3513:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8916,11 +9115,11 @@ }, { "constant": false, - "id": 5361, + "id": 5376, "name": "", "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3393:5:6", + "scope": 5533, + "src": "3521:5:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8928,10 +9127,10 @@ "typeString": "uint8" }, "typeName": { - "id": 5360, + "id": 5375, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3393:5:6", + "src": "3521:5:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8942,11 +9141,11 @@ }, { "constant": false, - "id": 5363, + "id": 5378, "name": "", "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3400:7:6", + "scope": 5533, + "src": "3528:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8954,10 +9153,10 @@ "typeString": "address" }, "typeName": { - "id": 5362, + "id": 5377, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3400:7:6", + "src": "3528:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8968,32 +9167,32 @@ "visibility": "internal" } ], - "src": "3369:39:6" + "src": "3497:39:6" }, - "scope": 7493, - "src": "3265:1330:6", + "scope": 7851, + "src": "3393:1330:6", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 5537, + "id": 5552, "nodeType": "Block", - "src": "4753:151:6", + "src": "4881:151:6", "statements": [ { "assignments": [ - 5528 + 5543 ], "declarations": [ { "constant": false, - "id": 5528, + "id": 5543, "name": "data", "nodeType": "VariableDeclaration", - "scope": 5537, - "src": "4763:12:6", + "scope": 5552, + "src": "4891:12:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9001,10 +9200,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5527, + "id": 5542, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4763:7:6", + "src": "4891:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9014,45 +9213,45 @@ "visibility": "internal" } ], - "id": 5529, + "id": 5544, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "4763:12:6" + "src": "4891:12:6" }, { "externalReferences": [ { "data": { - "declaration": 5528, + "declaration": 5543, "isOffset": false, "isSlot": false, - "src": "4808:4:6", + "src": "4936:4:6", "valueSize": 1 } }, { "txBytes": { - "declaration": 5520, + "declaration": 5535, "isOffset": false, "isSlot": false, - "src": "4830:7:6", + "src": "4958:7:6", "valueSize": 1 } }, { "pos": { - "declaration": 5522, + "declaration": 5537, "isOffset": false, "isSlot": false, - "src": "4844:3:6", + "src": "4972:3:6", "valueSize": 1 } } ], - "id": 5530, + "id": 5545, "nodeType": "InlineAssembly", "operations": "{\n data := mload(add(add(txBytes, 20), pos))\n}", - "src": "4785:74:6" + "src": "4913:74:6" }, { "expression": { @@ -9063,12 +9262,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5533, + "id": 5548, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5528, - "src": "4891:4:6", + "referencedDeclaration": 5543, + "src": "5019:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9082,20 +9281,20 @@ "typeString": "uint256" } ], - "id": 5532, + "id": 5547, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4883:7:6", + "src": "5011:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": "uint160" }, - "id": 5534, + "id": 5549, "isConstant": false, "isLValue": false, "isPure": false, @@ -9103,7 +9302,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4883:13:6", + "src": "5011:13:6", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -9117,20 +9316,20 @@ "typeString": "uint160" } ], - "id": 5531, + "id": 5546, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4875:7:6", + "src": "5003:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5535, + "id": 5550, "isConstant": false, "isLValue": false, "isPure": false, @@ -9138,37 +9337,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4875:22:6", + "src": "5003:22:6", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "functionReturnParameters": 5526, - "id": 5536, + "functionReturnParameters": 5541, + "id": 5551, "nodeType": "Return", - "src": "4868:29:6" + "src": "4996:29:6" } ] }, "documentation": null, - "id": 5538, + "id": 5553, "implemented": true, "kind": "function", "modifiers": [], "name": "readEthereumAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 5523, + "id": 5538, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5520, + "id": 5535, "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 5538, - "src": "4689:20:6", + "scope": 5553, + "src": "4817:20:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9176,10 +9375,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5519, + "id": 5534, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4689:5:6", + "src": "4817:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -9190,11 +9389,11 @@ }, { "constant": false, - "id": 5522, + "id": 5537, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 5538, - "src": "4711:8:6", + "scope": 5553, + "src": "4839:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9202,10 +9401,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5521, + "id": 5536, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4711:4:6", + "src": "4839:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9215,19 +9414,19 @@ "visibility": "internal" } ], - "src": "4688:32:6" + "src": "4816:32:6" }, "returnParameters": { - "id": 5526, + "id": 5541, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5525, + "id": 5540, "name": "", "nodeType": "VariableDeclaration", - "scope": 5538, - "src": "4744:7:6", + "scope": 5553, + "src": "4872:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9235,10 +9434,10 @@ "typeString": "address" }, "typeName": { - "id": 5524, + "id": 5539, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4744:7:6", + "src": "4872:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9249,19 +9448,19 @@ "visibility": "internal" } ], - "src": "4743:9:6" + "src": "4871:9:6" }, - "scope": 7493, - "src": "4660:244:6", + "scope": 7851, + "src": "4788:244:6", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 5566, + "id": 5581, "nodeType": "Block", - "src": "5032:93:6", + "src": "5160:93:6", "statements": [ { "expression": { @@ -9273,19 +9472,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5553, + "id": 5568, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5550, + "id": 5565, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5542, - "src": "5050:3:6", + "referencedDeclaration": 5557, + "src": "5178:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9297,18 +9496,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5551, + "id": 5566, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5540, - "src": "5056:7:6", + "referencedDeclaration": 5555, + "src": "5184:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5552, + "id": 5567, "isConstant": false, "isLValue": false, "isPure": false, @@ -9316,13 +9515,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5056:14:6", + "src": "5184:14:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5050:20:6", + "src": "5178:20:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9336,21 +9535,21 @@ "typeString": "bool" } ], - "id": 5549, + "id": 5564, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "5042:7:6", + "referencedDeclaration": 11101, + "src": "5170:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 5554, + "id": 5569, "isConstant": false, "isLValue": false, "isPure": false, @@ -9358,15 +9557,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5042:29:6", + "src": "5170:29:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5555, + "id": 5570, "nodeType": "ExpressionStatement", - "src": "5042:29:6" + "src": "5170:29:6" }, { "expression": { @@ -9379,26 +9578,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5557, + "id": 5572, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5540, - "src": "5095:7:6", + "referencedDeclaration": 5555, + "src": "5223:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5559, + "id": 5574, "indexExpression": { "argumentTypes": null, - "id": 5558, + "id": 5573, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5542, - "src": "5103:3:6", + "referencedDeclaration": 5557, + "src": "5231:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9409,7 +9608,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5095:12:6", + "src": "5223:12:6", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -9423,20 +9622,20 @@ "typeString": "bytes1" } ], - "id": 5556, + "id": 5571, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5089:5:6", + "src": "5217:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5560, + "id": 5575, "isConstant": false, "isLValue": false, "isPure": false, @@ -9444,7 +9643,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5089:19:6", + "src": "5217:19:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9456,19 +9655,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5563, + "id": 5578, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5561, + "id": 5576, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5542, - "src": "5110:3:6", + "referencedDeclaration": 5557, + "src": "5238:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9479,14 +9678,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 5562, + "id": 5577, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5116:1:6", + "src": "5244:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9494,51 +9693,51 @@ }, "value": "1" }, - "src": "5110:7:6", + "src": "5238:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5564, + "id": 5579, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "5088:30:6", + "src": "5216:30:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", "typeString": "tuple(uint8,uint256)" } }, - "functionReturnParameters": 5548, - "id": 5565, + "functionReturnParameters": 5563, + "id": 5580, "nodeType": "Return", - "src": "5081:37:6" + "src": "5209:37:6" } ] }, "documentation": null, - "id": 5567, + "id": 5582, "implemented": true, "kind": "function", "modifiers": [], "name": "getOpcode", "nodeType": "FunctionDefinition", "parameters": { - "id": 5543, + "id": 5558, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5540, + "id": 5555, "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 5567, - "src": "4965:20:6", + "scope": 5582, + "src": "5093:20:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9546,10 +9745,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5539, + "id": 5554, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4965:5:6", + "src": "5093:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -9560,11 +9759,11 @@ }, { "constant": false, - "id": 5542, + "id": 5557, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 5567, - "src": "4987:8:6", + "scope": 5582, + "src": "5115:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9572,10 +9771,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5541, + "id": 5556, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4987:4:6", + "src": "5115:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9585,19 +9784,19 @@ "visibility": "internal" } ], - "src": "4964:32:6" + "src": "5092:32:6" }, "returnParameters": { - "id": 5548, + "id": 5563, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5545, + "id": 5560, "name": "", "nodeType": "VariableDeclaration", - "scope": 5567, - "src": "5019:5:6", + "scope": 5582, + "src": "5147:5:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9605,10 +9804,10 @@ "typeString": "uint8" }, "typeName": { - "id": 5544, + "id": 5559, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5019:5:6", + "src": "5147:5:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9619,11 +9818,11 @@ }, { "constant": false, - "id": 5547, + "id": 5562, "name": "", "nodeType": "VariableDeclaration", - "scope": 5567, - "src": "5026:4:6", + "scope": 5582, + "src": "5154:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9631,10 +9830,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5546, + "id": 5561, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5026:4:6", + "src": "5154:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9644,32 +9843,32 @@ "visibility": "internal" } ], - "src": "5018:13:6" + "src": "5146:13:6" }, - "scope": 7493, - "src": "4946:179:6", + "scope": 7851, + "src": "5074:179:6", "stateMutability": "pure", "superFunction": null, "visibility": "private" }, { "body": { - "id": 5732, + "id": 5747, "nodeType": "Block", - "src": "5214:1540:6", + "src": "5342:1540:6", "statements": [ { "assignments": [ - 5577 + 5592 ], "declarations": [ { "constant": false, - "id": 5577, + "id": 5592, "name": "n_inputs", "nodeType": "VariableDeclaration", - "scope": 5732, - "src": "5224:13:6", + "scope": 5747, + "src": "5352:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9677,10 +9876,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5576, + "id": 5591, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5224:4:6", + "src": "5352:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9690,23 +9889,23 @@ "visibility": "internal" } ], - "id": 5578, + "id": 5593, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "5224:13:6" + "src": "5352:13:6" }, { "assignments": [ - 5580 + 5595 ], "declarations": [ { "constant": false, - "id": 5580, + "id": 5595, "name": "script_len", "nodeType": "VariableDeclaration", - "scope": 5732, - "src": "5247:15:6", + "scope": 5747, + "src": "5375:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9714,10 +9913,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5579, + "id": 5594, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5247:4:6", + "src": "5375:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9727,23 +9926,23 @@ "visibility": "internal" } ], - "id": 5581, + "id": 5596, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "5247:15:6" + "src": "5375:15:6" }, { "assignments": [ - 5583 + 5598 ], "declarations": [ { "constant": false, - "id": 5583, + "id": 5598, "name": "output_value", "nodeType": "VariableDeclaration", - "scope": 5732, - "src": "5272:17:6", + "scope": 5747, + "src": "5400:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9751,10 +9950,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5582, + "id": 5597, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5272:4:6", + "src": "5400:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9764,23 +9963,23 @@ "visibility": "internal" } ], - "id": 5584, + "id": 5599, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "5272:17:6" + "src": "5400:17:6" }, { "assignments": [ - 5586 + 5601 ], "declarations": [ { "constant": false, - "id": 5586, + "id": 5601, "name": "n_outputs", "nodeType": "VariableDeclaration", - "scope": 5732, - "src": "5299:14:6", + "scope": 5747, + "src": "5427:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9788,10 +9987,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5585, + "id": 5600, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5299:4:6", + "src": "5427:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9801,15 +10000,15 @@ "visibility": "internal" } ], - "id": 5587, + "id": 5602, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "5299:14:6" + "src": "5427:14:6" }, { "expression": { "argumentTypes": null, - "id": 5595, + "id": 5610, "isConstant": false, "isLValue": false, "isPure": false, @@ -9819,12 +10018,12 @@ "components": [ { "argumentTypes": null, - "id": 5588, + "id": 5603, "name": "n_inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5325:8:6", + "referencedDeclaration": 5592, + "src": "5453:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9832,26 +10031,26 @@ }, { "argumentTypes": null, - "id": 5589, + "id": 5604, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5335:3:6", + "referencedDeclaration": 5586, + "src": "5463:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5590, + "id": 5605, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "5324:15:6", + "src": "5452:15:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -9864,12 +10063,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5592, + "id": 5607, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "5354:7:6", + "referencedDeclaration": 5584, + "src": "5482:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -9877,12 +10076,12 @@ }, { "argumentTypes": null, - "id": 5593, + "id": 5608, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5363:3:6", + "referencedDeclaration": 5586, + "src": "5491:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9900,18 +10099,18 @@ "typeString": "uint256" } ], - "id": 5591, + "id": 5606, "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "5342:11:6", + "referencedDeclaration": 4783, + "src": "5470:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 5594, + "id": 5609, "isConstant": false, "isLValue": false, "isPure": false, @@ -9919,21 +10118,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5342:25:6", + "src": "5470:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "5324:43:6", + "src": "5452:43:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5596, + "id": 5611, "nodeType": "ExpressionStatement", - "src": "5324:43:6" + "src": "5452:43:6" }, { "condition": { @@ -9942,19 +10141,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5599, + "id": 5614, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5597, + "id": 5612, "name": "n_inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5446:8:6", + "referencedDeclaration": 5592, + "src": "5574:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9965,14 +10164,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30783030", - "id": 5598, + "id": 5613, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5458:4:6", + "src": "5586:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9980,25 +10179,25 @@ }, "value": "0x00" }, - "src": "5446:16:6", + "src": "5574:16:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 5626, + "id": 5641, "nodeType": "IfStatement", - "src": "5443:320:6", + "src": "5571:320:6", "trueBody": { - "id": 5625, + "id": 5640, "nodeType": "Block", - "src": "5463:300:6", + "src": "5591:300:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 5607, + "id": 5622, "isConstant": false, "isLValue": false, "isPure": false, @@ -10008,589 +10207,39 @@ "components": [ { "argumentTypes": null, - "id": 5600, - "name": "n_inputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5478:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5601, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5488:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5602, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "5477:15:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5604, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "5507:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5605, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5516:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5603, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "5495:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5495:25:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "5477:43:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5608, - "nodeType": "ExpressionStatement", - "src": "5477:43:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5610, + "id": 5615, "name": "n_inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5550:8:6", + "referencedDeclaration": 5592, + "src": "5606:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783030", - "id": 5611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5562:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x00" - }, - "src": "5550:16:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20556e65787065637465642064756d6d792f666c6167", - "id": 5613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5568:61:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_87181e032d4a1acada6b6177d3084aa5fe59d5c32942655c4d95935a3af75a15", - "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag\"" - }, - "value": "#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_87181e032d4a1acada6b6177d3084aa5fe59d5c32942655c4d95935a3af75a15", - "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag\"" - } - ], - "id": 5609, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10188, - "src": "5542:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5542:88:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5615, - "nodeType": "ExpressionStatement", - "src": "5542:88:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ { "argumentTypes": null, "id": 5616, - "name": "n_inputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5710:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5617, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5720:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5618, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "5709:15:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5620, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "5739:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5621, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5748:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5619, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "5727:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5727:25:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "5709:43:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5624, - "nodeType": "ExpressionStatement", - "src": "5709:43:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5628, - "name": "n_inputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5780:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5791:3:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "5780:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f696e70757473", - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5796:66:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6c90bf983bb53134a57fc740a1ff772d56cd4f80ffc5496430ec08e32e493245", - "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs\"" - }, - "value": "#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6c90bf983bb53134a57fc740a1ff772d56cd4f80ffc5496430ec08e32e493245", - "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs\"" - } - ], - "id": 5627, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10188, - "src": "5772:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5772:91:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5633, - "nodeType": "ExpressionStatement", - "src": "5772:91:6" - }, - { - "body": { - "id": 5663, - "nodeType": "Block", - "src": "5910:171:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5644, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5924:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3336", - "id": 5645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5931:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_36_by_1", - "typeString": "int_const 36" - }, - "value": "36" - }, - "src": "5924:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5647, - "nodeType": "ExpressionStatement", - "src": "5924:9:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5648, - "name": "script_len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5580, - "src": "5966:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5649, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5978:3:6", + "referencedDeclaration": 5586, + "src": "5616:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5650, + "id": 5617, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "5965:17:6", + "src": "5605:15:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -10603,12 +10252,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5652, + "id": 5619, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "5997:7:6", + "referencedDeclaration": 5584, + "src": "5635:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -10616,12 +10265,12 @@ }, { "argumentTypes": null, - "id": 5653, + "id": 5620, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6006:3:6", + "referencedDeclaration": 5586, + "src": "5644:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10639,18 +10288,18 @@ "typeString": "uint256" } ], - "id": 5651, + "id": 5618, "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "5985:11:6", + "referencedDeclaration": 4783, + "src": "5623:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 5654, + "id": 5621, "isConstant": false, "isLValue": false, "isPure": false, @@ -10658,22 +10307,392 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5985:25:6", + "src": "5623:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "5965:45:6", + "src": "5605:43:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5656, + "id": 5623, + "nodeType": "ExpressionStatement", + "src": "5605:43:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5625, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "5678:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783030", + "id": 5626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5690:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "src": "5678:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20556e65787065637465642064756d6d792f666c6167", + "id": 5628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5696:61:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_87181e032d4a1acada6b6177d3084aa5fe59d5c32942655c4d95935a3af75a15", + "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag\"" + }, + "value": "#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_87181e032d4a1acada6b6177d3084aa5fe59d5c32942655c4d95935a3af75a15", + "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag\"" + } + ], + "id": 5624, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "5670:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5670:88:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5630, + "nodeType": "ExpressionStatement", + "src": "5670:88:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5631, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "5838:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5632, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "5848:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5633, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "5837:15:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5635, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "5867:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5636, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "5876:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5634, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "5855:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 5637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5855:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "5837:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5639, "nodeType": "ExpressionStatement", - "src": "5965:45:6" + "src": "5837:43:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5643, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "5908:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 5644, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5919:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "5908:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, + { + "argumentTypes": null, + "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f696e70757473", + "id": 5646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5924:66:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c90bf983bb53134a57fc740a1ff772d56cd4f80ffc5496430ec08e32e493245", + "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs\"" + }, + "value": "#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6c90bf983bb53134a57fc740a1ff772d56cd4f80ffc5496430ec08e32e493245", + "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs\"" + } + ], + "id": 5642, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "5900:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5900:91:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5648, + "nodeType": "ExpressionStatement", + "src": "5900:91:6" + }, + { + "body": { + "id": 5678, + "nodeType": "Block", + "src": "6038:171:6", + "statements": [ { "expression": { "argumentTypes": null, @@ -10684,12 +10703,192 @@ "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5657, + "id": 5659, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6052:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3336", + "id": 5660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6059:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_36_by_1", + "typeString": "int_const 36" + }, + "value": "36" + }, + "src": "6052:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5662, + "nodeType": "ExpressionStatement", + "src": "6052:9:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5663, + "name": "script_len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5595, + "src": "6094:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5664, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6106:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5665, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6093:17:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5667, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "6125:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5668, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6134:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5666, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "6113:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 5669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6113:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "6093:45:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5671, + "nodeType": "ExpressionStatement", + "src": "6093:45:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5672, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6024:3:6", + "referencedDeclaration": 5586, + "src": "6152:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10703,19 +10902,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5660, + "id": 5675, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5658, + "id": 5673, "name": "script_len", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5580, - "src": "6031:10:6", + "referencedDeclaration": 5595, + "src": "6159:10:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10726,14 +10925,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "34", - "id": 5659, + "id": 5674, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6044:1:6", + "src": "6172:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -10741,21 +10940,21 @@ }, "value": "4" }, - "src": "6031:14:6", + "src": "6159:14:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6024:21:6", + "src": "6152:21:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5662, + "id": 5677, "nodeType": "ExpressionStatement", - "src": "6024:21:6" + "src": "6152:21:6" } ] }, @@ -10765,19 +10964,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5640, + "id": 5655, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5638, + "id": 5653, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5635, - "src": "5891:1:6", + "referencedDeclaration": 5650, + "src": "6019:1:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10787,36 +10986,36 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 5639, + "id": 5654, "name": "n_inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5895:8:6", + "referencedDeclaration": 5592, + "src": "6023:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5891:12:6", + "src": "6019:12:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 5664, + "id": 5679, "initializationExpression": { "assignments": [ - 5635 + 5650 ], "declarations": [ { "constant": false, - "id": 5635, + "id": 5650, "name": "i", "nodeType": "VariableDeclaration", - "scope": 5664, - "src": "5879:6:6", + "scope": 5679, + "src": "6007:6:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10824,10 +11023,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5634, + "id": 5649, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5879:4:6", + "src": "6007:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10837,18 +11036,18 @@ "visibility": "internal" } ], - "id": 5637, + "id": 5652, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 5636, + "id": 5651, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5888:1:6", + "src": "6016:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10857,12 +11056,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "5879:10:6" + "src": "6007:10:6" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 5642, + "id": 5657, "isConstant": false, "isLValue": false, "isPure": false, @@ -10870,15 +11069,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "5905:3:6", + "src": "6033:3:6", "subExpression": { "argumentTypes": null, - "id": 5641, + "id": 5656, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5635, - "src": "5905:1:6", + "referencedDeclaration": 5650, + "src": "6033:1:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10889,17 +11088,17 @@ "typeString": "uint256" } }, - "id": 5643, + "id": 5658, "nodeType": "ExpressionStatement", - "src": "5905:3:6" + "src": "6033:3:6" }, "nodeType": "ForStatement", - "src": "5874:207:6" + "src": "6002:207:6" }, { "expression": { "argumentTypes": null, - "id": 5672, + "id": 5687, "isConstant": false, "isLValue": false, "isPure": false, @@ -10909,12 +11108,12 @@ "components": [ { "argumentTypes": null, - "id": 5665, + "id": 5680, "name": "n_outputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5586, - "src": "6100:9:6", + "referencedDeclaration": 5601, + "src": "6228:9:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10922,26 +11121,26 @@ }, { "argumentTypes": null, - "id": 5666, + "id": 5681, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6111:3:6", + "referencedDeclaration": 5586, + "src": "6239:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5667, + "id": 5682, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "6099:16:6", + "src": "6227:16:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -10954,12 +11153,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5669, + "id": 5684, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "6130:7:6", + "referencedDeclaration": 5584, + "src": "6258:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -10967,12 +11166,12 @@ }, { "argumentTypes": null, - "id": 5670, + "id": 5685, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6139:3:6", + "referencedDeclaration": 5586, + "src": "6267:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10990,18 +11189,18 @@ "typeString": "uint256" } ], - "id": 5668, + "id": 5683, "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "6118:11:6", + "referencedDeclaration": 4783, + "src": "6246:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 5671, + "id": 5686, "isConstant": false, "isLValue": false, "isPure": false, @@ -11009,21 +11208,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6118:25:6", + "src": "6246:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "6099:44:6", + "src": "6227:44:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5673, + "id": 5688, "nodeType": "ExpressionStatement", - "src": "6099:44:6" + "src": "6227:44:6" }, { "expression": { @@ -11035,19 +11234,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5677, + "id": 5692, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5675, + "id": 5690, "name": "n_outputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5586, - "src": "6161:9:6", + "referencedDeclaration": 5601, + "src": "6289:9:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11058,14 +11257,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3130", - "id": 5676, + "id": 5691, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6173:2:6", + "src": "6301:2:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -11073,7 +11272,7 @@ }, "value": "10" }, - "src": "6161:14:6", + "src": "6289:14:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11082,14 +11281,14 @@ { "argumentTypes": null, "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f6f757470757473", - "id": 5678, + "id": 5693, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6177:67:6", + "src": "6305:67:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8e7c1f79badc3990449febc249d27022f625ff9ad5f427f84ed94755a6fe6cf5", @@ -11109,21 +11308,21 @@ "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_outputs\"" } ], - "id": 5674, + "id": 5689, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10188, - "src": "6153:7:6", + "referencedDeclaration": 11102, + "src": "6281:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5679, + "id": 5694, "isConstant": false, "isLValue": false, "isPure": false, @@ -11131,38 +11330,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6153:92:6", + "src": "6281:92:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5680, + "id": 5695, "nodeType": "ExpressionStatement", - "src": "6153:92:6" + "src": "6281:92:6" }, { "body": { - "id": 5726, + "id": 5741, "nodeType": "Block", - "src": "6292:381:6", + "src": "6420:381:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 5693, + "id": 5708, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5691, + "id": 5706, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6306:3:6", + "referencedDeclaration": 5586, + "src": "6434:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11173,14 +11372,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "38", - "id": 5692, + "id": 5707, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6313:1:6", + "src": "6441:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", @@ -11188,20 +11387,20 @@ }, "value": "8" }, - "src": "6306:8:6", + "src": "6434:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5694, + "id": 5709, "nodeType": "ExpressionStatement", - "src": "6306:8:6" + "src": "6434:8:6" }, { "expression": { "argumentTypes": null, - "id": 5702, + "id": 5717, "isConstant": false, "isLValue": false, "isPure": false, @@ -11211,12 +11410,12 @@ "components": [ { "argumentTypes": null, - "id": 5695, + "id": 5710, "name": "script_len", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5580, - "src": "6351:10:6", + "referencedDeclaration": 5595, + "src": "6479:10:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11224,26 +11423,26 @@ }, { "argumentTypes": null, - "id": 5696, + "id": 5711, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6363:3:6", + "referencedDeclaration": 5586, + "src": "6491:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5697, + "id": 5712, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "6350:17:6", + "src": "6478:17:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -11256,12 +11455,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5699, + "id": 5714, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "6382:7:6", + "referencedDeclaration": 5584, + "src": "6510:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -11269,12 +11468,12 @@ }, { "argumentTypes": null, - "id": 5700, + "id": 5715, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6391:3:6", + "referencedDeclaration": 5586, + "src": "6519:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11292,18 +11491,18 @@ "typeString": "uint256" } ], - "id": 5698, + "id": 5713, "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "6370:11:6", + "referencedDeclaration": 4783, + "src": "6498:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 5701, + "id": 5716, "isConstant": false, "isLValue": false, "isPure": false, @@ -11311,26 +11510,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6370:25:6", + "src": "6498:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "6350:45:6", + "src": "6478:45:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5703, + "id": 5718, "nodeType": "ExpressionStatement", - "src": "6350:45:6" + "src": "6478:45:6" }, { "condition": { "argumentTypes": null, - "id": 5708, + "id": 5723, "isConstant": false, "isLValue": false, "isPure": false, @@ -11338,18 +11537,18 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "6412:25:6", + "src": "6540:25:6", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5705, + "id": 5720, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "6424:7:6", + "referencedDeclaration": 5584, + "src": "6552:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -11357,12 +11556,12 @@ }, { "argumentTypes": null, - "id": 5706, + "id": 5721, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6433:3:6", + "referencedDeclaration": 5586, + "src": "6561:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11380,18 +11579,18 @@ "typeString": "uint256" } ], - "id": 5704, + "id": 5719, "name": "isOpReturn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5158, - "src": "6413:10:6", + "referencedDeclaration": 5173, + "src": "6541:10:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bool_$", "typeString": "function (bytes memory,uint256) pure returns (bool)" } }, - "id": 5707, + "id": 5722, "isConstant": false, "isLValue": false, "isPure": false, @@ -11399,7 +11598,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6413:24:6", + "src": "6541:24:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11411,30 +11610,30 @@ } }, "falseBody": null, - "id": 5719, + "id": 5734, "nodeType": "IfStatement", - "src": "6409:172:6", + "src": "6537:172:6", "trueBody": { - "id": 5718, + "id": 5733, "nodeType": "Block", - "src": "6438:143:6", + "src": "6566:143:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 5711, + "id": 5726, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5709, + "id": 5724, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6489:3:6", + "referencedDeclaration": 5586, + "src": "6617:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11444,43 +11643,43 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 5710, + "id": 5725, "name": "script_len", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5580, - "src": "6496:10:6", + "referencedDeclaration": 5595, + "src": "6624:10:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6489:17:6", + "src": "6617:17:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5712, + "id": 5727, "nodeType": "ExpressionStatement", - "src": "6489:17:6" + "src": "6617:17:6" }, { "expression": { "argumentTypes": null, - "id": 5715, + "id": 5730, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5713, + "id": 5728, "name": "output_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "6524:12:6", + "referencedDeclaration": 5598, + "src": "6652:12:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11491,14 +11690,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 5714, + "id": 5729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6539:1:6", + "src": "6667:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11506,20 +11705,20 @@ }, "value": "0" }, - "src": "6524:16:6", + "src": "6652:16:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5716, + "id": 5731, "nodeType": "ExpressionStatement", - "src": "6524:16:6" + "src": "6652:16:6" }, { - "id": 5717, + "id": 5732, "nodeType": "Continue", - "src": "6558:8:6" + "src": "6686:8:6" } ] } @@ -11527,19 +11726,19 @@ { "expression": { "argumentTypes": null, - "id": 5722, + "id": 5737, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5720, + "id": 5735, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6630:3:6", + "referencedDeclaration": 5586, + "src": "6758:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11550,14 +11749,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "31", - "id": 5721, + "id": 5736, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6637:1:6", + "src": "6765:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -11565,34 +11764,34 @@ }, "value": "1" }, - "src": "6630:8:6", + "src": "6758:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5723, + "id": 5738, "nodeType": "ExpressionStatement", - "src": "6630:8:6" + "src": "6758:8:6" }, { "expression": { "argumentTypes": null, - "id": 5724, + "id": 5739, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6659:3:6", + "referencedDeclaration": 5586, + "src": "6787:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5575, - "id": 5725, + "functionReturnParameters": 5590, + "id": 5740, "nodeType": "Return", - "src": "6652:10:6" + "src": "6780:10:6" } ] }, @@ -11602,19 +11801,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5687, + "id": 5702, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5685, + "id": 5700, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5682, - "src": "6272:1:6", + "referencedDeclaration": 5697, + "src": "6400:1:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11624,36 +11823,36 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 5686, + "id": 5701, "name": "n_outputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5586, - "src": "6276:9:6", + "referencedDeclaration": 5601, + "src": "6404:9:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6272:13:6", + "src": "6400:13:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 5727, + "id": 5742, "initializationExpression": { "assignments": [ - 5682 + 5697 ], "declarations": [ { "constant": false, - "id": 5682, + "id": 5697, "name": "i", "nodeType": "VariableDeclaration", - "scope": 5727, - "src": "6260:6:6", + "scope": 5742, + "src": "6388:6:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11661,10 +11860,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5681, + "id": 5696, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6260:4:6", + "src": "6388:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11674,18 +11873,18 @@ "visibility": "internal" } ], - "id": 5684, + "id": 5699, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 5683, + "id": 5698, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6269:1:6", + "src": "6397:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11694,12 +11893,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "6260:10:6" + "src": "6388:10:6" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 5689, + "id": 5704, "isConstant": false, "isLValue": false, "isPure": false, @@ -11707,15 +11906,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "6287:3:6", + "src": "6415:3:6", "subExpression": { "argumentTypes": null, - "id": 5688, + "id": 5703, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5682, - "src": "6287:1:6", + "referencedDeclaration": 5697, + "src": "6415:1:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11726,12 +11925,12 @@ "typeString": "uint256" } }, - "id": 5690, + "id": 5705, "nodeType": "ExpressionStatement", - "src": "6287:3:6" + "src": "6415:3:6" }, "nodeType": "ForStatement", - "src": "6255:418:6" + "src": "6383:418:6" }, { "expression": { @@ -11740,14 +11939,14 @@ { "argumentTypes": null, "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a204e6f204f7052657475726e20666f756e64", - "id": 5729, + "id": 5744, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6689:57:6", + "src": "6817:57:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8f08c133cfd6a95f1bec750e238b3e2cb8d0b1ff0795b1fc381b8fde65ba6bc5", @@ -11763,21 +11962,21 @@ "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): No OpReturn found\"" } ], - "id": 5728, + "id": 5743, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 10189, - 10190 + 11103, + 11104 ], - "referencedDeclaration": 10190, - "src": "6682:6:6", + "referencedDeclaration": 11104, + "src": "6810:6:6", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 5730, + "id": 5745, "isConstant": false, "isLValue": false, "isPure": false, @@ -11785,36 +11984,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6682:65:6", + "src": "6810:65:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5731, + "id": 5746, "nodeType": "ExpressionStatement", - "src": "6682:65:6" + "src": "6810:65:6" } ] }, "documentation": null, - "id": 5733, + "id": 5748, "implemented": true, "kind": "function", "modifiers": [], "name": "getOpReturnPos", "nodeType": "FunctionDefinition", "parameters": { - "id": 5572, + "id": 5587, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5569, + "id": 5584, "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 5733, - "src": "5155:20:6", + "scope": 5748, + "src": "5283:20:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11822,10 +12021,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5568, + "id": 5583, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5155:5:6", + "src": "5283:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -11836,11 +12035,11 @@ }, { "constant": false, - "id": 5571, + "id": 5586, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 5733, - "src": "5177:8:6", + "scope": 5748, + "src": "5305:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11848,10 +12047,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5570, + "id": 5585, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5177:4:6", + "src": "5305:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11861,19 +12060,19 @@ "visibility": "internal" } ], - "src": "5154:32:6" + "src": "5282:32:6" }, "returnParameters": { - "id": 5575, + "id": 5590, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5574, + "id": 5589, "name": "", "nodeType": "VariableDeclaration", - "scope": 5733, - "src": "5208:4:6", + "scope": 5748, + "src": "5336:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11881,10 +12080,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5573, + "id": 5588, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5208:4:6", + "src": "5336:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11894,32 +12093,32 @@ "visibility": "internal" } ], - "src": "5207:6:6" + "src": "5335:6:6" }, - "scope": 7493, - "src": "5131:1623:6", + "scope": 7851, + "src": "5259:1623:6", "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5794, + "id": 5809, "nodeType": "Block", - "src": "7069:717:6", + "src": "7197:718:6", "statements": [ { "assignments": [ - 5743 + 5758 ], "declarations": [ { "constant": false, - "id": 5743, + "id": 5758, "name": "version", "nodeType": "VariableDeclaration", - "scope": 5794, - "src": "7079:14:6", + "scope": 5809, + "src": "7207:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11927,10 +12126,10 @@ "typeString": "uint32" }, "typeName": { - "id": 5742, + "id": 5757, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "7079:6:6", + "src": "7207:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -11940,23 +12139,23 @@ "visibility": "internal" } ], - "id": 5744, + "id": 5759, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "7079:14:6" + "src": "7207:14:6" }, { "assignments": [ - 5746 + 5761 ], "declarations": [ { "constant": false, - "id": 5746, + "id": 5761, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 5794, - "src": "7103:8:6", + "scope": 5809, + "src": "7231:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11964,10 +12163,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5745, + "id": 5760, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7103:4:6", + "src": "7231:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11977,18 +12176,18 @@ "visibility": "internal" } ], - "id": 5748, + "id": 5763, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 5747, + "id": 5762, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7114:1:6", + "src": "7242:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11997,24 +12196,24 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "7103:12:6" + "src": "7231:12:6" }, { "expression": { "argumentTypes": null, - "id": 5754, + "id": 5769, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5749, + "id": 5764, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5743, - "src": "7125:7:6", + "referencedDeclaration": 5758, + "src": "7253:7:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -12027,12 +12226,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5751, + "id": 5766, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5735, - "src": "7156:7:6", + "referencedDeclaration": 5750, + "src": "7284:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -12040,12 +12239,12 @@ }, { "argumentTypes": null, - "id": 5752, + "id": 5767, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5746, - "src": "7165:3:6", + "referencedDeclaration": 5761, + "src": "7293:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12063,18 +12262,18 @@ "typeString": "uint256" } ], - "id": 5750, + "id": 5765, "name": "bytesToUint32Flipped", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4830, - "src": "7135:20:6", + "referencedDeclaration": 4839, + "src": "7263:20:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", "typeString": "function (bytes memory,uint256) pure returns (uint32)" } }, - "id": 5753, + "id": 5768, "isConstant": false, "isLValue": false, "isPure": false, @@ -12082,21 +12281,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7135:34:6", + "src": "7263:34:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "src": "7125:44:6", + "src": "7253:44:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "id": 5755, + "id": 5770, "nodeType": "ExpressionStatement", - "src": "7125:44:6" + "src": "7253:44:6" }, { "condition": { @@ -12105,19 +12304,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 5758, + "id": 5773, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5756, + "id": 5771, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5743, - "src": "7182:7:6", + "referencedDeclaration": 5758, + "src": "7310:7:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -12127,31 +12326,31 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 5757, + "id": 5772, "name": "SYSCOIN_TX_VERSION_ALLOCATION_MINT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5015, - "src": "7193:34:6", + "referencedDeclaration": 5024, + "src": "7321:34:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "src": "7182:45:6", + "src": "7310:45:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 5764, + "id": 5779, "nodeType": "IfStatement", - "src": "7179:117:6", + "src": "7307:117:6", "trueBody": { - "id": 5763, + "id": 5778, "nodeType": "Block", - "src": "7228:68:6", + "src": "7356:68:6", "statements": [ { "expression": { @@ -12159,12 +12358,12 @@ "components": [ { "argumentTypes": null, - "id": 5759, + "id": 5774, "name": "ERR_PARSE_TX_SYS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5009, - "src": "7250:16:6", + "referencedDeclaration": 5018, + "src": "7378:16:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12172,35 +12371,35 @@ }, { "argumentTypes": null, - "id": 5760, + "id": 5775, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5740, - "src": "7268:16:6", + "referencedDeclaration": 5755, + "src": "7396:16:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } } ], - "id": 5761, + "id": 5776, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7249:36:6", + "src": "7377:36:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$", "typeString": "tuple(uint256,uint32)" } }, - "functionReturnParameters": 5741, - "id": 5762, + "functionReturnParameters": 5756, + "id": 5777, "nodeType": "Return", - "src": "7242:43:6" + "src": "7370:43:6" } ] } @@ -12208,19 +12407,19 @@ { "expression": { "argumentTypes": null, - "id": 5770, + "id": 5785, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5765, + "id": 5780, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5746, - "src": "7305:3:6", + "referencedDeclaration": 5761, + "src": "7433:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12233,12 +12432,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5767, + "id": 5782, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5735, - "src": "7326:7:6", + "referencedDeclaration": 5750, + "src": "7454:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -12247,14 +12446,14 @@ { "argumentTypes": null, "hexValue": "34", - "id": 5768, + "id": 5783, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7335:1:6", + "src": "7463:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -12274,18 +12473,18 @@ "typeString": "int_const 4" } ], - "id": 5766, + "id": 5781, "name": "getOpReturnPos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5733, - "src": "7311:14:6", + "referencedDeclaration": 5748, + "src": "7439:14:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256)" } }, - "id": 5769, + "id": 5784, "isConstant": false, "isLValue": false, "isPure": false, @@ -12293,38 +12492,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7311:26:6", + "src": "7439:26:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7305:32:6", + "src": "7433:32:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5771, + "id": 5786, "nodeType": "ExpressionStatement", - "src": "7305:32:6" + "src": "7433:32:6" }, { "expression": { "argumentTypes": null, - "id": 5774, + "id": 5789, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5772, + "id": 5787, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5746, - "src": "7347:3:6", + "referencedDeclaration": 5761, + "src": "7475:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12335,14 +12534,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "33", - "id": 5773, + "id": 5788, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7354:1:6", + "src": "7482:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -12350,28 +12549,28 @@ }, "value": "3" }, - "src": "7347:8:6", + "src": "7475:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5775, + "id": 5790, "nodeType": "ExpressionStatement", - "src": "7347:8:6" + "src": "7475:8:6" }, { "assignments": [ - 5777 + 5792 ], "declarations": [ { "constant": false, - "id": 5777, + "id": 5792, "name": "tokenFreezeTopic", "nodeType": "VariableDeclaration", - "scope": 5794, - "src": "7468:24:6", + "scope": 5809, + "src": "7597:24:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12379,10 +12578,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5776, + "id": 5791, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7468:7:6", + "src": "7597:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12392,18 +12591,18 @@ "visibility": "internal" } ], - "id": 5779, + "id": 5794, "initialValue": { "argumentTypes": null, "hexValue": "307861616261623164623439653530346235313536656466336639393034326165656362393630376130386633393235383935373163643439373433616162613864", - "id": 5778, + "id": 5793, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7495:66:6", + "src": "7624:66:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_77223045334317777536692534302873667443928780219506944139266675433817424706189_by_1", @@ -12412,24 +12611,24 @@ "value": "0xaabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d" }, "nodeType": "VariableDeclarationStatement", - "src": "7468:93:6" + "src": "7597:93:6" }, { "expression": { "argumentTypes": null, - "id": 5792, + "id": 5807, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5780, + "id": 5795, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5740, - "src": "7571:16:6", + "referencedDeclaration": 5755, + "src": "7700:16:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -12451,12 +12650,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5785, + "id": 5800, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5735, - "src": "7706:7:6", + "referencedDeclaration": 5750, + "src": "7835:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -12464,12 +12663,12 @@ }, { "argumentTypes": null, - "id": 5786, + "id": 5801, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5746, - "src": "7715:3:6", + "referencedDeclaration": 5761, + "src": "7844:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12487,18 +12686,18 @@ "typeString": "uint256" } ], - "id": 5784, + "id": 5799, "name": "getEthReceipt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5966, - "src": "7692:13:6", + "referencedDeclaration": 6068, + "src": "7821:13:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,uint256) view returns (bytes memory)" } }, - "id": 5787, + "id": 5802, "isConstant": false, "isLValue": false, "isPure": false, @@ -12506,7 +12705,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7692:27:6", + "src": "7821:27:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -12514,12 +12713,12 @@ }, { "argumentTypes": null, - "id": 5788, + "id": 5803, "name": "tokenFreezeTopic", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5777, - "src": "7721:16:6", + "referencedDeclaration": 5792, + "src": "7850:16:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12537,18 +12736,18 @@ "typeString": "bytes32" } ], - "id": 5783, + "id": 5798, "name": "getLogValuesForTopic", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6068, - "src": "7650:20:6", + "referencedDeclaration": 6317, + "src": "7779:20:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,bytes32) pure returns (bytes memory)" } }, - "id": 5789, + "id": 5804, "isConstant": false, "isLValue": false, "isPure": false, @@ -12556,7 +12755,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7650:105:6", + "src": "7779:105:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -12570,18 +12769,18 @@ "typeString": "bytes memory" } ], - "id": 5782, + "id": 5797, "name": "getBridgeTransactionId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6081, - "src": "7610:22:6", + "referencedDeclaration": 6330, + "src": "7739:22:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes memory) pure returns (uint256)" } }, - "id": 5790, + "id": 5805, "isConstant": false, "isLValue": false, "isPure": false, @@ -12589,7 +12788,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7610:159:6", + "src": "7739:159:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12603,20 +12802,20 @@ "typeString": "uint256" } ], - "id": 5781, + "id": 5796, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7590:6:6", + "src": "7719:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint32_$", "typeString": "type(uint32)" }, "typeName": "uint32" }, - "id": 5791, + "id": 5806, "isConstant": false, "isLValue": false, "isPure": false, @@ -12624,42 +12823,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7590:189:6", + "src": "7719:189:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "src": "7571:208:6", + "src": "7700:208:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "id": 5793, + "id": 5808, "nodeType": "ExpressionStatement", - "src": "7571:208:6" + "src": "7700:208:6" } ] }, "documentation": "@dev Parse syscoin mint transaction to recover bridgeTransferId\n@param txBytes syscoin raw transaction\n@return errorCode, bridgeTransferId", - "id": 5795, + "id": 5810, "implemented": true, "kind": "function", "modifiers": [], "name": "parseMintTx", "nodeType": "FunctionDefinition", "parameters": { - "id": 5736, + "id": 5751, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5735, + "id": 5750, "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 5795, - "src": "6957:20:6", + "scope": 5810, + "src": "7085:20:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12667,10 +12866,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5734, + "id": 5749, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6957:5:6", + "src": "7085:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -12680,19 +12879,19 @@ "visibility": "internal" } ], - "src": "6956:22:6" + "src": "7084:22:6" }, "returnParameters": { - "id": 5741, + "id": 5756, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5738, + "id": 5753, "name": "errorCode", "nodeType": "VariableDeclaration", - "scope": 5795, - "src": "7024:14:6", + "scope": 5810, + "src": "7152:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12700,10 +12899,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5737, + "id": 5752, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7024:4:6", + "src": "7152:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12714,11 +12913,11 @@ }, { "constant": false, - "id": 5740, + "id": 5755, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 5795, - "src": "7040:23:6", + "scope": 5810, + "src": "7168:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12726,10 +12925,10 @@ "typeString": "uint32" }, "typeName": { - "id": 5739, + "id": 5754, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "7040:6:6", + "src": "7168:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -12739,687 +12938,811 @@ "visibility": "internal" } ], - "src": "7023:41:6" + "src": "7151:41:6" }, - "scope": 7493, - "src": "6936:850:6", + "scope": 7851, + "src": "7064:851:6", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5829, + "id": 5896, "nodeType": "Block", - "src": "7881:88:6", + "src": "8313:713:6", "statements": [ + { + "assignments": [ + 5822 + ], + "declarations": [ + { + "constant": false, + "id": 5822, + "name": "version", + "nodeType": "VariableDeclaration", + "scope": 5896, + "src": "8323:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5821, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "8323:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5823, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8323:14:6" + }, + { + "assignments": [ + 5825 + ], + "declarations": [ + { + "constant": false, + "id": 5825, + "name": "pos", + "nodeType": "VariableDeclaration", + "scope": 5896, + "src": "8347:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5824, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8347:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5827, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5826, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8358:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "8347:12:6" + }, { "expression": { "argumentTypes": null, - "id": 5827, + "id": 5833, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5804, - "name": "result", + "id": 5828, + "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5802, - "src": "7891:6:6", + "referencedDeclaration": 5822, + "src": "8369:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5830, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5812, + "src": "8400:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5831, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5825, + "src": "8409:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5829, + "name": "bytesToUint32Flipped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4839, + "src": "8379:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", + "typeString": "function (bytes memory,uint256) pure returns (uint32)" + } + }, + "id": 5832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8379:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "8369:44:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 5834, + "nodeType": "ExpressionStatement", + "src": "8369:44:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, - "id": 5826, + "id": 5837, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5807, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "7913:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5811, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5808, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "7919:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5809, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7923:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7919:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7913:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } + "id": 5835, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5822, + "src": "8426:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 5836, + "name": "SYSCOIN_TX_VERSION_ASSET_ACTIVATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5089, + "src": "8437:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "8426:44:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 5840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5838, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5822, + "src": "8474:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 5839, + "name": "SYSCOIN_TX_VERSION_ASSET_UPDATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5092, + "src": "8485:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "8474:42:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8426:90:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5850, + "nodeType": "IfStatement", + "src": "8423:159:6", + "trueBody": { + "id": 5849, + "nodeType": "Block", + "src": "8517:65:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5842, + "name": "ERR_PARSE_TX_SYS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5018, + "src": "8539:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5806, + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 5843, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7907:5:6", + "nodeType": "Literal", + "src": "8557:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "typeName": "uint8" + "value": "0" }, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7907:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7900:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 5813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7900:27:6", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 5825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5816, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "7943:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5818, - "indexExpression": { - "argumentTypes": null, - "id": 5817, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "7949:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "hexValue": "30", + "id": 5845, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7943:10:6", + "nodeType": "Literal", + "src": "8568:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } ], - "id": 5815, + "id": 5844, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7937:5:6", + "src": "8560:7:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, - "typeName": "uint8" + "typeName": "address" }, - "id": 5819, + "id": 5846, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7937:17:6", + "src": "8560:10:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7930:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 5820, + "id": 5847, "isConstant": false, + "isInlineArray": false, "isLValue": false, - "isPure": false, - "kind": "typeConversion", + "isPure": true, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7930:25:6", + "nodeType": "TupleExpression", + "src": "8538:33:6", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$_t_address_payable_$", + "typeString": "tuple(uint256,int_const 0,address payable)" } }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "id": 5823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7957:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 5822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7960:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "7957:4:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - } - } - ], - "id": 5824, + "functionReturnParameters": 5820, + "id": 5848, + "nodeType": "Return", + "src": "8531:40:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 5856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5851, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5825, + "src": "8591:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5853, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5812, + "src": "8612:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "hexValue": "34", + "id": 5854, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7956:6:6", + "nodeType": "Literal", + "src": "8621:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" } - }, - "src": "7930:32:6", + ], + "id": 5852, + "name": "getOpReturnPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5748, + "src": "8597:14:6", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256)" } }, - "src": "7900:62:6", + "id": 5855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8597:26:6", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "7891:71:6", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 5828, - "nodeType": "ExpressionStatement", - "src": "7891:71:6" - } - ] - }, - "documentation": null, - "id": 5830, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "bytesToUint16", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5797, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 5830, - "src": "7815:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5796, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7815:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5799, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 5830, - "src": "7835:8:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5798, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7835:4:6", + "src": "8591:32:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "value": null, - "visibility": "internal" - } - ], - "src": "7814:30:6" - }, - "returnParameters": { - "id": 5803, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5802, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 5830, - "src": "7866:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 5801, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "7866:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7865:15:6" - }, - "scope": 7493, - "src": "7792:177:6", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5965, - "nodeType": "Block", - "src": "8309:1340:6", - "statements": [ + "id": 5857, + "nodeType": "ExpressionStatement", + "src": "8591:32:6" + }, { "assignments": [ - 5840 + 5859 ], "declarations": [ { "constant": false, - "id": 5840, - "name": "ethTxReceipt", + "id": 5859, + "name": "pushDataOp", "nodeType": "VariableDeclaration", - "scope": 5965, - "src": "8319:25:6", + "scope": 5896, + "src": "8633:15:6", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" }, "typeName": { - "id": 5839, - "name": "bytes", + "id": 5858, + "name": "byte", "nodeType": "ElementaryTypeName", - "src": "8319:5:6", + "src": "8633:4:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" } }, "value": null, "visibility": "internal" } ], - "id": 5845, + "id": 5865, "initialValue": { "argumentTypes": null, - "arguments": [ - { + "baseExpression": { + "argumentTypes": null, + "id": 5860, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5812, + "src": "8651:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5864, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "hexValue": "30", - "id": 5843, + "id": 5861, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5825, + "src": "8659:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8357:1:6", + "src": "8663:1:6", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "8347:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" + "value": "1" }, - "typeName": { - "id": 5841, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8351:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } + "src": "8659:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 5844, "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", + "isLValue": true, + "isPure": false, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8347:12:6", + "nodeType": "IndexAccess", + "src": "8651:14:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" } }, "nodeType": "VariableDeclarationStatement", - "src": "8319:40:6" + "src": "8633:32:6" }, { - "assignments": [ - 5847 - ], - "declarations": [ - { - "constant": false, - "id": 5847, - "name": "bytesToRead", - "nodeType": "VariableDeclaration", - "scope": 5965, - "src": "8369:16:6", - "stateVariable": false, - "storageLocation": "default", + "expression": { + "argumentTypes": null, + "id": 5868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5866, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5825, + "src": "8675:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 5867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8682:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" }, - "typeName": { - "id": 5846, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8369:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "value": "2" + }, + "src": "8675:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5869, + "nodeType": "ExpressionStatement", + "src": "8675:8:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 5872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5870, + "name": "pushDataOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "8758:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783464", + "id": 5871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8772:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_77_by_1", + "typeString": "int_const 77" }, - "value": null, - "visibility": "internal" + "value": "0x4d" + }, + "src": "8758:18:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } - ], - "id": 5848, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8369:16:6" + }, + "falseBody": null, + "id": 5877, + "nodeType": "IfStatement", + "src": "8755:100:6", + "trueBody": { + "id": 5876, + "nodeType": "Block", + "src": "8777:78:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8791:5:6", + "subExpression": { + "argumentTypes": null, + "id": 5873, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5825, + "src": "8791:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5875, + "nodeType": "ExpressionStatement", + "src": "8791:5:6" + } + ] + } }, { "expression": { "argumentTypes": null, - "id": 5856, + "id": 5885, "isConstant": false, "isLValue": false, "isPure": false, @@ -13429,42 +13752,42 @@ "components": [ { "argumentTypes": null, - "id": 5849, - "name": "bytesToRead", + "id": 5878, + "name": "assetGuid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8423:11:6", + "referencedDeclaration": 5817, + "src": "8866:9:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, { "argumentTypes": null, - "id": 5850, - "name": "pos", + "id": 5879, + "name": "erc20Address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8436:3:6", + "referencedDeclaration": 5819, + "src": "8877:12:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } ], - "id": 5851, + "id": 5880, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "8422:18:6", + "src": "8865:25:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_tuple$_t_uint32_$_t_address_$", + "typeString": "tuple(uint32,address)" } }, "nodeType": "Assignment", @@ -13474,12 +13797,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5853, + "id": 5882, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "8455:7:6", + "referencedDeclaration": 5812, + "src": "8905:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13487,12 +13810,12 @@ }, { "argumentTypes": null, - "id": 5854, + "id": 5883, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8464:3:6", + "referencedDeclaration": 5825, + "src": "8914:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13510,18 +13833,18 @@ "typeString": "uint256" } ], - "id": 5852, - "name": "parseVarInt", + "id": 5881, + "name": "scanAssetTx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "8443:11:6", + "referencedDeclaration": 6215, + "src": "8893:11:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$_t_address_$", + "typeString": "function (bytes memory,uint256) view returns (uint32,address)" } }, - "id": 5855, + "id": 5884, "isConstant": false, "isLValue": false, "isPure": false, @@ -13529,1498 +13852,748 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8443:25:6", + "src": "8893:25:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_tuple$_t_uint32_$_t_address_$", + "typeString": "tuple(uint32,address)" } }, - "src": "8422:46:6", + "src": "8865:53:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5857, - "nodeType": "ExpressionStatement", - "src": "8422:46:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5858, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8478:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5859, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8485:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8478:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5861, + "id": 5886, "nodeType": "ExpressionStatement", - "src": "8478:18:6" + "src": "8865:53:6" }, { "expression": { "argumentTypes": null, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5862, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8540:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5863, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8553:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5864, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8539:18:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "id": 5866, - "name": "txBytes", + "id": 5888, + "name": "erc20Address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "8572:7:6", + "referencedDeclaration": 5819, + "src": "8936:12:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" } }, - { + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { "argumentTypes": null, - "id": 5867, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8581:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8960:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8952:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "id": 5891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8952:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } - ], - "id": 5865, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "8560:11:6", + }, + "src": "8936:26:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8560:25:6", + { + "argumentTypes": null, + "hexValue": "70617273654173736574547828293a206572633230416464726573732063616e6e6f7420626520656d707479", + "id": 5893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8972:46:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_536b360c6e06d2c4192c6ba24b0c3bc60468b3ba8f3933f24a800b60fe251351", + "typeString": "literal_string \"parseAssetTx(): erc20Address cannot be empty\"" + }, + "value": "parseAssetTx(): erc20Address cannot be empty" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_536b360c6e06d2c4192c6ba24b0c3bc60468b3ba8f3933f24a800b60fe251351", + "typeString": "literal_string \"parseAssetTx(): erc20Address cannot be empty\"" + } + ], + "id": 5887, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "8928:7:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "src": "8539:46:6", + "id": 5894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8928:91:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5870, + "id": 5895, "nodeType": "ExpressionStatement", - "src": "8539:46:6" - }, + "src": "8928:91:6" + } + ] + }, + "documentation": "@dev Parse syscoin asset transaction to recover asset guid and contract, for purposes of updating asset registry in erc20manager\n@param txBytes syscoin raw transaction\n@return errorCode, assetGuid, erc20Address", + "id": 5897, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "parseAssetTx", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5813, + "nodeType": "ParameterList", + "parameters": [ { - "expression": { - "argumentTypes": null, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5871, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8595:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5872, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8602:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8595:18:6", + "constant": false, + "id": 5812, + "name": "txBytes", + "nodeType": "VariableDeclaration", + "scope": 5897, + "src": "8186:20:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5811, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8186:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8185:22:6" + }, + "returnParameters": { + "id": 5820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5815, + "name": "errorCode", + "nodeType": "VariableDeclaration", + "scope": 5897, + "src": "8253:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5814, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8253:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5874, - "nodeType": "ExpressionStatement", - "src": "8595:18:6" + "value": null, + "visibility": "internal" }, { - "expression": { - "argumentTypes": null, - "id": 5882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5875, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8650:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5876, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8663:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5877, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8649:18:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5879, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "8682:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5880, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8691:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5878, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "8670:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8670:25:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "8649:46:6", + "constant": false, + "id": 5817, + "name": "assetGuid", + "nodeType": "VariableDeclaration", + "scope": 5897, + "src": "8269:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5816, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "8269:6:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 5883, - "nodeType": "ExpressionStatement", - "src": "8649:46:6" + "value": null, + "visibility": "internal" }, { - "expression": { - "argumentTypes": null, - "id": 5886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5884, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8705:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5885, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8712:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8705:18:6", + "constant": false, + "id": 5819, + "name": "erc20Address", + "nodeType": "VariableDeclaration", + "scope": 5897, + "src": "8287:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5818, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8287:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 5887, - "nodeType": "ExpressionStatement", - "src": "8705:18:6" - }, + "value": null, + "visibility": "internal" + } + ], + "src": "8252:56:6" + }, + "scope": 7851, + "src": "8164:862:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5931, + "nodeType": "Block", + "src": "9121:88:6", + "statements": [ { "expression": { "argumentTypes": null, - "id": 5895, + "id": 5929, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5888, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8760:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5889, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8773:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5890, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8759:18:6", + "id": 5906, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5904, + "src": "9131:6:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5892, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "8792:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5893, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8801:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5891, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "8780:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" - } + "commonType": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" }, - "id": 5894, + "id": 5928, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8780:25:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "8759:46:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5896, - "nodeType": "ExpressionStatement", - "src": "8759:46:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5897, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8815:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5898, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8822:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8815:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5900, - "nodeType": "ExpressionStatement", - "src": "8815:18:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5901, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8875:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5902, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8888:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5903, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8874:18:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5905, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "8907:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5906, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8916:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, + "leftExpression": { + "argumentTypes": null, + "arguments": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5904, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "8895:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8895:25:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "8874:46:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5909, - "nodeType": "ExpressionStatement", - "src": "8874:46:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5910, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "9051:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9066:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9051:16:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 5961, - "nodeType": "Block", - "src": "9527:87:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "ethTxReceipt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5840, - "src": "9541:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5953, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "9567:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5954, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9576:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "baseExpression": { "argumentTypes": null, - "id": 5955, - "name": "pos", + "id": 5909, + "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9581:3:6", + "referencedDeclaration": 5899, + "src": "9153:5:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { + "id": 5913, + "indexExpression": { "argumentTypes": null, - "id": 5956, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "9585:11:6", + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5910, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5901, + "src": "9159:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9163:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9159:5:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9581:15:6", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9153:12:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" } ], - "id": 5952, - "name": "sliceArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "9556:10:6", + "id": 5908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9147:5:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256,uint256) view returns (bytes memory)" - } + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" }, - "id": 5958, + "id": 5914, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9556:41:6", + "src": "9147:19:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } - }, - "src": "9541:56:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5960, - "nodeType": "ExpressionStatement", - "src": "9541:56:6" - } - ] - }, - "id": 5962, - "nodeType": "IfStatement", - "src": "9048:566:6", - "trueBody": { - "id": 5950, - "nodeType": "Block", - "src": "9068:334:6", - "statements": [ - { - "assignments": [ - 5914 - ], - "declarations": [ - { - "constant": false, - "id": 5914, - "name": "positionOfValue", - "nodeType": "VariableDeclaration", - "scope": 5950, - "src": "9082:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 5913, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "9082:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": null, - "visibility": "internal" } ], - "id": 5919, - "initialValue": { + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9140:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 5915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9140:27:6", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "id": 5927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5916, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "9121:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5917, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9130:3:6", + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5918, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5899, + "src": "9183:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5920, + "indexExpression": { + "argumentTypes": null, + "id": 5919, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5901, + "src": "9189:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9183:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9177:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" + }, + "id": 5921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9177:17:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } ], - "id": 5915, - "name": "bytesToUint16", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5830, - "src": "9107:13:6", + "id": 5916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9170:6:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint16_$", - "typeString": "function (bytes memory,uint256) pure returns (uint16)" - } + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" }, - "id": 5918, + "id": 5922, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9107:27:6", + "src": "9170:25:6", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" } }, - "nodeType": "VariableDeclarationStatement", - "src": "9082:52:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5920, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9148:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5921, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "9155:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9148:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "9148:18:6" - }, - { - "expression": { + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { "argumentTypes": null, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5924, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "9222:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5925, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9235:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5926, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9221:18:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5928, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "9254:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" }, - { + "id": 5925, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "id": 5929, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9263:3:6", + "hexValue": "32", + "id": 5923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9197:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5927, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "9242:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9242:25:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "9221:46:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "ExpressionStatement", - "src": "9221:46:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5933, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9281:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5934, - "name": "positionOfValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5914, - "src": "9288:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "src": "9281:22:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5936, - "nodeType": "ExpressionStatement", - "src": "9281:22:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5937, - "name": "ethTxReceipt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5840, - "src": "9317:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5939, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "9343:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5940, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9352:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "value": "2" }, - { + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5946, + "hexValue": "38", + "id": 5924, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5941, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9357:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5942, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "9362:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5943, - "name": "positionOfValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5914, - "src": "9374:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "src": "9362:27:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5945, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9361:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9357:33:6", + "nodeType": "Literal", + "src": "9200:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5938, - "name": "sliceArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "9332:10:6", + "value": "8" + }, + "src": "9197:4:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256,uint256) view returns (bytes memory)" + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9332:59:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" } - }, - "src": "9317:74:6", + ], + "id": 5926, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9196:6:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" } }, - "id": 5949, - "nodeType": "ExpressionStatement", - "src": "9317:74:6" + "src": "9170:32:6", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "9140:62:6", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5963, - "name": "ethTxReceipt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5840, - "src": "9630:12:6", + }, + "src": "9131:71:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, - "functionReturnParameters": 5838, - "id": 5964, - "nodeType": "Return", - "src": "9623:19:6" + "id": 5930, + "nodeType": "ExpressionStatement", + "src": "9131:71:6" } ] }, - "documentation": "Parse txBytes and returns ethereum tx receipt\n@param txBytes syscoin raw transaction\n@param pos position at where to start parsing\n@return ethTxReceipt ethereum tx receipt", - "id": 5966, + "documentation": null, + "id": 5932, "implemented": true, "kind": "function", "modifiers": [], - "name": "getEthReceipt", + "name": "bytesToUint16", "nodeType": "FunctionDefinition", "parameters": { - "id": 5835, + "id": 5902, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5832, - "name": "txBytes", + "id": 5899, + "name": "input", "nodeType": "VariableDeclaration", - "scope": 5966, - "src": "8214:20:6", + "scope": 5932, + "src": "9055:18:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -15028,10 +14601,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5831, + "id": 5898, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8214:5:6", + "src": "9055:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -15042,11 +14615,11 @@ }, { "constant": false, - "id": 5834, + "id": 5901, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 5966, - "src": "8236:8:6", + "scope": 5932, + "src": "9075:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15054,10 +14627,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5833, + "id": 5900, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "8236:4:6", + "src": "9075:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15067,4163 +14640,3855 @@ "visibility": "internal" } ], - "src": "8213:32:6" + "src": "9054:30:6" }, "returnParameters": { - "id": 5838, + "id": 5905, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5837, - "name": "", + "id": 5904, + "name": "result", "nodeType": "VariableDeclaration", - "scope": 5966, - "src": "8291:12:6", + "scope": 5932, + "src": "9106:13:6", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint16", + "typeString": "uint16" }, "typeName": { - "id": 5836, - "name": "bytes", + "id": 5903, + "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "8291:5:6", + "src": "9106:6:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, "value": null, "visibility": "internal" } ], - "src": "8290:14:6" + "src": "9105:15:6" }, - "scope": 7493, - "src": "8191:1458:6", - "stateMutability": "view", + "scope": 7851, + "src": "9032:177:6", + "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5981, + "id": 6067, "nodeType": "Block", - "src": "10126:134:6", + "src": "9549:1340:6", "statements": [ { "assignments": [ - 5976 + 5942 ], "declarations": [ { "constant": false, - "id": 5976, - "name": "out", + "id": 5942, + "name": "ethTxReceipt", "nodeType": "VariableDeclaration", - "scope": 5981, - "src": "10136:11:6", + "scope": 6067, + "src": "9559:25:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 5975, - "name": "bytes32", + "id": 5941, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10136:7:6", + "src": "9559:5:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], - "id": 5977, - "initialValue": null, + "id": 5947, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9597:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "9587:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 5943, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9591:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 5946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9587:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, "nodeType": "VariableDeclarationStatement", - "src": "10136:11:6" + "src": "9559:40:6" }, { - "externalReferences": [ - { - "out": { - "declaration": 5976, - "isOffset": false, - "isSlot": false, - "src": "10180:3:6", - "valueSize": 1 - } - }, - { - "_rawBytes": { - "declaration": 5968, - "isOffset": false, - "isSlot": false, - "src": "10201:9:6", - "valueSize": 1 - } - }, - { - "pos": { - "declaration": 5970, - "isOffset": false, - "isSlot": false, - "src": "10219:3:6", - "valueSize": 1 - } - } - ], - "id": 5978, - "nodeType": "InlineAssembly", - "operations": "{\n out := mload(add(add(_rawBytes, 0x20), pos))\n}", - "src": "10157:77:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5979, - "name": "out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5976, - "src": "10250:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 5974, - "id": 5980, - "nodeType": "Return", - "src": "10243:10:6" - } - ] - }, - "documentation": null, - "id": 5982, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "bytesToBytes32", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5968, - "name": "_rawBytes", - "nodeType": "VariableDeclaration", - "scope": 5982, - "src": "10062:22:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5967, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10062:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5970, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 5982, - "src": "10086:8:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5969, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10086:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10061:34:6" - }, - "returnParameters": { - "id": 5974, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5973, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5982, - "src": "10117:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5972, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10117:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10116:9:6" - }, - "scope": 7493, - "src": "10038:222:6", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6067, - "nodeType": "Block", - "src": "10566:620:6", - "statements": [ - { - "assignments": [ - 5995 - ], - "declarations": [ + "assignments": [ + 5949 + ], + "declarations": [ { "constant": false, - "id": 5995, - "name": "ethTxReceiptList", + "id": 5949, + "name": "bytesToRead", "nodeType": "VariableDeclaration", "scope": 6067, - "src": "10576:43:6", + "src": "9609:16:6", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem[]" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "baseType": { - "contractScope": null, - "id": 5993, - "name": "RLPReader.RLPItem", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9490, - "src": "10576:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_storage_ptr", - "typeString": "struct RLPReader.RLPItem" - } - }, - "id": 5994, - "length": null, - "nodeType": "ArrayTypeName", - "src": "10576:19:6", + "id": 5948, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9609:4:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_storage_$dyn_storage_ptr", - "typeString": "struct RLPReader.RLPItem[]" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "id": 6001, - "initialValue": { + "id": 5950, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "9609:16:6" + }, + { + "expression": { "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 5996, - "name": "ethTxReceipt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "src": "10622:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toRlpItem", - "nodeType": "MemberAccess", - "referencedDeclaration": 9573, - "src": "10622:22:6", + "id": 5958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5951, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "9663:11:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_RLPItem_$9490_memory_ptr_$bound_to$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) pure returns (struct RLPReader.RLPItem memory)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 5998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10622:24:6", + { + "argumentTypes": null, + "id": 5952, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "9676:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5953, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "9662:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5955, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "9695:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5956, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "9704:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5954, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "9683:11:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 5999, + "id": 5957, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "toList", - "nodeType": "MemberAccess", - "referencedDeclaration": 9708, - "src": "10622:31:6", + "names": [], + "nodeType": "FunctionCall", + "src": "9683:25:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$9490_memory_ptr_$returns$_t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr_$bound_to$_t_struct$_RLPItem_$9490_memory_ptr_$", - "typeString": "function (struct RLPReader.RLPItem memory) pure returns (struct RLPReader.RLPItem memory[] memory)" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "id": 6000, + "src": "9662:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5959, + "nodeType": "ExpressionStatement", + "src": "9662:46:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5962, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10622:33:6", + "leftHandSide": { + "argumentTypes": null, + "id": 5960, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "9718:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 5961, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "9725:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9718:18:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "10576:79:6" + "id": 5963, + "nodeType": "ExpressionStatement", + "src": "9718:18:6" }, { - "assignments": [ - 6006 - ], - "declarations": [ - { - "constant": false, - "id": 6006, - "name": "logsList", - "nodeType": "VariableDeclaration", - "scope": 6067, - "src": "10665:35:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6004, - "name": "RLPReader.RLPItem", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9490, - "src": "10665:17:6", + "expression": { + "argumentTypes": null, + "id": 5971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5964, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "9780:11:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_storage_ptr", - "typeString": "struct RLPReader.RLPItem" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6005, - "length": null, - "nodeType": "ArrayTypeName", - "src": "10665:19:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_storage_$dyn_storage_ptr", - "typeString": "struct RLPReader.RLPItem[]" + { + "argumentTypes": null, + "id": 5965, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "9793:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6012, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { + ], + "id": 5966, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "9779:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 6007, - "name": "ethTxReceiptList", + "id": 5968, + "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "10703:16:6", + "referencedDeclaration": 5934, + "src": "9812:7:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "id": 6009, - "indexExpression": { + { "argumentTypes": null, - "hexValue": "33", - "id": 6008, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10720:1:6", - "subdenomination": null, + "id": 5969, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "9821:3:6", "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10703:19:6", + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5967, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "9800:11:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_memory", - "typeString": "struct RLPReader.RLPItem memory" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 6010, + "id": 5970, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "toList", - "nodeType": "MemberAccess", - "referencedDeclaration": 9708, - "src": "10703:26:6", + "names": [], + "nodeType": "FunctionCall", + "src": "9800:25:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$9490_memory_ptr_$returns$_t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr_$bound_to$_t_struct$_RLPItem_$9490_memory_ptr_$", - "typeString": "function (struct RLPReader.RLPItem memory) pure returns (struct RLPReader.RLPItem memory[] memory)" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "id": 6011, + "src": "9779:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5972, + "nodeType": "ExpressionStatement", + "src": "9779:46:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5975, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10703:28:6", + "leftHandSide": { + "argumentTypes": null, + "id": 5973, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "9835:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 5974, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "9842:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9835:18:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "10665:66:6" + "id": 5976, + "nodeType": "ExpressionStatement", + "src": "9835:18:6" }, { - "body": { - "id": 6061, - "nodeType": "Block", - "src": "10787:358:6", - "statements": [ - { - "assignments": [ - 6028 - ], - "declarations": [ - { - "constant": false, - "id": 6028, - "name": "log", - "nodeType": "VariableDeclaration", - "scope": 6061, - "src": "10801:30:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6026, - "name": "RLPReader.RLPItem", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9490, - "src": "10801:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_storage_ptr", - "typeString": "struct RLPReader.RLPItem" - } - }, - "id": 6027, - "length": null, - "nodeType": "ArrayTypeName", - "src": "10801:19:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_storage_$dyn_storage_ptr", - "typeString": "struct RLPReader.RLPItem[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6034, - "initialValue": { + "expression": { + "argumentTypes": null, + "id": 5984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6029, - "name": "logsList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6006, - "src": "10834:8:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" - } - }, - "id": 6031, - "indexExpression": { - "argumentTypes": null, - "id": 6030, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6014, - "src": "10843:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10834:11:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_memory", - "typeString": "struct RLPReader.RLPItem memory" - } - }, - "id": 6032, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "toList", - "nodeType": "MemberAccess", - "referencedDeclaration": 9708, - "src": "10834:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$9490_memory_ptr_$returns$_t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr_$bound_to$_t_struct$_RLPItem_$9490_memory_ptr_$", - "typeString": "function (struct RLPReader.RLPItem memory) pure returns (struct RLPReader.RLPItem memory[] memory)" - } - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10834:20:6", + "id": 5977, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "9890:11:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "10801:53:6" - }, - { - "assignments": [ - 6036 - ], - "declarations": [ - { - "constant": false, - "id": 6036, - "name": "rawTopic", - "nodeType": "VariableDeclaration", - "scope": 6061, - "src": "10868:21:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6035, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10868:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" + { + "argumentTypes": null, + "id": 5978, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "9903:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "id": 6042, - "initialValue": { + } + ], + "id": 5979, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "9889:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6037, - "name": "log", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6028, - "src": "10892:3:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" - } - }, - "id": 6039, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10896:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10892:6:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_memory", - "typeString": "struct RLPReader.RLPItem memory" - } - }, - "id": 6040, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "toBytes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9955, - "src": "10892:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$9490_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_struct$_RLPItem_$9490_memory_ptr_$", - "typeString": "function (struct RLPReader.RLPItem memory) pure returns (bytes memory)" - } - }, - "id": 6041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10892:16:6", + "id": 5981, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "9922:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "nodeType": "VariableDeclarationStatement", - "src": "10868:40:6" - }, - { - "assignments": [ - 6044 - ], - "declarations": [ - { - "constant": false, - "id": 6044, - "name": "topic", - "nodeType": "VariableDeclaration", - "scope": 6061, - "src": "10922:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6043, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10922:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6049, - "initialValue": { + { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6046, - "name": "rawTopic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6036, - "src": "10953:8:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 6047, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10963:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 6045, - "name": "bytesToBytes32", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "10938:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (bytes memory,uint256) pure returns (bytes32)" - } - }, - "id": 6048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10938:27:6", + "id": 5982, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "9931:3:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10922:43:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 6052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6050, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "11017:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6051, - "name": "expectedTopic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "11026:13:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" }, - "src": "11017:22:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "falseBody": null, - "id": 6060, - "nodeType": "IfStatement", - "src": "11013:122:6", - "trueBody": { - "id": 6059, - "nodeType": "Block", - "src": "11041:94:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6053, - "name": "log", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6028, - "src": "11104:3:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" - } - }, - "id": 6055, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11108:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11104:6:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_memory", - "typeString": "struct RLPReader.RLPItem memory" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "toBytes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9955, - "src": "11104:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$9490_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_struct$_RLPItem_$9490_memory_ptr_$", - "typeString": "function (struct RLPReader.RLPItem memory) pure returns (bytes memory)" - } - }, - "id": 6057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11104:16:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 5990, - "id": 6058, - "nodeType": "Return", - "src": "11097:23:6" - } - ] + ], + "id": 5980, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "9910:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } + }, + "id": 5983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9910:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } - ] + }, + "src": "9889:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } }, - "condition": { + "id": 5985, + "nodeType": "ExpressionStatement", + "src": "9889:46:6" + }, + { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6020, + "id": 5988, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, - "id": 6017, - "name": "i", + "id": 5986, + "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6014, - "src": "10761:1:6", + "referencedDeclaration": 5936, + "src": "9945:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6018, - "name": "logsList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6006, - "src": "10765:8:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" - } - }, - "id": 6019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10765:15:6", + "id": 5987, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "9952:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10761:19:6", + "src": "9945:18:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6062, - "initializationExpression": { - "assignments": [ - 6014 - ], - "declarations": [ - { - "constant": false, - "id": 6014, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "10746:9:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10746:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6016, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10758:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "10746:13:6" - }, - "loopExpression": { - "expression": { + "id": 5989, + "nodeType": "ExpressionStatement", + "src": "9945:18:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { "argumentTypes": null, - "id": 6022, + "components": [ + { + "argumentTypes": null, + "id": 5990, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "10000:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5991, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10013:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5992, "isConstant": false, - "isLValue": false, + "isInlineArray": false, + "isLValue": true, "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "10782:3:6", - "subExpression": { - "argumentTypes": null, - "id": 6021, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6014, - "src": "10782:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "9999:18:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "id": 6023, - "nodeType": "ExpressionStatement", - "src": "10782:3:6" - }, - "nodeType": "ForStatement", - "src": "10741:404:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "546f706963206e6f7420666f756e64", - "id": 6064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11161:17:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cfc512e84ffdf7388e5788298a153cceb897abb7bc369ed2894442c817eecf31", - "typeString": "literal_string \"Topic not found\"" + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5994, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "10032:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } }, - "value": "Topic not found" - } - ], - "expression": { - "argumentTypes": [ { - "typeIdentifier": "t_stringliteral_cfc512e84ffdf7388e5788298a153cceb897abb7bc369ed2894442c817eecf31", - "typeString": "literal_string \"Topic not found\"" + "argumentTypes": null, + "id": 5995, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10041:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], - "id": 6063, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10189, - 10190 - ], - "referencedDeclaration": 10190, - "src": "11154:6:6", + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5993, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "10020:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 5996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10020:25:6", "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11154:25:6", + "src": "9999:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6066, + "id": 5998, "nodeType": "ExpressionStatement", - "src": "11154:25:6" - } - ] - }, - "documentation": "Return logs for given ethereum transaction receipt\n@param ethTxReceipt ethereum transaction receipt\n@return logs bloom", - "id": 6068, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getLogValuesForTopic", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5987, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5984, - "name": "ethTxReceipt", - "nodeType": "VariableDeclaration", - "scope": 6068, - "src": "10453:25:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5983, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10453:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" + "src": "9999:46:6" }, { - "constant": false, - "id": 5986, - "name": "expectedTopic", - "nodeType": "VariableDeclaration", - "scope": 6068, - "src": "10480:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5985, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10480:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10452:50:6" - }, - "returnParameters": { - "id": 5990, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5989, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6068, - "src": "10548:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5988, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10548:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10547:14:6" - }, - "scope": 7493, - "src": "10423:763:6", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6080, - "nodeType": "Block", - "src": "11417:141:6", - "statements": [ - { - "assignments": [ - 6076 - ], - "declarations": [ - { - "constant": false, - "id": 6076, - "name": "index", - "nodeType": "VariableDeclaration", - "scope": 6080, - "src": "11427:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 6075, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "11427:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6078, - "initialValue": { + "expression": { "argumentTypes": null, - "hexValue": "33", - "id": 6077, + "id": 6001, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "11441:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11427:15:6" - }, - { - "externalReferences": [ - { - "value": { - "declaration": 6073, - "isOffset": false, - "isSlot": false, - "src": "11496:5:6", - "valueSize": 1 + "leftHandSide": { + "argumentTypes": null, + "id": 5999, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10055:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - { - "index": { - "declaration": 6076, - "isOffset": false, - "isSlot": false, - "src": "11534:5:6", - "valueSize": 1 + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 6000, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "10062:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - { - "logValues": { - "declaration": 6070, - "isOffset": false, - "isSlot": false, - "src": "11515:9:6", - "valueSize": 1 - } - } - ], - "id": 6079, - "nodeType": "InlineAssembly", - "operations": "{\n value := mload(add(logValues, mul(32, index)))\n}", - "src": "11473:79:6" - } - ] - }, - "documentation": "Get bridgeTransactionId from logs bloom\n@param logValues log values\n@return bridgeTransactionId", - "id": 6081, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBridgeTransactionId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6071, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6070, - "name": "logValues", - "nodeType": "VariableDeclaration", - "scope": 6081, - "src": "11357:22:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6069, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11357:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11356:24:6" - }, - "returnParameters": { - "id": 6074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6073, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6081, - "src": "11402:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6072, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11402:7:6", + "src": "10055:18:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "value": null, - "visibility": "internal" - } - ], - "src": "11401:15:6" - }, - "scope": 7493, - "src": "11325:233:6", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6213, - "nodeType": "Block", - "src": "12479:950:6", - "statements": [ + "id": 6002, + "nodeType": "ExpressionStatement", + "src": "10055:18:6" + }, { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 6103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "id": 6010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { "argumentTypes": null, - "id": 6101, - "name": "bestSuperblock", + "id": 6003, + "name": "bytesToRead", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "12497:14:6", + "referencedDeclaration": 5949, + "src": "10115:11:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + { "argumentTypes": null, - "hexValue": "30", - "id": 6102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12515:1:6", - "subdenomination": null, + "id": 6004, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10128:3:6", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12497:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], - "id": 6100, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "12489:7:6", + "id": 6005, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10114:18:6", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "id": 6104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12489:28:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6105, - "nodeType": "ExpressionStatement", - "src": "12489:28:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 6107, - "name": "_parentId", + "id": 6007, + "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6093, - "src": "12535:9:6", + "referencedDeclaration": 5934, + "src": "10147:7:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + { "argumentTypes": null, - "hexValue": "30", - "id": 6108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12548:1:6", - "subdenomination": null, + "id": 6008, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10156:3:6", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" }, - "value": "0" - }, - "src": "12535:14:6", + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6006, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "10135:11:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } - ], - "id": 6106, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "12527:7:6", + }, + "id": 6009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10135:25:6", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "id": 6110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12527:23:6", + "src": "10114:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6111, + "id": 6011, "nodeType": "ExpressionStatement", - "src": "12527:23:6" + "src": "10114:46:6" }, { - "assignments": [ - 6113 - ], - "declarations": [ - { - "constant": false, - "id": 6113, - "name": "superblockHash", - "nodeType": "VariableDeclaration", - "scope": 6213, - "src": "12561:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6112, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12561:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6122, - "initialValue": { + "condition": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6115, - "name": "_blocksMerkleRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "12605:17:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6116, - "name": "_timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6085, - "src": "12624:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6117, - "name": "_mtpTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6087, - "src": "12636:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6118, - "name": "_lastHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6089, - "src": "12651:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6119, - "name": "_lastBits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6091, - "src": "12662:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 6120, - "name": "_parentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6093, - "src": "12673:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 6114, - "name": "calcSuperblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7314, - "src": "12586:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32,uint256,uint256,bytes32,uint32,bytes32) pure returns (bytes32)" - } + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 6121, + "id": 6014, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12586:97:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12561:122:6" - }, - { - "assignments": [ - 6124 - ], - "declarations": [ - { - "constant": false, - "id": 6124, - "name": "superblock", - "nodeType": "VariableDeclaration", - "scope": 6213, - "src": "12693:33:6", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" - }, - "typeName": { - "contractScope": null, - "id": 6123, - "name": "SuperblockInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "12693:14:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6128, - "initialValue": { - "argumentTypes": null, - "baseExpression": { + "leftExpression": { "argumentTypes": null, - "id": 6125, - "name": "superblocks", + "id": 6012, + "name": "bytesToRead", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "12729:11:6", + "referencedDeclaration": 5949, + "src": "10291:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6127, - "indexExpression": { + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { "argumentTypes": null, - "id": 6126, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6113, - "src": "12741:14:6", + "hexValue": "32", + "id": 6013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10306:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12729:27:6", + "src": "10291:16:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "VariableDeclarationStatement", - "src": "12693:63:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ + "falseBody": { + "id": 6063, + "nodeType": "Block", + "src": "10767:87:6", + "statements": [ { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "expression": { "argumentTypes": null, - "expression": { + "id": 6061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { "argumentTypes": null, - "id": 6130, - "name": "superblock", + "id": 6053, + "name": "ethTxReceipt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "12775:10:6", + "referencedDeclaration": 5942, + "src": "10781:12:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "id": 6131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "12775:17:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "id": 6132, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "12796:6:6", + "arguments": [ + { + "argumentTypes": null, + "id": 6055, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "10807:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 6056, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10816:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6057, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10821:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 6058, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "10825:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10821:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6054, + "name": "sliceArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4999, + "src": "10796:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,uint256,uint256) view returns (bytes memory)" + } + }, + "id": 6060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10796:41:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "id": 6133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Uninitialized", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12796:20:6", + "src": "10781:56:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "src": "12775:41:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6129, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "12767:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" + "id": 6062, + "nodeType": "ExpressionStatement", + "src": "10781:56:6" } - }, - "id": 6135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12767:50:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } + ] }, - "id": 6136, - "nodeType": "ExpressionStatement", - "src": "12767:50:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6137, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "12828:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } + "id": 6064, + "nodeType": "IfStatement", + "src": "10288:566:6", + "trueBody": { + "id": 6052, + "nodeType": "Block", + "src": "10308:334:6", + "statements": [ + { + "assignments": [ + 6016 + ], + "declarations": [ + { + "constant": false, + "id": 6016, + "name": "positionOfValue", + "nodeType": "VariableDeclaration", + "scope": 6052, + "src": "10322:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 6015, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "10322:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6021, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6018, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "10361:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 6019, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10370:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6017, + "name": "bytesToUint16", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5932, + "src": "10347:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint16_$", + "typeString": "function (bytes memory,uint256) pure returns (uint16)" + } + }, + "id": 6020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10347:27:6", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10322:52:6" }, - "id": 6139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "blocksMerkleRoot", - "nodeType": "MemberAccess", - "referencedDeclaration": 7619, - "src": "12828:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6140, - "name": "_blocksMerkleRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "12858:17:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + { + "expression": { + "argumentTypes": null, + "id": 6024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6022, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10388:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 6023, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "10395:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10388:18:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6025, + "nodeType": "ExpressionStatement", + "src": "10388:18:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 6026, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "10462:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6027, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10475:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6028, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10461:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6030, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "10494:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 6031, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10503:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6029, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "10482:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 6032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10482:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "10461:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6034, + "nodeType": "ExpressionStatement", + "src": "10461:46:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6035, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10521:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 6036, + "name": "positionOfValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6016, + "src": "10528:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "10521:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6038, + "nodeType": "ExpressionStatement", + "src": "10521:22:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6039, + "name": "ethTxReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5942, + "src": "10557:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6041, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "10583:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 6042, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10592:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6043, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10597:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6044, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "10602:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 6045, + "name": "positionOfValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6016, + "src": "10614:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "10602:27:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6047, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10601:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10597:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6040, + "name": "sliceArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4999, + "src": "10572:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,uint256,uint256) view returns (bytes memory)" + } + }, + "id": 6049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10572:59:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "10557:74:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6051, + "nodeType": "ExpressionStatement", + "src": "10557:74:6" } - }, - "src": "12828:47:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 6142, - "nodeType": "ExpressionStatement", - "src": "12828:47:6" + ] + } }, { "expression": { "argumentTypes": null, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6143, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "12885:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6145, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7621, - "src": "12885:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6146, - "name": "_timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6085, - "src": "12908:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12885:33:6", - "typeDescriptions": { + "id": 6065, + "name": "ethTxReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5942, + "src": "10870:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 5940, + "id": 6066, + "nodeType": "Return", + "src": "10863:19:6" + } + ] + }, + "documentation": "Parse txBytes and returns ethereum tx receipt\n@param txBytes syscoin raw transaction\n@param pos position at where to start parsing\n@return ethTxReceipt ethereum tx receipt", + "id": 6068, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getEthReceipt", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5934, + "name": "txBytes", + "nodeType": "VariableDeclaration", + "scope": 6068, + "src": "9454:20:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5933, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9454:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5936, + "name": "pos", + "nodeType": "VariableDeclaration", + "scope": 6068, + "src": "9476:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5935, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9476:4:6", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6148, - "nodeType": "ExpressionStatement", - "src": "12885:33:6" + "value": null, + "visibility": "internal" + } + ], + "src": "9453:32:6" + }, + "returnParameters": { + "id": 5940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5939, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6068, + "src": "9531:12:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5938, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9531:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9530:14:6" + }, + "scope": 7851, + "src": "9431:1458:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6214, + "nodeType": "Block", + "src": "11305:1410:6", + "statements": [ + { + "assignments": [ + 6080 + ], + "declarations": [ + { + "constant": false, + "id": 6080, + "name": "assetGUID", + "nodeType": "VariableDeclaration", + "scope": 6214, + "src": "11315:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 6079, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "11315:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6081, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "11315:16:6" + }, + { + "assignments": [ + 6083 + ], + "declarations": [ + { + "constant": false, + "id": 6083, + "name": "erc20Address", + "nodeType": "VariableDeclaration", + "scope": 6214, + "src": "11341:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11341:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6084, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "11341:20:6" + }, + { + "assignments": [ + 6086 + ], + "declarations": [ + { + "constant": false, + "id": 6086, + "name": "bytesToRead", + "nodeType": "VariableDeclaration", + "scope": 6214, + "src": "11371:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6085, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11371:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6087, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "11371:16:6" }, { "expression": { "argumentTypes": null, - "id": 6153, + "id": 6095, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6149, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "12928:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "components": [ + { + "argumentTypes": null, + "id": 6088, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "11425:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6089, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11438:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - }, - "id": 6151, + ], + "id": 6090, "isConstant": false, + "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberName": "mtpTimestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7623, - "src": "12928:23:6", + "nodeType": "TupleExpression", + "src": "11424:18:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6152, - "name": "_mtpTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6087, - "src": "12954:13:6", + "arguments": [ + { + "argumentTypes": null, + "id": 6092, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6070, + "src": "11457:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 6093, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11466:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6091, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "11445:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 6094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11445:25:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "src": "12928:39:6", + "src": "11424:46:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 6154, + "id": 6096, "nodeType": "ExpressionStatement", - "src": "12928:39:6" + "src": "11424:46:6" }, { "expression": { "argumentTypes": null, - "id": 6159, + "id": 6099, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6155, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "12977:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6157, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 7625, - "src": "12977:19:6", + "id": 6097, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11480:3:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 6158, - "name": "_lastHash", + "id": 6098, + "name": "bytesToRead", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6089, - "src": "12999:9:6", + "referencedDeclaration": 6086, + "src": "11487:11:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "12977:31:6", + "src": "11480:18:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6160, + "id": 6100, "nodeType": "ExpressionStatement", - "src": "12977:31:6" + "src": "11480:18:6" }, { "expression": { "argumentTypes": null, - "id": 6165, + "id": 6103, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6161, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "13018:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6163, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "parentId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7627, - "src": "13018:19:6", + "id": 6101, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11531:3:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 6164, - "name": "_parentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6093, - "src": "13040:9:6", + "hexValue": "3332", + "id": 6102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11538:2:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" }, - "src": "13018:31:6", + "src": "11531:9:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6166, + "id": 6104, "nodeType": "ExpressionStatement", - "src": "13018:31:6" + "src": "11531:9:6" }, { "expression": { "argumentTypes": null, - "id": 6172, + "id": 6110, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6167, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "13059:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 7629, - "src": "13059:20:6", + "id": 6105, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6080, + "src": "11572:9:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6107, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6070, + "src": "11605:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 6108, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11614:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], "expression": { - "argumentTypes": null, - "id": 6170, - "name": "msg", + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6106, + "name": "bytesToUint32Flipped", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "13082:3:6", + "referencedDeclaration": 4839, + "src": "11584:20:6", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", + "typeString": "function (bytes memory,uint256) pure returns (uint32)" } }, - "id": 6171, + "id": 6109, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13082:10:6", + "names": [], + "nodeType": "FunctionCall", + "src": "11584:34:6", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "src": "13059:33:6", + "src": "11572:46:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 6173, + "id": 6111, "nodeType": "ExpressionStatement", - "src": "13059:33:6" + "src": "11572:46:6" }, { "expression": { "argumentTypes": null, - "id": 6178, + "id": 6114, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6174, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "13102:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "height", - "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "13102:17:6", + "id": 6112, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11628:3:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "hexValue": "31", - "id": 6177, + "hexValue": "34", + "id": 6113, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13122:1:6", + "src": "11635:1:6", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" }, - "value": "1" + "value": "4" }, - "src": "13102:21:6", + "src": "11628:8:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6179, + "id": 6115, "nodeType": "ExpressionStatement", - "src": "13102:21:6" + "src": "11628:8:6" }, { "expression": { "argumentTypes": null, - "id": 6184, + "id": 6123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6180, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "13133:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "components": [ + { + "argumentTypes": null, + "id": 6116, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "11673:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6117, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11686:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - }, - "id": 6182, + ], + "id": 6118, "isConstant": false, + "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberName": "lastBits", - "nodeType": "MemberAccess", - "referencedDeclaration": 7631, - "src": "13133:19:6", + "nodeType": "TupleExpression", + "src": "11672:18:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6183, - "name": "_lastBits", + "arguments": [ + { + "argumentTypes": null, + "id": 6120, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6070, + "src": "11705:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 6121, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11714:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6119, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "11693:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 6122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11693:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "11672:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6124, + "nodeType": "ExpressionStatement", + "src": "11672:46:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6125, + "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6091, - "src": "13155:9:6", + "referencedDeclaration": 6072, + "src": "11728:3:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 6126, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "11735:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "13133:31:6", + "src": "11728:18:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6185, + "id": 6128, "nodeType": "ExpressionStatement", - "src": "13133:31:6" + "src": "11728:18:6" }, { "expression": { "argumentTypes": null, - "id": 6191, + "id": 6131, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6186, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "13174:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "13174:17:6", + "id": 6129, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11796:3:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6189, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "13194:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" - } - }, - "id": 6190, + "hexValue": "31", + "id": 6130, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "memberName": "Approved", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13194:15:6", + "nodeType": "Literal", + "src": "11803:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" }, - "src": "13174:35:6", + "src": "11796:8:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6192, + "id": 6132, "nodeType": "ExpressionStatement", - "src": "13174:35:6" + "src": "11796:8:6" }, { - "eventCall": { + "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6194, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6113, - "src": "13239:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { + "id": 6140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { "argumentTypes": null, - "id": 6195, - "name": "msg", + "id": 6133, + "name": "bytesToRead", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "13255:3:6", + "referencedDeclaration": 6086, + "src": "11864:11:6", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13255:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + { + "argumentTypes": null, + "id": 6134, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11877:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } + ], + "id": 6135, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "11863:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } - ], - "expression": { - "argumentTypes": [ + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "argumentTypes": null, + "id": 6137, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6070, + "src": "11896:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } }, { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "argumentTypes": null, + "id": 6138, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11905:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], - "id": 6193, - "name": "NewSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5029, - "src": "13225:13:6", + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6136, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "11884:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 6139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11884:25:6", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "id": 6197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13225:41:6", + "src": "11863:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6198, - "nodeType": "EmitStatement", - "src": "13220:46:6" + "id": 6141, + "nodeType": "ExpressionStatement", + "src": "11863:46:6" }, { "expression": { "argumentTypes": null, - "id": 6201, + "id": 6144, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 6199, - "name": "bestSuperblock", + "id": 6142, + "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "13277:14:6", + "referencedDeclaration": 6072, + "src": "11919:3:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 6200, - "name": "superblockHash", + "id": 6143, + "name": "bytesToRead", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6113, - "src": "13294:14:6", + "referencedDeclaration": 6086, + "src": "11926:11:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "13277:31:6", + "src": "11919:18:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6202, + "id": 6145, "nodeType": "ExpressionStatement", - "src": "13277:31:6" + "src": "11919:18:6" }, { - "eventCall": { + "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6204, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6113, - "src": "13342:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "id": 6148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6146, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11995:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 6147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12002:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, - { - "argumentTypes": null, - "expression": { + "value": "1" + }, + "src": "11995:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6149, + "nodeType": "ExpressionStatement", + "src": "11995:8:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { "argumentTypes": null, - "id": 6205, - "name": "msg", + "id": 6150, + "name": "bytesToRead", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "13358:3:6", + "referencedDeclaration": 6086, + "src": "12071:11:6", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13358:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + { + "argumentTypes": null, + "id": 6151, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12084:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } + ], + "id": 6152, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "12070:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } - ], - "expression": { - "argumentTypes": [ + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "argumentTypes": null, + "id": 6154, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6070, + "src": "12103:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } }, { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "argumentTypes": null, + "id": 6155, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12112:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], - "id": 6203, - "name": "ApprovedSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "13323:18:6", + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6153, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "12091:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 6156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12091:25:6", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13323:46:6", + "src": "12070:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6208, - "nodeType": "EmitStatement", - "src": "13318:51:6" + "id": 6158, + "nodeType": "ExpressionStatement", + "src": "12070:46:6" }, { "expression": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 6209, - "name": "ERR_SUPERBLOCK_OK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "13388:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6210, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6113, - "src": "13407:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6211, + "id": 6161, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13387:35:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", - "typeString": "tuple(uint256,bytes32)" - } - }, - "functionReturnParameters": 6099, - "id": 6212, - "nodeType": "Return", - "src": "13380:42:6" - } - ] - }, - "documentation": null, - "id": 6214, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6094, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6083, - "name": "_blocksMerkleRoot", - "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12281:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6082, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12281:7:6", + "leftHandSide": { + "argumentTypes": null, + "id": 6159, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12126:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 6160, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "12133:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12126:18:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "value": null, - "visibility": "internal" + "id": 6162, + "nodeType": "ExpressionStatement", + "src": "12126:18:6" }, { - "constant": false, - "id": 6085, - "name": "_timestamp", - "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12316:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6084, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12316:4:6", + "expression": { + "argumentTypes": null, + "id": 6165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6163, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12179:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "38", + "id": 6164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12186:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "12179:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "value": null, - "visibility": "internal" + "id": 6166, + "nodeType": "ExpressionStatement", + "src": "12179:8:6" }, { - "constant": false, - "id": 6087, - "name": "_mtpTimestamp", - "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12341:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6086, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12341:4:6", + "expression": { + "argumentTypes": null, + "id": 6169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6167, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12226:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "38", + "id": 6168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12233:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "12226:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "value": null, - "visibility": "internal" + "id": 6170, + "nodeType": "ExpressionStatement", + "src": "12226:8:6" }, { - "constant": false, - "id": 6089, - "name": "_lastHash", - "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12369:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6088, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12369:7:6", + "expression": { + "argumentTypes": null, + "id": 6173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6171, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12271:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "38", + "id": 6172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12278:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "12271:8:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "value": null, - "visibility": "internal" + "id": 6174, + "nodeType": "ExpressionStatement", + "src": "12271:8:6" }, { - "constant": false, - "id": 6091, - "name": "_lastBits", - "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12396:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6090, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "12396:6:6", + "expression": { + "argumentTypes": null, + "id": 6177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6175, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12313:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "34", + "id": 6176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12320:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "12313:8:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "value": null, - "visibility": "internal" + "id": 6178, + "nodeType": "ExpressionStatement", + "src": "12313:8:6" }, { - "constant": false, - "id": 6093, - "name": "_parentId", - "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12422:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6092, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12422:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12271:174:6" - }, - "returnParameters": { - "id": 6099, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6096, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12464:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6095, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12464:4:6", + "expression": { + "argumentTypes": null, + "id": 6181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6179, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12360:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 6180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12367:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12360:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "value": null, - "visibility": "internal" + "id": 6182, + "nodeType": "ExpressionStatement", + "src": "12360:8:6" }, { - "constant": false, - "id": 6098, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12470:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6097, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12470:7:6", + "expression": { + "argumentTypes": null, + "id": 6185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6183, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12405:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 6184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12412:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12405:8:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "value": null, - "visibility": "internal" - } - ], - "src": "12463:15:6" - }, - "scope": 7493, - "src": "12252:1177:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6395, - "nodeType": "Block", - "src": "14333:1524:6", - "statements": [ + "id": 6186, + "nodeType": "ExpressionStatement", + "src": "12405:8:6" + }, { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6238, + "id": 6194, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 6187, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "12451:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6188, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12464:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6189, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "12450:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6191, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6070, + "src": "12483:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 6192, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12492:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], "expression": { - "argumentTypes": null, - "id": 6235, - "name": "msg", + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6190, + "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "14347:3:6", + "referencedDeclaration": 4783, + "src": "12471:11:6", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 6236, + "id": 6193, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14347:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6237, - "name": "trustedClaimManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "14361:19:6", + "names": [], + "nodeType": "FunctionCall", + "src": "12471:25:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "src": "14347:33:6", + "src": "12450:46:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "falseBody": null, - "id": 6249, - "nodeType": "IfStatement", - "src": "14343:177:6", - "trueBody": { - "id": 6248, - "nodeType": "Block", - "src": "14382:138:6", - "statements": [ - { - "eventCall": { + "id": 6195, + "nodeType": "ExpressionStatement", + "src": "12450:46:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14417:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 6241, - "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "14420:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6239, - "name": "ErrorSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "14401:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 6242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14401:51:6", + "id": 6197, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "12514:11:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6243, - "nodeType": "EmitStatement", - "src": "14396:56:6" - }, - { - "expression": { + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 6244, - "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "14474:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14507:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 6246, + "hexValue": "30783134", + "id": 6198, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14473:36:6", + "nodeType": "Literal", + "src": "12529:4:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", - "typeString": "tuple(uint256,int_const 0)" - } + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "0x14" }, - "functionReturnParameters": 6234, - "id": 6247, - "nodeType": "Return", - "src": "14466:43:6" - } - ] - } - }, - { - "assignments": [ - 6251 - ], - "declarations": [ - { - "constant": false, - "id": 6251, - "name": "parent", - "nodeType": "VariableDeclaration", - "scope": 6395, - "src": "14530:29:6", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" - }, - "typeName": { - "contractScope": null, - "id": 6250, - "name": "SuperblockInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "14530:14:6", + "src": "12514:19:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "value": null, - "visibility": "internal" - } - ], - "id": 6255, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6252, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "14562:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + { + "argumentTypes": null, + "hexValue": "7363616e4173736574547828293a20496e76616c6964206e756d626572206f66206279746573207265616420666f7220636f6e7472616374206669656c64", + "id": 6200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12543:64:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_65cf841cdffcf46d89089af7928257f58c0f7491e64b6baf8ad16ca54da601bb", + "typeString": "literal_string \"scanAssetTx(): Invalid number of bytes read for contract field\"" + }, + "value": "scanAssetTx(): Invalid number of bytes read for contract field" } - }, - "id": 6254, - "indexExpression": { - "argumentTypes": null, - "id": 6253, - "name": "_parentId", + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_65cf841cdffcf46d89089af7928257f58c0f7491e64b6baf8ad16ca54da601bb", + "typeString": "literal_string \"scanAssetTx(): Invalid number of bytes read for contract field\"" + } + ], + "id": 6196, + "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6226, - "src": "14574:9:6", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "12506:7:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, + "id": 6201, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14562:22:6", + "names": [], + "nodeType": "FunctionCall", + "src": "12506:102:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "14530:54:6" + "id": 6202, + "nodeType": "ExpressionStatement", + "src": "12506:102:6" }, { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6266, + "id": 6208, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "id": 6260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { + "id": 6203, + "name": "erc20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6083, + "src": "12618:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 6256, - "name": "parent", + "id": 6205, + "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "14598:6:6", + "referencedDeclaration": 6070, + "src": "12653:7:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "id": 6257, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "14598:13:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { + { "argumentTypes": null, - "id": 6258, - "name": "Status", + "id": 6206, + "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "14615:6:6", + "referencedDeclaration": 6072, + "src": "12662:3:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 6259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "SemiApproved", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14615:19:6", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6204, + "name": "readEthereumAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5553, + "src": "12633:19:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$", + "typeString": "function (bytes memory,uint256) pure returns (address)" } }, - "src": "14598:36:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "id": 6265, + "id": 6207, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftExpression": { + "names": [], + "nodeType": "FunctionCall", + "src": "12633:33:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "12618:48:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6209, + "nodeType": "ExpressionStatement", + "src": "12618:48:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6261, - "name": "parent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "14638:6:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6262, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "14638:13:6", + "id": 6210, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6080, + "src": "12684:9:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { + { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6263, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "14655:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" - } - }, - "id": 6264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Approved", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14655:15:6", + "id": 6211, + "name": "erc20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6083, + "src": "12695:12:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "src": "14638:32:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } - }, - "src": "14598:72:6", + ], + "id": 6212, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12683:25:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$_t_uint32_$_t_address_$", + "typeString": "tuple(uint32,address)" } }, - "falseBody": null, - "id": 6287, - "nodeType": "IfStatement", - "src": "14594:256:6", - "trueBody": { - "id": 6286, - "nodeType": "Block", - "src": "14672:178:6", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6268, - "name": "_parentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6226, - "src": "14707:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6269, - "name": "ERR_SUPERBLOCK_BAD_PARENT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "14718:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "parent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "14751:6:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "14751:13:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - ], - "id": 6270, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14746:4:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint" - }, - "id": 6273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14746:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14718:47:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6267, - "name": "ErrorSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "14691:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 6275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14691:75:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6276, - "nodeType": "EmitStatement", - "src": "14686:80:6" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6277, - "name": "ERR_SUPERBLOCK_BAD_PARENT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "14788:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6279, - "name": "parent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "14821:6:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "14821:13:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - ], - "id": 6278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14816:4:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint" - }, - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14816:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14788:47:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 6283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14837:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 6284, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14787:52:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", - "typeString": "tuple(uint256,int_const 0)" - } - }, - "functionReturnParameters": 6234, - "id": 6285, - "nodeType": "Return", - "src": "14780:59:6" - } - ] - } + "functionReturnParameters": 6078, + "id": 6213, + "nodeType": "Return", + "src": "12676:32:6" + } + ] + }, + "documentation": "Parse txBytes and returns assetguid + contract address\n@param txBytes syscoin raw transaction\n@param pos position at where to start parsing\n@return asset guid (uint32) and erc20 address linked to the asset guid to update registry in erc20manager", + "id": 6215, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "scanAssetTx", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6073, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6070, + "name": "txBytes", + "nodeType": "VariableDeclaration", + "scope": 6215, + "src": "11207:20:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6069, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11207:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" }, { - "condition": { - "argumentTypes": null, - "commonType": { + "constant": false, + "id": 6072, + "name": "pos", + "nodeType": "VariableDeclaration", + "scope": 6215, + "src": "11229:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6071, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11229:4:6", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "id": 6292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6288, - "name": "parent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "14864:6:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6289, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "height", - "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "14864:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6290, - "name": "getChainHeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7464, - "src": "14880:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14880:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14864:32:6", + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11206:32:6" + }, + "returnParameters": { + "id": 6078, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6075, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6215, + "src": "11284:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 6074, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "11284:6:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "falseBody": null, - "id": 6303, - "nodeType": "IfStatement", - "src": "14860:182:6", - "trueBody": { - "id": 6302, - "nodeType": "Block", - "src": "14898:144:6", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6294, - "name": "_parentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6226, - "src": "14933:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6295, - "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4628, - "src": "14944:30:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6293, - "name": "ErrorSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "14917:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14917:58:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6297, - "nodeType": "EmitStatement", - "src": "14912:63:6" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 6298, - "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4628, - "src": "14997:30:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 6299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15029:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 6300, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14996:35:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", - "typeString": "tuple(uint256,int_const 0)" - } - }, - "functionReturnParameters": 6234, - "id": 6301, - "nodeType": "Return", - "src": "14989:42:6" - } - ] - } + "value": null, + "visibility": "internal" }, + { + "constant": false, + "id": 6077, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6215, + "src": "11292:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6076, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11292:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11283:17:6" + }, + "scope": 7851, + "src": "11186:1529:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6230, + "nodeType": "Block", + "src": "13192:134:6", + "statements": [ { "assignments": [ - 6305 + 6225 ], "declarations": [ { "constant": false, - "id": 6305, - "name": "superblockHash", + "id": 6225, + "name": "out", "nodeType": "VariableDeclaration", - "scope": 6395, - "src": "15052:22:6", + "scope": 6230, + "src": "13202:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19231,10 +18496,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6304, + "id": 6224, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "15052:7:6", + "src": "13202:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19244,993 +18509,1121 @@ "visibility": "internal" } ], - "id": 6314, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6307, - "name": "_blocksMerkleRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6216, - "src": "15096:17:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6308, - "name": "_timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "15115:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6309, - "name": "_mtpTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6220, - "src": "15127:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6310, - "name": "_lastHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6222, - "src": "15142:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6311, - "name": "_lastBits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6224, - "src": "15153:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 6312, - "name": "_parentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6226, - "src": "15164:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "id": 6226, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "13202:11:6" + }, + { + "externalReferences": [ + { + "out": { + "declaration": 6225, + "isOffset": false, + "isSlot": false, + "src": "13246:3:6", + "valueSize": 1 } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 6306, - "name": "calcSuperblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7314, - "src": "15077:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32,uint256,uint256,bytes32,uint32,bytes32) pure returns (bytes32)" + }, + { + "_rawBytes": { + "declaration": 6217, + "isOffset": false, + "isSlot": false, + "src": "13267:9:6", + "valueSize": 1 } }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15077:97:6", + { + "pos": { + "declaration": 6219, + "isOffset": false, + "isSlot": false, + "src": "13285:3:6", + "valueSize": 1 + } + } + ], + "id": 6227, + "nodeType": "InlineAssembly", + "operations": "{\n out := mload(add(add(_rawBytes, 0x20), pos))\n}", + "src": "13223:77:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6228, + "name": "out", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6225, + "src": "13316:3:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "nodeType": "VariableDeclarationStatement", - "src": "15052:122:6" + "functionReturnParameters": 6223, + "id": 6229, + "nodeType": "Return", + "src": "13309:10:6" + } + ] + }, + "documentation": null, + "id": 6231, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bytesToBytes32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6217, + "name": "_rawBytes", + "nodeType": "VariableDeclaration", + "scope": 6231, + "src": "13128:22:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6216, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13128:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" }, + { + "constant": false, + "id": 6219, + "name": "pos", + "nodeType": "VariableDeclaration", + "scope": 6231, + "src": "13152:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6218, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13152:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13127:34:6" + }, + "returnParameters": { + "id": 6223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6222, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6231, + "src": "13183:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6221, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13183:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13182:9:6" + }, + "scope": 7851, + "src": "13104:222:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6316, + "nodeType": "Block", + "src": "13632:620:6", + "statements": [ { "assignments": [ - 6316 + 6244 ], "declarations": [ { "constant": false, - "id": 6316, - "name": "superblock", + "id": 6244, + "name": "ethTxReceiptList", "nodeType": "VariableDeclaration", - "scope": 6395, - "src": "15184:33:6", + "scope": 6316, + "src": "13642:43:6", "stateVariable": false, - "storageLocation": "storage", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem[]" }, "typeName": { - "contractScope": null, - "id": 6315, - "name": "SuperblockInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "15184:14:6", + "baseType": { + "contractScope": null, + "id": 6242, + "name": "RLPReader.RLPItem", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 10404, + "src": "13642:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RLPItem_$10404_storage_ptr", + "typeString": "struct RLPReader.RLPItem" + } + }, + "id": 6243, + "length": null, + "nodeType": "ArrayTypeName", + "src": "13642:19:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_storage_$dyn_storage_ptr", + "typeString": "struct RLPReader.RLPItem[]" } }, "value": null, "visibility": "internal" } ], - "id": 6320, + "id": 6250, "initialValue": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6317, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "15220:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" - } - }, - "id": 6319, - "indexExpression": { - "argumentTypes": null, - "id": 6318, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6305, - "src": "15232:14:6", + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 6245, + "name": "ethTxReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6233, + "src": "13688:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toRlpItem", + "nodeType": "MemberAccess", + "referencedDeclaration": 10487, + "src": "13688:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_RLPItem_$10404_memory_ptr_$bound_to$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (struct RLPReader.RLPItem memory)" + } + }, + "id": 6247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13688:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RLPItem_$10404_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory" + } + }, + "id": 6248, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "toList", + "nodeType": "MemberAccess", + "referencedDeclaration": 10622, + "src": "13688:31:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$10404_memory_ptr_$returns$_t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr_$bound_to$_t_struct$_RLPItem_$10404_memory_ptr_$", + "typeString": "function (struct RLPReader.RLPItem memory) pure returns (struct RLPReader.RLPItem memory[] memory)" } }, + "id": 6249, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15220:27:6", + "names": [], + "nodeType": "FunctionCall", + "src": "13688:33:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "15184:63:6" + "src": "13642:79:6" }, { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6321, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15261:10:6", + "assignments": [ + 6255 + ], + "declarations": [ + { + "constant": false, + "id": 6255, + "name": "logsList", + "nodeType": "VariableDeclaration", + "scope": 6316, + "src": "13731:35:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 6253, + "name": "RLPReader.RLPItem", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 10404, + "src": "13731:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RLPItem_$10404_storage_ptr", + "typeString": "struct RLPReader.RLPItem" + } + }, + "id": 6254, + "length": null, + "nodeType": "ArrayTypeName", + "src": "13731:19:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_storage_$dyn_storage_ptr", + "typeString": "struct RLPReader.RLPItem[]" } }, - "id": 6322, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "15261:17:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, + "value": null, + "visibility": "internal" + } + ], + "id": 6261, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 6323, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "15282:6:6", + "baseExpression": { + "argumentTypes": null, + "id": 6256, + "name": "ethTxReceiptList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6244, + "src": "13769:16:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" + } + }, + "id": 6258, + "indexExpression": { + "argumentTypes": null, + "hexValue": "33", + "id": 6257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13786:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13769:19:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" + "typeIdentifier": "t_struct$_RLPItem_$10404_memory", + "typeString": "struct RLPReader.RLPItem memory" } }, - "id": 6324, + "id": 6259, "isConstant": false, - "isLValue": false, - "isPure": true, + "isLValue": true, + "isPure": false, "lValueRequested": false, - "memberName": "Uninitialized", + "memberName": "toList", "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15282:20:6", + "referencedDeclaration": 10622, + "src": "13769:26:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$10404_memory_ptr_$returns$_t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr_$bound_to$_t_struct$_RLPItem_$10404_memory_ptr_$", + "typeString": "function (struct RLPReader.RLPItem memory) pure returns (struct RLPReader.RLPItem memory[] memory)" } }, - "src": "15261:41:6", + "id": 6260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13769:28:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" } }, - "falseBody": null, - "id": 6372, - "nodeType": "IfStatement", - "src": "15257:405:6", - "trueBody": { - "id": 6371, + "nodeType": "VariableDeclarationStatement", + "src": "13731:66:6" + }, + { + "body": { + "id": 6310, "nodeType": "Block", - "src": "15304:358:6", + "src": "13853:358:6", "statements": [ { - "expression": { - "argumentTypes": null, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6326, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15318:10:6", + "assignments": [ + 6277 + ], + "declarations": [ + { + "constant": false, + "id": 6277, + "name": "log", + "nodeType": "VariableDeclaration", + "scope": 6310, + "src": "13867:30:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 6275, + "name": "RLPReader.RLPItem", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 10404, + "src": "13867:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RLPItem_$10404_storage_ptr", + "typeString": "struct RLPReader.RLPItem" + } + }, + "id": 6276, + "length": null, + "nodeType": "ArrayTypeName", + "src": "13867:19:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_storage_$dyn_storage_ptr", + "typeString": "struct RLPReader.RLPItem[]" } }, - "id": 6328, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "blocksMerkleRoot", - "nodeType": "MemberAccess", - "referencedDeclaration": 7619, - "src": "15318:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6329, - "name": "_blocksMerkleRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6216, - "src": "15348:17:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "15318:47:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "value": null, + "visibility": "internal" } - }, - "id": 6331, - "nodeType": "ExpressionStatement", - "src": "15318:47:6" - }, - { - "expression": { + ], + "id": 6283, + "initialValue": { "argumentTypes": null, - "id": 6336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 6332, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15379:10:6", + "baseExpression": { + "argumentTypes": null, + "id": 6278, + "name": "logsList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6255, + "src": "13900:8:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" + } + }, + "id": 6280, + "indexExpression": { + "argumentTypes": null, + "id": 6279, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6263, + "src": "13909:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13900:11:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_struct$_RLPItem_$10404_memory", + "typeString": "struct RLPReader.RLPItem memory" } }, - "id": 6334, + "id": 6281, "isConstant": false, "isLValue": true, "isPure": false, - "lValueRequested": true, - "memberName": "timestamp", + "lValueRequested": false, + "memberName": "toList", "nodeType": "MemberAccess", - "referencedDeclaration": 7621, - "src": "15379:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6335, - "name": "_timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "15402:10:6", + "referencedDeclaration": 10622, + "src": "13900:18:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$10404_memory_ptr_$returns$_t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr_$bound_to$_t_struct$_RLPItem_$10404_memory_ptr_$", + "typeString": "function (struct RLPReader.RLPItem memory) pure returns (struct RLPReader.RLPItem memory[] memory)" } }, - "src": "15379:33:6", + "id": 6282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13900:20:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" } }, - "id": 6337, - "nodeType": "ExpressionStatement", - "src": "15379:33:6" + "nodeType": "VariableDeclarationStatement", + "src": "13867:53:6" }, { - "expression": { - "argumentTypes": null, - "id": 6342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6338, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15426:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "assignments": [ + 6285 + ], + "declarations": [ + { + "constant": false, + "id": 6285, + "name": "rawTopic", + "nodeType": "VariableDeclaration", + "scope": 6310, + "src": "13934:21:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6284, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13934:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, - "id": 6340, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "mtpTimestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7623, - "src": "15426:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6341, - "name": "_mtpTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6220, - "src": "15452:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15426:39:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "value": null, + "visibility": "internal" } - }, - "id": 6343, - "nodeType": "ExpressionStatement", - "src": "15426:39:6" - }, - { - "expression": { + ], + "id": 6291, + "initialValue": { "argumentTypes": null, - "id": 6348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 6344, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15479:10:6", + "baseExpression": { + "argumentTypes": null, + "id": 6286, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6277, + "src": "13958:3:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" + } + }, + "id": 6288, + "indexExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 6287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13962:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13958:6:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_struct$_RLPItem_$10404_memory", + "typeString": "struct RLPReader.RLPItem memory" } }, - "id": 6346, + "id": 6289, "isConstant": false, "isLValue": true, "isPure": false, - "lValueRequested": true, - "memberName": "lastHash", + "lValueRequested": false, + "memberName": "toBytes", "nodeType": "MemberAccess", - "referencedDeclaration": 7625, - "src": "15479:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6347, - "name": "_lastHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6222, - "src": "15501:9:6", + "referencedDeclaration": 10869, + "src": "13958:14:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$10404_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_struct$_RLPItem_$10404_memory_ptr_$", + "typeString": "function (struct RLPReader.RLPItem memory) pure returns (bytes memory)" } }, - "src": "15479:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 6349, - "nodeType": "ExpressionStatement", - "src": "15479:31:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6354, + "id": 6290, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6350, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15524:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6352, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "parentId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7627, - "src": "15524:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6353, - "name": "_parentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6226, - "src": "15546:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "15524:31:6", + "names": [], + "nodeType": "FunctionCall", + "src": "13958:16:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "id": 6355, - "nodeType": "ExpressionStatement", - "src": "15524:31:6" + "nodeType": "VariableDeclarationStatement", + "src": "13934:40:6" }, { - "expression": { - "argumentTypes": null, - "id": 6363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6356, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15569:10:6", + "assignments": [ + 6293 + ], + "declarations": [ + { + "constant": false, + "id": 6293, + "name": "topic", + "nodeType": "VariableDeclaration", + "scope": 6310, + "src": "13988:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6292, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13988:7:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 6358, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "height", - "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "15569:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 6362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "value": null, + "visibility": "internal" + } + ], + "id": 6298, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6359, - "name": "parent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "15589:6:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6360, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "height", - "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "15589:13:6", + "id": 6295, + "name": "rawTopic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6285, + "src": "14019:8:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { + { "argumentTypes": null, "hexValue": "31", - "id": 6361, + "id": 6296, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15605:1:6", + "src": "14029:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" - }, - "src": "15589:17:6", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 6294, + "name": "bytesToBytes32", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6231, + "src": "14004:14:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256) pure returns (bytes32)" } }, - "src": "15569:37:6", + "id": 6297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14004:27:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 6364, - "nodeType": "ExpressionStatement", - "src": "15569:37:6" + "nodeType": "VariableDeclarationStatement", + "src": "13988:43:6" }, { - "expression": { + "condition": { "argumentTypes": null, - "id": 6369, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 6301, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6365, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15620:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6367, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastBits", - "nodeType": "MemberAccess", - "referencedDeclaration": 7631, - "src": "15620:19:6", + "id": 6299, + "name": "topic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6293, + "src": "14083:5:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { "argumentTypes": null, - "id": 6368, - "name": "_lastBits", + "id": 6300, + "name": "expectedTopic", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6224, - "src": "15642:9:6", + "referencedDeclaration": 6235, + "src": "14092:13:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "src": "15620:31:6", + "src": "14083:22:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 6370, - "nodeType": "ExpressionStatement", - "src": "15620:31:6" + "falseBody": null, + "id": 6309, + "nodeType": "IfStatement", + "src": "14079:122:6", + "trueBody": { + "id": 6308, + "nodeType": "Block", + "src": "14107:94:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6302, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6277, + "src": "14170:3:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" + } + }, + "id": 6304, + "indexExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 6303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14174:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14170:6:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RLPItem_$10404_memory", + "typeString": "struct RLPReader.RLPItem memory" + } + }, + "id": 6305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "toBytes", + "nodeType": "MemberAccess", + "referencedDeclaration": 10869, + "src": "14170:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$10404_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_struct$_RLPItem_$10404_memory_ptr_$", + "typeString": "function (struct RLPReader.RLPItem memory) pure returns (bytes memory)" + } + }, + "id": 6306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14170:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 6239, + "id": 6307, + "nodeType": "Return", + "src": "14163:23:6" + } + ] + } } ] - } - }, - { - "expression": { + }, + "condition": { "argumentTypes": null, - "id": 6378, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6373, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15671:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "15671:17:6", + "id": 6266, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6263, + "src": "13827:1:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6376, - "name": "Status", + "id": 6267, + "name": "logsList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "15691:6:6", + "referencedDeclaration": 6255, + "src": "13831:8:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" } }, - "id": 6377, + "id": 6268, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "memberName": "New", + "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15691:10:6", + "src": "13831:15:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "15671:30:6", + "src": "13827:19:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 6379, - "nodeType": "ExpressionStatement", - "src": "15671:30:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6380, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15711:10:6", + "id": 6311, + "initializationExpression": { + "assignments": [ + 6263 + ], + "declarations": [ + { + "constant": false, + "id": 6263, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 6311, + "src": "13812:9:6", + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6382, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 7629, - "src": "15711:20:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13812:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + ], + "id": 6265, + "initialValue": { "argumentTypes": null, - "id": 6383, - "name": "submitter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6228, - "src": "15734:9:6", + "hexValue": "30", + "id": 6264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13824:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - "src": "15711:32:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "nodeType": "VariableDeclarationStatement", + "src": "13812:13:6" }, - "id": 6385, - "nodeType": "ExpressionStatement", - "src": "15711:32:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 6271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "13848:3:6", + "subExpression": { "argumentTypes": null, - "id": 6387, - "name": "superblockHash", + "id": 6270, + "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6305, - "src": "15772:14:6", + "referencedDeclaration": 6263, + "src": "13848:1:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6272, + "nodeType": "ExpressionStatement", + "src": "13848:3:6" + }, + "nodeType": "ForStatement", + "src": "13807:404:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ { "argumentTypes": null, - "id": 6388, - "name": "submitter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6228, - "src": "15788:9:6", + "hexValue": "546f706963206e6f7420666f756e64", + "id": 6313, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14227:17:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_stringliteral_cfc512e84ffdf7388e5788298a153cceb897abb7bc369ed2894442c817eecf31", + "typeString": "literal_string \"Topic not found\"" + }, + "value": "Topic not found" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_stringliteral_cfc512e84ffdf7388e5788298a153cceb897abb7bc369ed2894442c817eecf31", + "typeString": "literal_string \"Topic not found\"" } ], - "id": 6386, - "name": "NewSuperblock", + "id": 6312, + "name": "revert", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5029, - "src": "15758:13:6", + "overloadedDeclarations": [ + 11103, + 11104 + ], + "referencedDeclaration": 11104, + "src": "14220:6:6", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" } }, - "id": 6389, + "id": 6314, "isConstant": false, "isLValue": false, "isPure": false, @@ -20238,151 +19631,50 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15758:40:6", + "src": "14220:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6390, - "nodeType": "EmitStatement", - "src": "15753:45:6" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 6391, - "name": "ERR_SUPERBLOCK_OK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "15816:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6392, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6305, - "src": "15835:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6393, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15815:35:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", - "typeString": "tuple(uint256,bytes32)" - } - }, - "functionReturnParameters": 6234, - "id": 6394, - "nodeType": "Return", - "src": "15808:42:6" + "id": 6315, + "nodeType": "ExpressionStatement", + "src": "14220:25:6" } ] }, - "documentation": null, - "id": 6396, + "documentation": "Return logs for given ethereum transaction receipt\n@param ethTxReceipt ethereum transaction receipt\n@return logs bloom", + "id": 6317, "implemented": true, "kind": "function", "modifiers": [], - "name": "propose", + "name": "getLogValuesForTopic", "nodeType": "FunctionDefinition", "parameters": { - "id": 6229, + "id": 6236, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6216, - "name": "_blocksMerkleRoot", - "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14108:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6215, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14108:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6218, - "name": "_timestamp", - "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14143:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14143:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6220, - "name": "_mtpTimestamp", + "id": 6233, + "name": "ethTxReceipt", "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14168:18:6", + "scope": 6317, + "src": "13519:25:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 6219, - "name": "uint", + "id": 6232, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14168:4:6", + "src": "13519:5:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "value": null, @@ -20390,11 +19682,11 @@ }, { "constant": false, - "id": 6222, - "name": "_lastHash", + "id": 6235, + "name": "expectedTopic", "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14196:17:6", + "scope": 6317, + "src": "13546:21:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20402,10 +19694,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6221, + "id": 6234, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14196:7:6", + "src": "13546:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20413,100 +19705,197 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "13518:50:6" + }, + "returnParameters": { + "id": 6239, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 6224, - "name": "_lastBits", + "id": 6238, + "name": "", "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14223:16:6", + "scope": 6317, + "src": "13614:12:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 6223, - "name": "uint32", + "id": 6237, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14223:6:6", + "src": "13614:5:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "value": null, "visibility": "internal" - }, + } + ], + "src": "13613:14:6" + }, + "scope": 7851, + "src": "13489:763:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6329, + "nodeType": "Block", + "src": "14483:141:6", + "statements": [ { - "constant": false, - "id": 6226, - "name": "_parentId", - "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14249:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6225, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14249:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "assignments": [ + 6325 + ], + "declarations": [ + { + "constant": false, + "id": 6325, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 6329, + "src": "14493:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 6324, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "14493:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" } + ], + "id": 6327, + "initialValue": { + "argumentTypes": null, + "hexValue": "33", + "id": 6326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14507:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" }, - "value": null, - "visibility": "internal" + "nodeType": "VariableDeclarationStatement", + "src": "14493:15:6" }, + { + "externalReferences": [ + { + "value": { + "declaration": 6322, + "isOffset": false, + "isSlot": false, + "src": "14562:5:6", + "valueSize": 1 + } + }, + { + "index": { + "declaration": 6325, + "isOffset": false, + "isSlot": false, + "src": "14600:5:6", + "valueSize": 1 + } + }, + { + "logValues": { + "declaration": 6319, + "isOffset": false, + "isSlot": false, + "src": "14581:9:6", + "valueSize": 1 + } + } + ], + "id": 6328, + "nodeType": "InlineAssembly", + "operations": "{\n value := mload(add(logValues, mul(32, index)))\n}", + "src": "14539:79:6" + } + ] + }, + "documentation": "Get bridgeTransactionId from logs bloom\n@param logValues log values\n@return bridgeTransactionId", + "id": 6330, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBridgeTransactionId", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6320, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 6228, - "name": "submitter", + "id": 6319, + "name": "logValues", "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14276:17:6", + "scope": 6330, + "src": "14423:22:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 6227, - "name": "address", + "id": 6318, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14276:7:6", - "stateMutability": "nonpayable", + "src": "14423:5:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], - "src": "14098:201:6" + "src": "14422:24:6" }, "returnParameters": { - "id": 6234, + "id": 6323, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6231, - "name": "", + "id": 6322, + "name": "value", "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14318:4:6", + "scope": 6330, + "src": "14468:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20514,10 +19903,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6230, - "name": "uint", + "id": 6321, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14318:4:6", + "src": "14468:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20525,239 +19914,407 @@ }, "value": null, "visibility": "internal" - }, - { - "constant": false, - "id": 6233, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14324:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6232, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14324:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" } ], - "src": "14317:15:6" + "src": "14467:15:6" }, - "scope": 7493, - "src": "14082:1775:6", - "stateMutability": "nonpayable", - "superFunction": 7657, - "visibility": "external" + "scope": 7851, + "src": "14391:233:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" }, { "body": { - "id": 6497, + "id": 6462, "nodeType": "Block", - "src": "16349:1141:6", + "src": "15545:950:6", "statements": [ { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { + "arguments": [ + { "argumentTypes": null, - "id": 6405, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "16363:3:6", + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 6352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6350, + "name": "bestSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5030, + "src": "15563:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15581:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15563:19:6", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_bool", + "typeString": "bool" } - }, - "id": 6406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16363:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6407, - "name": "trustedClaimManager", + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6349, + "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "16377:19:6", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "15555:7:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" } }, - "src": "16363:33:6", + "id": 6353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15555:28:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "falseBody": null, - "id": 6417, - "nodeType": "IfStatement", - "src": "16359:186:6", - "trueBody": { - "id": 6416, - "nodeType": "Block", - "src": "16398:147:6", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6410, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "16433:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6411, - "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "16450:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6409, - "name": "ErrorSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "16417:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 6412, + "id": 6354, + "nodeType": "ExpressionStatement", + "src": "15555:28:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 6358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6356, + "name": "_parentId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6342, + "src": "15601:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6357, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "number", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16417:65:6", + "nodeType": "Literal", + "src": "15614:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - "id": 6413, - "nodeType": "EmitStatement", - "src": "16412:70:6" + "src": "15601:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6355, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "15593:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15593:23:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6360, + "nodeType": "ExpressionStatement", + "src": "15593:23:6" + }, + { + "assignments": [ + 6362 + ], + "declarations": [ + { + "constant": false, + "id": 6362, + "name": "superblockHash", + "nodeType": "VariableDeclaration", + "scope": 6462, + "src": "15627:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6361, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15627:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, + "value": null, + "visibility": "internal" + } + ], + "id": 6371, + "initialValue": { + "argumentTypes": null, + "arguments": [ { - "expression": { - "argumentTypes": null, - "id": 6414, - "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "16503:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "argumentTypes": null, + "id": 6364, + "name": "_blocksMerkleRoot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6332, + "src": "15671:17:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6365, + "name": "_timestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6334, + "src": "15690:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6366, + "name": "_mtpTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6336, + "src": "15702:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6367, + "name": "_lastHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6338, + "src": "15717:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6368, + "name": "_lastBits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6340, + "src": "15728:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 6369, + "name": "_parentId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6342, + "src": "15739:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, - "functionReturnParameters": 6404, - "id": 6415, - "nodeType": "Return", - "src": "16496:38:6" + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6363, + "name": "calcSuperblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7672, + "src": "15652:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,uint256,uint256,bytes32,uint32,bytes32) pure returns (bytes32)" } - ] - } + }, + "id": 6370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15652:97:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15627:122:6" }, { "assignments": [ - 6419 + 6373 ], "declarations": [ { "constant": false, - "id": 6419, + "id": 6373, "name": "superblock", "nodeType": "VariableDeclaration", - "scope": 6497, - "src": "16554:33:6", + "scope": 6462, + "src": "15759:33:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { "contractScope": null, - "id": 6418, + "id": 6372, "name": "SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "16554:14:6", + "referencedDeclaration": 8137, + "src": "15759:14:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -20765,31 +20322,31 @@ "visibility": "internal" } ], - "id": 6423, + "id": 6377, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6420, + "id": 6374, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "16590:11:6", + "referencedDeclaration": 5028, + "src": "15795:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 6422, + "id": 6376, "indexExpression": { "argumentTypes": null, - "id": 6421, - "name": "_superblockHash", + "id": 6375, + "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "16602:15:6", + "referencedDeclaration": 6362, + "src": "15807:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20800,750 +20357,450 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16590:28:6", + "src": "15795:27:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "16554:64:6" + "src": "15759:63:6" }, { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "id": 6428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "arguments": [ + { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6424, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "16632:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6425, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "16632:17:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "commonType": { + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6426, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "16653:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" - } }, - "id": 6427, + "id": 6383, "isConstant": false, "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "New", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16653:10:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "src": "16632:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "id": 6433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6429, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "16667:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6430, - "isConstant": false, - "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "16667:17:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6431, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "16688:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" - } - }, - "id": 6432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "SemiApproved", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16688:19:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "src": "16667:40:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16632:75:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6443, - "nodeType": "IfStatement", - "src": "16628:216:6", - "trueBody": { - "id": 6442, - "nodeType": "Block", - "src": "16709:135:6", - "statements": [ - { - "eventCall": { + "leftExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6436, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "16744:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6437, - "name": "ERR_SUPERBLOCK_BAD_STATUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "16761:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6435, - "name": "ErrorSuperblock", + "argumentTypes": null, + "id": 6379, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "16728:15:6", + "referencedDeclaration": 6373, + "src": "15841:10:6", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6438, + "id": 6380, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16728:59:6", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "15841:17:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, - "id": 6439, - "nodeType": "EmitStatement", - "src": "16723:64:6" - }, - { - "expression": { + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { "argumentTypes": null, - "id": 6440, - "name": "ERR_SUPERBLOCK_BAD_STATUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "16808:25:6", + "expression": { + "argumentTypes": null, + "id": 6381, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "15862:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Uninitialized", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15862:20:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, - "functionReturnParameters": 6404, - "id": 6441, - "nodeType": "Return", - "src": "16801:32:6" + "src": "15841:41:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6378, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "15833:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15833:50:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6385, + "nodeType": "ExpressionStatement", + "src": "15833:50:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 6444, + "id": 6386, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "16858:10:6", + "referencedDeclaration": 6373, + "src": "15894:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6445, + "id": 6388, "isConstant": false, "isLValue": true, "isPure": false, - "lValueRequested": false, - "memberName": "height", + "lValueRequested": true, + "memberName": "blocksMerkleRoot", "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "16858:17:6", + "referencedDeclaration": 8120, + "src": "15894:27:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6389, + "name": "_blocksMerkleRoot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6332, + "src": "15924:17:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "15894:47:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6391, + "nodeType": "ExpressionStatement", + "src": "15894:47:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { "argumentTypes": null, - "arguments": [], "expression": { - "argumentTypes": [], - "id": 6446, - "name": "getChainHeight", + "argumentTypes": null, + "id": 6392, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7464, - "src": "16879:14:6", + "referencedDeclaration": 6373, + "src": "15951:10:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6447, + "id": 6394, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16879:16:6", + "lValueRequested": true, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8122, + "src": "15951:20:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6395, + "name": "_timestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6334, + "src": "15974:10:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16858:37:6", + "src": "15951:33:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "falseBody": null, - "id": 6457, - "nodeType": "IfStatement", - "src": "16854:188:6", - "trueBody": { - "id": 6456, - "nodeType": "Block", - "src": "16897:145:6", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6450, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "16932:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6451, - "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4628, - "src": "16949:30:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6449, - "name": "ErrorSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "16916:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 6452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16916:64:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6453, - "nodeType": "EmitStatement", - "src": "16911:69:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6454, - "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4628, - "src": "17001:30:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6404, - "id": 6455, - "nodeType": "Return", - "src": "16994:37:6" - } - ] - } + "id": 6397, + "nodeType": "ExpressionStatement", + "src": "15951:33:6" }, { - "assignments": [ - 6459 - ], - "declarations": [ - { - "constant": false, - "id": 6459, - "name": "parent", - "nodeType": "VariableDeclaration", - "scope": 6497, - "src": "17052:29:6", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" - }, - "typeName": { - "contractScope": null, - "id": 6458, - "name": "SuperblockInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "17052:14:6", + "expression": { + "argumentTypes": null, + "id": 6402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6398, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6373, + "src": "15994:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "value": null, - "visibility": "internal" - } - ], - "id": 6464, - "initialValue": { - "argumentTypes": null, - "baseExpression": { + "id": 6400, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "mtpTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8124, + "src": "15994:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "id": 6460, - "name": "superblocks", + "id": 6401, + "name": "_mtpTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "17084:11:6", + "referencedDeclaration": 6336, + "src": "16020:13:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6463, - "indexExpression": { + "src": "15994:39:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6403, + "nodeType": "ExpressionStatement", + "src": "15994:39:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6461, + "id": 6404, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "17096:10:6", + "referencedDeclaration": 6373, + "src": "16043:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6462, + "id": 6406, "isConstant": false, "isLValue": true, "isPure": false, - "lValueRequested": false, - "memberName": "parentId", + "lValueRequested": true, + "memberName": "lastHash", "nodeType": "MemberAccess", - "referencedDeclaration": 7627, - "src": "17096:19:6", + "referencedDeclaration": 8126, + "src": "16043:19:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17084:32:6", + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6407, + "name": "_lastHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6338, + "src": "16065:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16043:31:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "nodeType": "VariableDeclarationStatement", - "src": "17052:64:6" + "id": 6409, + "nodeType": "ExpressionStatement", + "src": "16043:31:6" }, { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "id": 6469, + "id": 6414, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6465, - "name": "parent", + "id": 6410, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6459, - "src": "17130:6:6", + "referencedDeclaration": 6373, + "src": "16084:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6466, + "id": 6412, "isConstant": false, "isLValue": true, "isPure": false, - "lValueRequested": false, - "memberName": "status", + "lValueRequested": true, + "memberName": "parentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "17130:13:6", + "referencedDeclaration": 8128, + "src": "16084:19:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6467, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "17147:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Approved", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17147:15:6", + "id": 6413, + "name": "_parentId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6342, + "src": "16106:9:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "src": "17130:32:6", + "src": "16084:31:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "falseBody": null, - "id": 6478, - "nodeType": "IfStatement", - "src": "17126:173:6", - "trueBody": { - "id": 6477, - "nodeType": "Block", - "src": "17164:135:6", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6471, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "17199:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6472, - "name": "ERR_SUPERBLOCK_BAD_PARENT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "17216:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6470, - "name": "ErrorSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "17183:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17183:59:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6474, - "nodeType": "EmitStatement", - "src": "17178:64:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6475, - "name": "ERR_SUPERBLOCK_BAD_PARENT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "17263:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6404, - "id": 6476, - "nodeType": "Return", - "src": "17256:32:6" - } - ] - } + "id": 6415, + "nodeType": "ExpressionStatement", + "src": "16084:31:6" }, { "expression": { "argumentTypes": null, - "id": 6484, + "id": 6421, "isConstant": false, "isLValue": false, "isPure": false, @@ -21552,29 +20809,29 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6479, + "id": 6416, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "17309:10:6", + "referencedDeclaration": 6373, + "src": "16125:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6481, + "id": 6418, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberName": "status", + "memberName": "submitter", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "17309:17:6", + "referencedDeclaration": 8130, + "src": "16125:20:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "Assignment", @@ -21583,115 +20840,425 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6482, - "name": "Status", + "id": 6419, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "17329:6:6", + "referencedDeclaration": 11098, + "src": "16148:3:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - "id": 6483, + "id": 6420, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "memberName": "Approved", + "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17329:15:6", + "src": "16148:10:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "17309:35:6", + "src": "16125:33:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 6485, + "id": 6422, "nodeType": "ExpressionStatement", - "src": "17309:35:6" + "src": "16125:33:6" }, { "expression": { "argumentTypes": null, - "id": 6488, + "id": 6427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 6486, - "name": "bestSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "17354:14:6", + "expression": { + "argumentTypes": null, + "id": 6423, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6373, + "src": "16168:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6425, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "height", + "nodeType": "MemberAccess", + "referencedDeclaration": 8134, + "src": "16168:17:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6487, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "17371:15:6", + "hexValue": "31", + "id": 6426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16188:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" }, - "src": "17354:32:6", + "src": "16168:21:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 6489, + "id": 6428, "nodeType": "ExpressionStatement", - "src": "17354:32:6" + "src": "16168:21:6" }, { - "eventCall": { + "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 6433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 6491, - "name": "_superblockHash", + "id": 6429, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "17421:15:6", + "referencedDeclaration": 6373, + "src": "16199:10:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6431, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "lastBits", + "nodeType": "MemberAccess", + "referencedDeclaration": 8132, + "src": "16199:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6432, + "name": "_lastBits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6340, + "src": "16221:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "16199:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 6434, + "nodeType": "ExpressionStatement", + "src": "16199:31:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6435, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6373, + "src": "16240:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6437, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "16240:17:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6438, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "16260:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Approved", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16260:15:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "src": "16240:35:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "id": 6441, + "nodeType": "ExpressionStatement", + "src": "16240:35:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6443, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6362, + "src": "16305:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "argumentTypes": null, - "id": 6492, - "name": "_validator", + "expression": { + "argumentTypes": null, + "id": 6444, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "16321:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16321:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 6442, + "name": "NewSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5038, + "src": "16291:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 6446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16291:41:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6447, + "nodeType": "EmitStatement", + "src": "16286:46:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6448, + "name": "bestSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5030, + "src": "16343:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6449, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6362, + "src": "16360:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16343:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6451, + "nodeType": "ExpressionStatement", + "src": "16343:31:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6453, + "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6400, - "src": "17438:10:6", + "referencedDeclaration": 6362, + "src": "16408:14:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6454, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "16424:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16424:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], @@ -21702,22 +21269,22 @@ "typeString": "bytes32" }, { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "id": 6490, + "id": 6452, "name": "ApprovedSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "17402:18:6", + "referencedDeclaration": 5044, + "src": "16389:18:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 6493, + "id": 6456, "isConstant": false, "isLValue": false, "isPure": false, @@ -21725,55 +21292,85 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17402:47:6", + "src": "16389:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6494, + "id": 6457, "nodeType": "EmitStatement", - "src": "17397:52:6" + "src": "16384:51:6" }, { "expression": { "argumentTypes": null, - "id": 6495, - "name": "ERR_SUPERBLOCK_OK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "17466:17:6", + "components": [ + { + "argumentTypes": null, + "id": 6458, + "name": "ERR_SUPERBLOCK_OK", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4517, + "src": "16454:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6459, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6362, + "src": "16473:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6460, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16453:35:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", + "typeString": "tuple(uint256,bytes32)" } }, - "functionReturnParameters": 6404, - "id": 6496, + "functionReturnParameters": 6348, + "id": 6461, "nodeType": "Return", - "src": "17459:24:6" + "src": "16446:42:6" } ] }, "documentation": null, - "id": 6498, + "id": 6463, "implemented": true, "kind": "function", "modifiers": [], - "name": "confirm", + "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 6401, + "id": 6343, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6398, - "name": "_superblockHash", + "id": 6332, + "name": "_blocksMerkleRoot", "nodeType": "VariableDeclaration", - "scope": 6498, - "src": "16280:23:6", + "scope": 6463, + "src": "15347:25:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21781,10 +21378,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6397, + "id": 6331, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16280:7:6", + "src": "15347:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21795,45 +21392,148 @@ }, { "constant": false, - "id": 6400, - "name": "_validator", + "id": 6334, + "name": "_timestamp", "nodeType": "VariableDeclaration", - "scope": 6498, - "src": "16305:18:6", + "scope": 6463, + "src": "15382:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 6399, - "name": "address", + "id": 6333, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16305:7:6", - "stateMutability": "nonpayable", + "src": "15382:4:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6336, + "name": "_mtpTimestamp", + "nodeType": "VariableDeclaration", + "scope": 6463, + "src": "15407:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6335, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15407:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6338, + "name": "_lastHash", + "nodeType": "VariableDeclaration", + "scope": 6463, + "src": "15435:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6337, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15435:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6340, + "name": "_lastBits", + "nodeType": "VariableDeclaration", + "scope": 6463, + "src": "15462:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 6339, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "15462:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6342, + "name": "_parentId", + "nodeType": "VariableDeclaration", + "scope": 6463, + "src": "15488:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6341, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15488:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], - "src": "16279:45:6" + "src": "15337:174:6" }, "returnParameters": { - "id": 6404, + "id": 6348, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6403, + "id": 6345, "name": "", "nodeType": "VariableDeclaration", - "scope": 6498, - "src": "16343:4:6", + "scope": 6463, + "src": "15530:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21841,10 +21541,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6402, + "id": 6344, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16343:4:6", + "src": "15530:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21852,21 +21552,47 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 6347, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6463, + "src": "15536:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6346, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15536:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "16342:6:6" + "src": "15529:15:6" }, - "scope": 7493, - "src": "16263:1227:6", + "scope": 7851, + "src": "15318:1177:6", "stateMutability": "nonpayable", - "superFunction": 7710, + "superFunction": null, "visibility": "external" }, { "body": { - "id": 6573, + "id": 6644, "nodeType": "Block", - "src": "17927:829:6", + "src": "17399:1524:6", "statements": [ { "condition": { @@ -21875,7 +21601,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6510, + "id": 6487, "isConstant": false, "isLValue": false, "isPure": false, @@ -21884,18 +21610,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6507, + "id": 6484, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "17941:3:6", + "referencedDeclaration": 11098, + "src": "17413:3:6", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 6508, + "id": 6485, "isConstant": false, "isLValue": false, "isPure": false, @@ -21903,7 +21629,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17941:10:6", + "src": "17413:10:6", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -21913,31 +21639,31 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 6509, + "id": 6486, "name": "trustedClaimManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "17955:19:6", + "referencedDeclaration": 5086, + "src": "17427:19:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17941:33:6", + "src": "17413:33:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6519, + "id": 6498, "nodeType": "IfStatement", - "src": "17937:186:6", + "src": "17409:177:6", "trueBody": { - "id": 6518, + "id": 6497, "nodeType": "Block", - "src": "17976:147:6", + "src": "17448:138:6", "statements": [ { "eventCall": { @@ -21945,25 +21671,30 @@ "arguments": [ { "argumentTypes": null, - "id": 6512, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6500, - "src": "18011:15:6", + "hexValue": "30", + "id": 6489, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17483:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, { "argumentTypes": null, - "id": 6513, + "id": 6490, "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "18028:31:6", + "referencedDeclaration": 4601, + "src": "17486:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21973,26 +21704,26 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], - "id": 6511, + "id": 6488, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "17995:15:6", + "referencedDeclaration": 5068, + "src": "17467:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6514, + "id": 6491, "isConstant": false, "isLValue": false, "isPure": false, @@ -22000,65 +21731,100 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17995:65:6", + "src": "17467:51:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6515, + "id": 6492, "nodeType": "EmitStatement", - "src": "17990:70:6" + "src": "17462:56:6" }, { "expression": { "argumentTypes": null, - "id": 6516, - "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "18081:31:6", + "components": [ + { + "argumentTypes": null, + "id": 6493, + "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4601, + "src": "17540:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 6494, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17573:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 6495, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "17539:36:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", + "typeString": "tuple(uint256,int_const 0)" } }, - "functionReturnParameters": 6506, - "id": 6517, + "functionReturnParameters": 6483, + "id": 6496, "nodeType": "Return", - "src": "18074:38:6" + "src": "17532:43:6" } ] } }, { "assignments": [ - 6521 + 6500 ], "declarations": [ { "constant": false, - "id": 6521, - "name": "superblock", + "id": 6500, + "name": "parent", "nodeType": "VariableDeclaration", - "scope": 6573, - "src": "18132:33:6", + "scope": 6644, + "src": "17596:29:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { "contractScope": null, - "id": 6520, + "id": 6499, "name": "SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "18132:14:6", + "referencedDeclaration": 8137, + "src": "17596:14:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -22066,31 +21832,31 @@ "visibility": "internal" } ], - "id": 6525, + "id": 6504, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6522, + "id": 6501, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "18168:11:6", + "referencedDeclaration": 5028, + "src": "17628:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 6524, + "id": 6503, "indexExpression": { "argumentTypes": null, - "id": 6523, - "name": "_superblockHash", + "id": 6502, + "name": "_parentId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6500, - "src": "18180:15:6", + "referencedDeclaration": 6475, + "src": "17640:9:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22101,14 +21867,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18168:28:6", + "src": "17628:22:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "18132:64:6" + "src": "17596:54:6" }, { "condition": { @@ -22117,7 +21883,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6536, + "id": 6515, "isConstant": false, "isLValue": false, "isPure": false, @@ -22125,10 +21891,10 @@ "leftExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6530, + "id": 6509, "isConstant": false, "isLValue": false, "isPure": false, @@ -22137,28 +21903,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6526, - "name": "superblock", + "id": 6505, + "name": "parent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6521, - "src": "18210:10:6", + "referencedDeclaration": 6500, + "src": "17664:6:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6527, + "id": 6506, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "18210:17:6", + "referencedDeclaration": 8136, + "src": "17664:13:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -22168,32 +21934,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6528, + "id": 6507, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "18231:6:6", + "referencedDeclaration": 8118, + "src": "17681:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6529, + "id": 6508, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "New", + "memberName": "SemiApproved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18231:10:6", + "src": "17681:19:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "18210:31:6", + "src": "17664:36:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22204,10 +21970,10 @@ "rightExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6535, + "id": 6514, "isConstant": false, "isLValue": false, "isPure": false, @@ -22216,28 +21982,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6531, - "name": "superblock", + "id": 6510, + "name": "parent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6521, - "src": "18245:10:6", + "referencedDeclaration": 6500, + "src": "17704:6:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6532, + "id": 6511, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "18245:17:6", + "referencedDeclaration": 8136, + "src": "17704:13:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -22247,51 +22013,51 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6533, + "id": 6512, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "18266:6:6", + "referencedDeclaration": 8118, + "src": "17721:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6534, + "id": 6513, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "InBattle", + "memberName": "Approved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18266:15:6", + "src": "17721:15:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "18245:36:6", + "src": "17704:32:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18210:71:6", + "src": "17664:72:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6545, + "id": 6536, "nodeType": "IfStatement", - "src": "18206:212:6", + "src": "17660:256:6", "trueBody": { - "id": 6544, + "id": 6535, "nodeType": "Block", - "src": "18283:135:6", + "src": "17738:178:6", "statements": [ { "eventCall": { @@ -22299,12 +22065,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6538, - "name": "_superblockHash", + "id": 6517, + "name": "_parentId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6500, - "src": "18318:15:6", + "referencedDeclaration": 6475, + "src": "17773:9:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22312,76 +22078,283 @@ }, { "argumentTypes": null, - "id": 6539, - "name": "ERR_SUPERBLOCK_BAD_STATUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "18335:25:6", - "typeDescriptions": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6537, - "name": "ErrorSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "18302:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 6540, - "isConstant": false, - "isLValue": false, + "id": 6523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6518, + "name": "ERR_SUPERBLOCK_BAD_PARENT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4544, + "src": "17784:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6520, + "name": "parent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6500, + "src": "17817:6:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6521, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "17817:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + ], + "id": 6519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17812:4:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint" + }, + "id": 6522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17812:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17784:47:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6516, + "name": "ErrorSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "17757:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 6524, + "isConstant": false, + "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18302:59:6", + "src": "17757:75:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6541, + "id": 6525, "nodeType": "EmitStatement", - "src": "18297:64:6" + "src": "17752:80:6" }, { "expression": { "argumentTypes": null, - "id": 6542, - "name": "ERR_SUPERBLOCK_BAD_STATUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "18382:25:6", + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6526, + "name": "ERR_SUPERBLOCK_BAD_PARENT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4544, + "src": "17854:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6528, + "name": "parent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6500, + "src": "17887:6:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6529, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "17887:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + ], + "id": 6527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17882:4:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint" + }, + "id": 6530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17882:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17854:47:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 6532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17903:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 6533, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "17853:52:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", + "typeString": "tuple(uint256,int_const 0)" } }, - "functionReturnParameters": 6506, - "id": 6543, + "functionReturnParameters": 6483, + "id": 6534, "nodeType": "Return", - "src": "18375:32:6" + "src": "17846:59:6" } ] } @@ -22390,10 +22363,10 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 6549, + "id": 6541, "isConstant": false, "isLValue": false, "isPure": false, @@ -22402,60 +22375,77 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6546, - "name": "superblock", + "id": 6537, + "name": "parent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6521, - "src": "18430:10:6", + "referencedDeclaration": 6500, + "src": "17930:6:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6547, + "id": 6538, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "submitter", + "memberName": "height", "nodeType": "MemberAccess", - "referencedDeclaration": 7629, - "src": "18430:20:6", + "referencedDeclaration": 8134, + "src": "17930:13:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "nodeType": "BinaryOperation", - "operator": "==", + "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 6548, - "name": "_challenger", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6502, - "src": "18454:11:6", + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6539, + "name": "getChainHeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7822, + "src": "17946:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 6540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17946:16:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "18430:35:6", + "src": "17930:32:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6558, + "id": 6552, "nodeType": "IfStatement", - "src": "18427:180:6", + "src": "17926:182:6", "trueBody": { - "id": 6557, + "id": 6551, "nodeType": "Block", - "src": "18466:141:6", + "src": "17964:144:6", "statements": [ { "eventCall": { @@ -22463,12 +22453,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6551, - "name": "_superblockHash", + "id": 6543, + "name": "_parentId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6500, - "src": "18501:15:6", + "referencedDeclaration": 6475, + "src": "17999:9:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22476,12 +22466,12 @@ }, { "argumentTypes": null, - "id": 6552, - "name": "ERR_SUPERBLOCK_OWN_CHALLENGE", + "id": 6544, + "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4550, - "src": "18518:28:6", + "referencedDeclaration": 4637, + "src": "18010:30:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22499,18 +22489,18 @@ "typeString": "uint256" } ], - "id": 6550, + "id": 6542, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "18485:15:6", + "referencedDeclaration": 5068, + "src": "17983:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6553, + "id": 6545, "isConstant": false, "isLValue": false, "isPure": false, @@ -22518,128 +22508,156 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18485:62:6", + "src": "17983:58:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6554, + "id": 6546, "nodeType": "EmitStatement", - "src": "18480:67:6" + "src": "17978:63:6" }, { "expression": { "argumentTypes": null, - "id": 6555, - "name": "ERR_SUPERBLOCK_OWN_CHALLENGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4550, - "src": "18568:28:6", + "components": [ + { + "argumentTypes": null, + "id": 6547, + "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4637, + "src": "18063:30:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 6548, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18095:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 6549, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "18062:35:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", + "typeString": "tuple(uint256,int_const 0)" } }, - "functionReturnParameters": 6506, - "id": 6556, + "functionReturnParameters": 6483, + "id": 6550, "nodeType": "Return", - "src": "18561:35:6" + "src": "18055:42:6" } ] } }, { - "expression": { + "assignments": [ + 6554 + ], + "declarations": [ + { + "constant": false, + "id": 6554, + "name": "superblockHash", + "nodeType": "VariableDeclaration", + "scope": 6644, + "src": "18118:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6553, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18118:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6563, + "initialValue": { "argumentTypes": null, - "id": 6564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { + "arguments": [ + { "argumentTypes": null, - "id": 6559, - "name": "superblock", + "id": 6556, + "name": "_blocksMerkleRoot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6521, - "src": "18616:10:6", + "referencedDeclaration": 6465, + "src": "18162:17:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 6561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "18616:17:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { + { "argumentTypes": null, - "id": 6562, - "name": "Status", + "id": 6557, + "name": "_timestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "18636:6:6", + "referencedDeclaration": 6467, + "src": "18181:10:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "InBattle", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18636:15:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "src": "18616:35:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "id": 6565, - "nodeType": "ExpressionStatement", - "src": "18616:35:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ { "argumentTypes": null, - "id": 6567, - "name": "_superblockHash", + "id": 6558, + "name": "_mtpTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6500, - "src": "18686:15:6", + "referencedDeclaration": 6469, + "src": "18193:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6559, + "name": "_lastHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6471, + "src": "18208:9:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22647,15 +22665,28 @@ }, { "argumentTypes": null, - "id": 6568, - "name": "_challenger", + "id": 6560, + "name": "_lastBits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6502, - "src": "18703:11:6", + "referencedDeclaration": 6473, + "src": "18219:9:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 6561, + "name": "_parentId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6475, + "src": "18230:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } } ], @@ -22666,22 +22697,38 @@ "typeString": "bytes32" }, { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } ], - "id": 6566, - "name": "ChallengeSuperblock", + "id": 6555, + "name": "calcSuperblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "18666:19:6", + "referencedDeclaration": 7672, + "src": "18143:18:6", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,uint256,uint256,bytes32,uint32,bytes32) pure returns (bytes32)" } }, - "id": 6569, + "id": 6562, "isConstant": false, "isLValue": false, "isPure": false, @@ -22689,157 +22736,101 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18666:49:6", + "src": "18143:97:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 6570, - "nodeType": "EmitStatement", - "src": "18661:54:6" + "nodeType": "VariableDeclarationStatement", + "src": "18118:122:6" }, { - "expression": { + "assignments": [ + 6565 + ], + "declarations": [ + { + "constant": false, + "id": 6565, + "name": "superblock", + "nodeType": "VariableDeclaration", + "scope": 6644, + "src": "18250:33:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + }, + "typeName": { + "contractScope": null, + "id": 6564, + "name": "SuperblockInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8137, + "src": "18250:14:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6569, + "initialValue": { "argumentTypes": null, - "id": 6571, - "name": "ERR_SUPERBLOCK_OK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "18732:17:6", + "baseExpression": { + "argumentTypes": null, + "id": 6566, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "18286:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 6568, + "indexExpression": { + "argumentTypes": null, + "id": 6567, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6554, + "src": "18298:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18286:27:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, - "functionReturnParameters": 6506, - "id": 6572, - "nodeType": "Return", - "src": "18725:24:6" - } - ] - }, - "documentation": null, - "id": 6574, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "challenge", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6500, - "name": "_superblockHash", - "nodeType": "VariableDeclaration", - "scope": 6574, - "src": "17857:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6499, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17857:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" + "nodeType": "VariableDeclarationStatement", + "src": "18250:63:6" }, - { - "constant": false, - "id": 6502, - "name": "_challenger", - "nodeType": "VariableDeclaration", - "scope": 6574, - "src": "17882:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6501, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17882:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17856:46:6" - }, - "returnParameters": { - "id": 6506, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6505, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6574, - "src": "17921:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6504, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17921:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17920:6:6" - }, - "scope": 7493, - "src": "17838:918:6", - "stateMutability": "nonpayable", - "superFunction": 7719, - "visibility": "external" - }, - { - "body": { - "id": 6636, - "nodeType": "Block", - "src": "19247:648:6", - "statements": [ { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6586, + "id": 6574, "isConstant": false, "isLValue": false, "isPure": false, @@ -22848,504 +22839,563 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6583, - "name": "msg", + "id": 6570, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "19261:3:6", + "referencedDeclaration": 6565, + "src": "18327:10:6", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6584, + "id": 6571, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "sender", + "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19261:10:6", + "referencedDeclaration": 8136, + "src": "18327:17:6", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, "nodeType": "BinaryOperation", - "operator": "!=", + "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 6585, - "name": "trustedClaimManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "19275:19:6", + "expression": { + "argumentTypes": null, + "id": 6572, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "18348:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6573, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Uninitialized", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "18348:20:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "19261:33:6", + "src": "18327:41:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6595, + "id": 6621, "nodeType": "IfStatement", - "src": "19257:186:6", + "src": "18323:405:6", "trueBody": { - "id": 6594, + "id": 6620, "nodeType": "Block", - "src": "19296:147:6", + "src": "18370:358:6", "statements": [ { - "eventCall": { + "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 6579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 6588, - "name": "_superblockHash", + "id": 6575, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6576, - "src": "19331:15:6", + "referencedDeclaration": 6565, + "src": "18384:10:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - { - "argumentTypes": null, - "id": 6589, - "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "19348:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "id": 6577, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "blocksMerkleRoot", + "nodeType": "MemberAccess", + "referencedDeclaration": 8120, + "src": "18384:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6587, - "name": "ErrorSuperblock", + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6578, + "name": "_blocksMerkleRoot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "19315:15:6", + "referencedDeclaration": 6465, + "src": "18414:17:6", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 6590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19315:65:6", + "src": "18384:47:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 6591, - "nodeType": "EmitStatement", - "src": "19310:70:6" + "id": 6580, + "nodeType": "ExpressionStatement", + "src": "18384:47:6" }, { "expression": { "argumentTypes": null, - "id": 6592, - "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "19401:31:6", + "id": 6585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6581, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "18445:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6583, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8122, + "src": "18445:20:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6584, + "name": "_timestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6467, + "src": "18468:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18445:33:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6582, - "id": 6593, - "nodeType": "Return", - "src": "19394:38:6" - } - ] - } - }, - { - "assignments": [ - 6597 - ], - "declarations": [ - { - "constant": false, - "id": 6597, - "name": "superblock", - "nodeType": "VariableDeclaration", - "scope": 6636, - "src": "19452:33:6", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" - }, - "typeName": { - "contractScope": null, - "id": 6596, - "name": "SuperblockInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "19452:14:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6601, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6598, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "19488:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" - } - }, - "id": 6600, - "indexExpression": { - "argumentTypes": null, - "id": 6599, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6576, - "src": "19500:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19488:28:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19452:64:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "id": 6606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6602, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6597, - "src": "19531:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6603, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "19531:17:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6604, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "19552:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" - } - }, - "id": 6605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "InBattle", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19552:15:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "src": "19531:36:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "id": 6611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6607, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6597, - "src": "19571:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6608, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "19571:17:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6609, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "19592:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" - } - }, - "id": 6610, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "New", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19592:10:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } + "id": 6586, + "nodeType": "ExpressionStatement", + "src": "18445:33:6" }, - "src": "19571:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19531:71:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6621, - "nodeType": "IfStatement", - "src": "19527:212:6", - "trueBody": { - "id": 6620, - "nodeType": "Block", - "src": "19604:135:6", - "statements": [ { - "eventCall": { + "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 6591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 6614, - "name": "_superblockHash", + "id": 6587, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6576, - "src": "19639:15:6", + "referencedDeclaration": 6565, + "src": "18492:10:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - { - "argumentTypes": null, - "id": 6615, - "name": "ERR_SUPERBLOCK_BAD_STATUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "19656:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "id": 6589, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "mtpTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8124, + "src": "18492:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6613, - "name": "ErrorSuperblock", + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6590, + "name": "_mtpTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "19623:15:6", + "referencedDeclaration": 6469, + "src": "18518:13:6", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19623:59:6", + "src": "18492:39:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6617, - "nodeType": "EmitStatement", - "src": "19618:64:6" + "id": 6592, + "nodeType": "ExpressionStatement", + "src": "18492:39:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6593, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "18545:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6595, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "lastHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 8126, + "src": "18545:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6596, + "name": "_lastHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6471, + "src": "18567:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "18545:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6598, + "nodeType": "ExpressionStatement", + "src": "18545:31:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6599, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "18590:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6601, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "parentId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8128, + "src": "18590:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6602, + "name": "_parentId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6475, + "src": "18612:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "18590:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6604, + "nodeType": "ExpressionStatement", + "src": "18590:31:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6605, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "18635:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "height", + "nodeType": "MemberAccess", + "referencedDeclaration": 8134, + "src": "18635:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 6611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6608, + "name": "parent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6500, + "src": "18655:6:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6609, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "height", + "nodeType": "MemberAccess", + "referencedDeclaration": 8134, + "src": "18655:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 6610, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18671:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "18655:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "18635:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 6613, + "nodeType": "ExpressionStatement", + "src": "18635:37:6" }, { "expression": { "argumentTypes": null, "id": 6618, - "name": "ERR_SUPERBLOCK_BAD_STATUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "19703:25:6", + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6614, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "18686:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6616, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "lastBits", + "nodeType": "MemberAccess", + "referencedDeclaration": 8132, + "src": "18686:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6617, + "name": "_lastBits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6473, + "src": "18708:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "18686:31:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "functionReturnParameters": 6582, "id": 6619, - "nodeType": "Return", - "src": "19696:32:6" + "nodeType": "ExpressionStatement", + "src": "18686:31:6" } ] } @@ -23366,10 +23416,10 @@ "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6597, - "src": "19748:10:6", + "referencedDeclaration": 6565, + "src": "18737:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, @@ -23380,10 +23430,10 @@ "lValueRequested": true, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "19748:17:6", + "referencedDeclaration": 8136, + "src": "18737:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -23397,10 +23447,10 @@ "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "19768:6:6", + "referencedDeclaration": 8118, + "src": "18757:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, @@ -23409,24 +23459,86 @@ "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "SemiApproved", + "memberName": "New", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19768:19:6", + "src": "18757:10:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "19748:39:6", + "src": "18737:30:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, "id": 6628, "nodeType": "ExpressionStatement", - "src": "19748:39:6" + "src": "18737:30:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6629, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "18777:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6631, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "submitter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8130, + "src": "18777:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6632, + "name": "submitter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6477, + "src": "18800:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "18777:32:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6634, + "nodeType": "ExpressionStatement", + "src": "18777:32:6" }, { "eventCall": { @@ -23434,12 +23546,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6630, - "name": "_superblockHash", + "id": 6636, + "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6576, - "src": "19826:15:6", + "referencedDeclaration": 6554, + "src": "18838:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23447,12 +23559,12 @@ }, { "argumentTypes": null, - "id": 6631, - "name": "_validator", + "id": 6637, + "name": "submitter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6578, - "src": "19843:10:6", + "referencedDeclaration": 6477, + "src": "18854:9:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23470,18 +23582,18 @@ "typeString": "address" } ], - "id": 6629, - "name": "SemiApprovedSuperblock", + "id": 6635, + "name": "NewSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5047, - "src": "19803:22:6", + "referencedDeclaration": 5038, + "src": "18824:13:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 6632, + "id": 6638, "isConstant": false, "isLValue": false, "isPure": false, @@ -23489,55 +23601,85 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19803:51:6", + "src": "18824:40:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6633, + "id": 6639, "nodeType": "EmitStatement", - "src": "19798:56:6" + "src": "18819:45:6" }, { "expression": { "argumentTypes": null, - "id": 6634, - "name": "ERR_SUPERBLOCK_OK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "19871:17:6", + "components": [ + { + "argumentTypes": null, + "id": 6640, + "name": "ERR_SUPERBLOCK_OK", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4517, + "src": "18882:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6641, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6554, + "src": "18901:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6642, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "18881:35:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", + "typeString": "tuple(uint256,bytes32)" } }, - "functionReturnParameters": 6582, - "id": 6635, + "functionReturnParameters": 6483, + "id": 6643, "nodeType": "Return", - "src": "19864:24:6" + "src": "18874:42:6" } ] }, "documentation": null, - "id": 6637, + "id": 6645, "implemented": true, "kind": "function", "modifiers": [], - "name": "semiApprove", + "name": "propose", "nodeType": "FunctionDefinition", "parameters": { - "id": 6579, + "id": 6478, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6576, - "name": "_superblockHash", + "id": 6465, + "name": "_blocksMerkleRoot", "nodeType": "VariableDeclaration", - "scope": 6637, - "src": "19178:23:6", + "scope": 6645, + "src": "17174:25:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23545,10 +23687,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6575, + "id": 6464, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "19178:7:6", + "src": "17174:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23559,11 +23701,141 @@ }, { "constant": false, - "id": 6578, - "name": "_validator", + "id": 6467, + "name": "_timestamp", + "nodeType": "VariableDeclaration", + "scope": 6645, + "src": "17209:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6466, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17209:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6469, + "name": "_mtpTimestamp", + "nodeType": "VariableDeclaration", + "scope": 6645, + "src": "17234:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6468, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17234:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6471, + "name": "_lastHash", + "nodeType": "VariableDeclaration", + "scope": 6645, + "src": "17262:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6470, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17262:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6473, + "name": "_lastBits", + "nodeType": "VariableDeclaration", + "scope": 6645, + "src": "17289:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 6472, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "17289:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6475, + "name": "_parentId", + "nodeType": "VariableDeclaration", + "scope": 6645, + "src": "17315:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6474, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17315:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6477, + "name": "submitter", "nodeType": "VariableDeclaration", - "scope": 6637, - "src": "19203:18:6", + "scope": 6645, + "src": "17342:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23571,10 +23843,10 @@ "typeString": "address" }, "typeName": { - "id": 6577, + "id": 6476, "name": "address", "nodeType": "ElementaryTypeName", - "src": "19203:7:6", + "src": "17342:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23585,19 +23857,19 @@ "visibility": "internal" } ], - "src": "19177:45:6" + "src": "17164:201:6" }, "returnParameters": { - "id": 6582, + "id": 6483, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6581, + "id": 6480, "name": "", "nodeType": "VariableDeclaration", - "scope": 6637, - "src": "19241:4:6", + "scope": 6645, + "src": "17384:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23605,10 +23877,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6580, + "id": 6479, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "19241:4:6", + "src": "17384:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23616,21 +23888,47 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 6482, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6645, + "src": "17390:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6481, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17390:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "19240:6:6" + "src": "17383:15:6" }, - "scope": 7493, - "src": "19157:738:6", + "scope": 7851, + "src": "17148:1775:6", "stateMutability": "nonpayable", - "superFunction": 7728, + "superFunction": 8158, "visibility": "external" }, { "body": { - "id": 6699, + "id": 6746, "nodeType": "Block", - "src": "20456:645:6", + "src": "19415:1141:6", "statements": [ { "condition": { @@ -23639,7 +23937,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6649, + "id": 6657, "isConstant": false, "isLValue": false, "isPure": false, @@ -23648,18 +23946,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6646, + "id": 6654, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "20470:3:6", + "referencedDeclaration": 11098, + "src": "19429:3:6", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 6647, + "id": 6655, "isConstant": false, "isLValue": false, "isPure": false, @@ -23667,7 +23965,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20470:10:6", + "src": "19429:10:6", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -23677,31 +23975,31 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 6648, + "id": 6656, "name": "trustedClaimManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "20484:19:6", + "referencedDeclaration": 5086, + "src": "19443:19:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "20470:33:6", + "src": "19429:33:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6658, + "id": 6666, "nodeType": "IfStatement", - "src": "20466:186:6", + "src": "19425:186:6", "trueBody": { - "id": 6657, + "id": 6665, "nodeType": "Block", - "src": "20505:147:6", + "src": "19464:147:6", "statements": [ { "eventCall": { @@ -23709,12 +24007,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6651, + "id": 6659, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6639, - "src": "20540:15:6", + "referencedDeclaration": 6647, + "src": "19499:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23722,12 +24020,12 @@ }, { "argumentTypes": null, - "id": 6652, + "id": 6660, "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "20557:31:6", + "referencedDeclaration": 4601, + "src": "19516:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23745,18 +24043,18 @@ "typeString": "uint256" } ], - "id": 6650, + "id": 6658, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "20524:15:6", + "referencedDeclaration": 5068, + "src": "19483:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6653, + "id": 6661, "isConstant": false, "isLValue": false, "isPure": false, @@ -23764,65 +24062,65 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20524:65:6", + "src": "19483:65:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6654, + "id": 6662, "nodeType": "EmitStatement", - "src": "20519:70:6" + "src": "19478:70:6" }, { "expression": { "argumentTypes": null, - "id": 6655, + "id": 6663, "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "20610:31:6", + "referencedDeclaration": 4601, + "src": "19569:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6645, - "id": 6656, + "functionReturnParameters": 6653, + "id": 6664, "nodeType": "Return", - "src": "20603:38:6" + "src": "19562:38:6" } ] } }, { "assignments": [ - 6660 + 6668 ], "declarations": [ { "constant": false, - "id": 6660, + "id": 6668, "name": "superblock", "nodeType": "VariableDeclaration", - "scope": 6699, - "src": "20661:33:6", + "scope": 6746, + "src": "19620:33:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { "contractScope": null, - "id": 6659, + "id": 6667, "name": "SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "20661:14:6", + "referencedDeclaration": 8137, + "src": "19620:14:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -23830,31 +24128,31 @@ "visibility": "internal" } ], - "id": 6664, + "id": 6672, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6661, + "id": 6669, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "20697:11:6", + "referencedDeclaration": 5028, + "src": "19656:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 6663, + "id": 6671, "indexExpression": { "argumentTypes": null, - "id": 6662, + "id": 6670, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6639, - "src": "20709:15:6", + "referencedDeclaration": 6647, + "src": "19668:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23865,14 +24163,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20697:28:6", + "src": "19656:28:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "20661:64:6" + "src": "19620:64:6" }, { "condition": { @@ -23881,7 +24179,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6675, + "id": 6683, "isConstant": false, "isLValue": false, "isPure": false, @@ -23889,10 +24187,10 @@ "leftExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6669, + "id": 6677, "isConstant": false, "isLValue": false, "isPure": false, @@ -23901,28 +24199,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6665, + "id": 6673, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6660, - "src": "20739:10:6", + "referencedDeclaration": 6668, + "src": "19698:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6666, + "id": 6674, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "20739:17:6", + "referencedDeclaration": 8136, + "src": "19698:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -23932,32 +24230,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6667, + "id": 6675, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "20760:6:6", + "referencedDeclaration": 8118, + "src": "19719:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6668, + "id": 6676, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "InBattle", + "memberName": "New", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20760:15:6", + "src": "19719:10:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "20739:36:6", + "src": "19698:31:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23968,10 +24266,10 @@ "rightExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6674, + "id": 6682, "isConstant": false, "isLValue": false, "isPure": false, @@ -23980,28 +24278,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6670, + "id": 6678, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6660, - "src": "20779:10:6", + "referencedDeclaration": 6668, + "src": "19733:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6671, + "id": 6679, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "20779:17:6", + "referencedDeclaration": 8136, + "src": "19733:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -24011,18 +24309,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6672, + "id": 6680, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "20800:6:6", + "referencedDeclaration": 8118, + "src": "19754:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6673, + "id": 6681, "isConstant": false, "isLValue": false, "isPure": true, @@ -24030,32 +24328,32 @@ "memberName": "SemiApproved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20800:19:6", + "src": "19754:19:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "20779:40:6", + "src": "19733:40:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "20739:80:6", + "src": "19698:75:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6684, + "id": 6692, "nodeType": "IfStatement", - "src": "20735:221:6", + "src": "19694:216:6", "trueBody": { - "id": 6683, + "id": 6691, "nodeType": "Block", - "src": "20821:135:6", + "src": "19775:135:6", "statements": [ { "eventCall": { @@ -24063,12 +24361,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6677, + "id": 6685, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6639, - "src": "20856:15:6", + "referencedDeclaration": 6647, + "src": "19810:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24076,12 +24374,12 @@ }, { "argumentTypes": null, - "id": 6678, + "id": 6686, "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "20873:25:6", + "referencedDeclaration": 4523, + "src": "19827:25:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24099,18 +24397,18 @@ "typeString": "uint256" } ], - "id": 6676, + "id": 6684, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "20840:15:6", + "referencedDeclaration": 5068, + "src": "19794:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6679, + "id": 6687, "isConstant": false, "isLValue": false, "isPure": false, @@ -24118,115 +24416,616 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20840:59:6", + "src": "19794:59:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6680, + "id": 6688, "nodeType": "EmitStatement", - "src": "20835:64:6" + "src": "19789:64:6" }, { "expression": { "argumentTypes": null, - "id": 6681, + "id": 6689, "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "20920:25:6", + "referencedDeclaration": 4523, + "src": "19874:25:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6645, - "id": 6682, + "functionReturnParameters": 6653, + "id": 6690, "nodeType": "Return", - "src": "20913:32:6" + "src": "19867:32:6" } ] } }, { - "expression": { + "condition": { "argumentTypes": null, - "id": 6690, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6697, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6685, + "id": 6693, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6660, - "src": "20965:10:6", + "referencedDeclaration": 6668, + "src": "19924:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6687, + "id": 6694, "isConstant": false, "isLValue": true, "isPure": false, - "lValueRequested": true, - "memberName": "status", + "lValueRequested": false, + "memberName": "height", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "20965:17:6", + "referencedDeclaration": 8134, + "src": "19924:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { "argumentTypes": null, + "arguments": [], "expression": { - "argumentTypes": null, - "id": 6688, - "name": "Status", + "argumentTypes": [], + "id": 6695, + "name": "getChainHeight", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "20985:6:6", + "referencedDeclaration": 7822, + "src": "19945:14:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" } }, - "id": 6689, + "id": 6696, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "Invalid", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20985:14:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "names": [], + "nodeType": "FunctionCall", + "src": "19945:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19924:37:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6706, + "nodeType": "IfStatement", + "src": "19920:188:6", + "trueBody": { + "id": 6705, + "nodeType": "Block", + "src": "19963:145:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6699, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6647, + "src": "19998:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6700, + "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4637, + "src": "20015:30:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6698, + "name": "ErrorSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "19982:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 6701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19982:64:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6702, + "nodeType": "EmitStatement", + "src": "19977:69:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6703, + "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4637, + "src": "20067:30:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6653, + "id": 6704, + "nodeType": "Return", + "src": "20060:37:6" + } + ] + } + }, + { + "assignments": [ + 6708 + ], + "declarations": [ + { + "constant": false, + "id": 6708, + "name": "parent", + "nodeType": "VariableDeclaration", + "scope": 6746, + "src": "20118:29:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + }, + "typeName": { + "contractScope": null, + "id": 6707, + "name": "SuperblockInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8137, + "src": "20118:14:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6713, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6709, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "20150:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 6712, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6710, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6668, + "src": "20162:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6711, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "parentId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8128, + "src": "20162:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20150:32:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20118:64:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + }, + "id": 6718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6714, + "name": "parent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6708, + "src": "20196:6:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6715, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "20196:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6716, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "20213:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6717, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Approved", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "20213:15:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "src": "20196:32:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6727, + "nodeType": "IfStatement", + "src": "20192:173:6", + "trueBody": { + "id": 6726, + "nodeType": "Block", + "src": "20230:135:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6720, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6647, + "src": "20265:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6721, + "name": "ERR_SUPERBLOCK_BAD_PARENT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4544, + "src": "20282:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6719, + "name": "ErrorSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "20249:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 6722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20249:59:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6723, + "nodeType": "EmitStatement", + "src": "20244:64:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6724, + "name": "ERR_SUPERBLOCK_BAD_PARENT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4544, + "src": "20329:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6653, + "id": 6725, + "nodeType": "Return", + "src": "20322:32:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 6733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6728, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6668, + "src": "20375:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6730, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "20375:17:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6731, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "20395:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Approved", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "20395:15:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "20965:34:6", + "src": "20375:35:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "id": 6691, + "id": 6734, + "nodeType": "ExpressionStatement", + "src": "20375:35:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6735, + "name": "bestSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5030, + "src": "20420:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6736, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6647, + "src": "20437:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "20420:32:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6738, "nodeType": "ExpressionStatement", - "src": "20965:34:6" + "src": "20420:32:6" }, { "eventCall": { @@ -24234,12 +25033,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6693, + "id": 6740, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6639, - "src": "21032:15:6", + "referencedDeclaration": 6647, + "src": "20487:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24247,12 +25046,12 @@ }, { "argumentTypes": null, - "id": 6694, + "id": 6741, "name": "_validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6641, - "src": "21049:10:6", + "referencedDeclaration": 6649, + "src": "20504:10:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24270,18 +25069,18 @@ "typeString": "address" } ], - "id": 6692, - "name": "InvalidSuperblock", + "id": 6739, + "name": "ApprovedSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5053, - "src": "21014:17:6", + "referencedDeclaration": 5044, + "src": "20468:18:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 6695, + "id": 6742, "isConstant": false, "isLValue": false, "isPure": false, @@ -24289,55 +25088,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21014:46:6", + "src": "20468:47:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6696, + "id": 6743, "nodeType": "EmitStatement", - "src": "21009:51:6" + "src": "20463:52:6" }, { "expression": { "argumentTypes": null, - "id": 6697, + "id": 6744, "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "21077:17:6", + "referencedDeclaration": 4517, + "src": "20532:17:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6645, - "id": 6698, + "functionReturnParameters": 6653, + "id": 6745, "nodeType": "Return", - "src": "21070:24:6" + "src": "20525:24:6" } ] }, "documentation": null, - "id": 6700, + "id": 6747, "implemented": true, "kind": "function", "modifiers": [], - "name": "invalidate", + "name": "confirm", "nodeType": "FunctionDefinition", "parameters": { - "id": 6642, + "id": 6650, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6639, + "id": 6647, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 6700, - "src": "20387:23:6", + "scope": 6747, + "src": "19346:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24345,10 +25144,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6638, + "id": 6646, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "20387:7:6", + "src": "19346:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24359,11 +25158,11 @@ }, { "constant": false, - "id": 6641, + "id": 6649, "name": "_validator", "nodeType": "VariableDeclaration", - "scope": 6700, - "src": "20412:18:6", + "scope": 6747, + "src": "19371:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24371,10 +25170,10 @@ "typeString": "address" }, "typeName": { - "id": 6640, + "id": 6648, "name": "address", "nodeType": "ElementaryTypeName", - "src": "20412:7:6", + "src": "19371:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24385,19 +25184,19 @@ "visibility": "internal" } ], - "src": "20386:45:6" + "src": "19345:45:6" }, "returnParameters": { - "id": 6645, + "id": 6653, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6644, + "id": 6652, "name": "", "nodeType": "VariableDeclaration", - "scope": 6700, - "src": "20450:4:6", + "scope": 6747, + "src": "19409:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24405,10 +25204,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6643, + "id": 6651, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "20450:4:6", + "src": "19409:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24418,141 +25217,145 @@ "visibility": "internal" } ], - "src": "20449:6:6" + "src": "19408:6:6" }, - "scope": 7493, - "src": "20367:734:6", + "scope": 7851, + "src": "19329:1227:6", "stateMutability": "nonpayable", - "superFunction": 7737, + "superFunction": 8211, "visibility": "external" }, { "body": { - "id": 6754, + "id": 6822, "nodeType": "Block", - "src": "21918:498:6", + "src": "20993:829:6", "statements": [ { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 6734, + "id": 6759, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "arguments": [ - { + "expression": { + "argumentTypes": null, + "id": 6756, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "21007:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "21007:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 6758, + "name": "trustedClaimManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5086, + "src": "21021:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "21007:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6768, + "nodeType": "IfStatement", + "src": "21003:186:6", + "trueBody": { + "id": 6767, + "nodeType": "Block", + "src": "21042:147:6", + "statements": [ + { + "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6724, - "name": "_syscoinBlockHeader", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6702, - "src": "22027:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 6723, - "name": "dblShaFlip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7207, - "src": "22016:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory) pure returns (uint256)" - } - }, - "id": 6725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22016:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6726, - "name": "_syscoinBlockIndex", + "id": 6761, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6704, - "src": "22049:18:6", + "referencedDeclaration": 6749, + "src": "21077:15:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, { "argumentTypes": null, - "id": 6727, - "name": "_syscoinBlockSiblings", + "id": 6762, + "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6707, - "src": "22069:21:6", + "referencedDeclaration": 4601, + "src": "21094:31:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" } ], - "id": 6722, - "name": "computeMerkle", + "id": 6760, + "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4962, - "src": "22002:13:6", + "referencedDeclaration": 5068, + "src": "21061:15:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256[] memory) pure returns (uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" } }, - "id": 6728, + "id": 6763, "isConstant": false, "isLValue": false, "isPure": false, @@ -24560,119 +25363,298 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22002:89:6", + "src": "21061:65:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6764, + "nodeType": "EmitStatement", + "src": "21056:70:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6765, + "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4601, + "src": "21147:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "functionReturnParameters": 6755, + "id": 6766, + "nodeType": "Return", + "src": "21140:38:6" + } + ] + } + }, + { + "assignments": [ + 6770 + ], + "declarations": [ + { + "constant": false, + "id": 6770, + "name": "superblock", + "nodeType": "VariableDeclaration", + "scope": 6822, + "src": "21198:33:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + }, + "typeName": { + "contractScope": null, + "id": 6769, + "name": "SuperblockInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8137, + "src": "21198:14:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6774, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6771, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "21234:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 6773, + "indexExpression": { + "argumentTypes": null, + "id": 6772, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6749, + "src": "21246:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21234:28:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21198:64:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + }, + "id": 6779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6775, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "21276:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } - ], - "id": 6721, + }, + "id": 6776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "21276:17:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6777, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "21297:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6778, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21994:7:6", + "memberName": "New", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "21297:10:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } }, - "id": 6729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21994:98:6", + "src": "21276:31:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "nodeType": "BinaryOperation", - "operator": "!=", + "operator": "&&", "rightExpression": { "argumentTypes": null, - "expression": { + "commonType": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + }, + "id": 6784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "baseExpression": { + "expression": { "argumentTypes": null, - "id": 6730, - "name": "superblocks", + "id": 6780, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "22108:11:6", + "referencedDeclaration": 6770, + "src": "21311:10:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6732, - "indexExpression": { + "id": 6781, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "21311:17:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 6731, - "name": "_superblockHash", + "id": 6782, + "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6709, - "src": "22120:15:6", + "referencedDeclaration": 8118, + "src": "21332:6:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, + "id": 6783, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": false, + "isPure": true, "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22108:28:6", + "memberName": "InBattle", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "21332:15:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, - "id": 6733, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "blocksMerkleRoot", - "nodeType": "MemberAccess", - "referencedDeclaration": 7619, - "src": "22108:45:6", + "src": "21311:36:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "src": "21994:159:6", + "src": "21276:71:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6745, + "id": 6794, "nodeType": "IfStatement", - "src": "21990:324:6", + "src": "21272:212:6", "trueBody": { - "id": 6744, + "id": 6793, "nodeType": "Block", - "src": "22155:159:6", + "src": "21349:135:6", "statements": [ { "eventCall": { @@ -24680,55 +25662,12 @@ "arguments": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22250:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6736, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22242:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" - }, - "id": 6738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22242:10:6", + "id": 6787, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6749, + "src": "21384:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24736,12 +25675,12 @@ }, { "argumentTypes": null, - "id": 6739, - "name": "ERR_SUPERBLOCK_MERKLE_ROOT", + "id": 6788, + "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4667, - "src": "22254:26:6", + "referencedDeclaration": 4523, + "src": "21401:25:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24759,18 +25698,18 @@ "typeString": "uint256" } ], - "id": 6735, - "name": "VerifyTransaction", + "id": 6786, + "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5065, - "src": "22224:17:6", + "referencedDeclaration": 5068, + "src": "21368:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6740, + "id": 6789, "isConstant": false, "isLValue": false, "isPure": false, @@ -24778,148 +25717,334 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22224:57:6", + "src": "21368:59:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6741, + "id": 6790, "nodeType": "EmitStatement", - "src": "22219:62:6" + "src": "21363:64:6" }, { "expression": { "argumentTypes": null, - "hexValue": "30", - "id": 6742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22302:1:6", - "subdenomination": null, + "id": 6791, + "name": "ERR_SUPERBLOCK_BAD_STATUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4523, + "src": "21448:25:6", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "functionReturnParameters": 6720, - "id": 6743, + "functionReturnParameters": 6755, + "id": 6792, "nodeType": "Return", - "src": "22295:8:6" + "src": "21441:32:6" } ] } }, { - "expression": { + "condition": { "argumentTypes": null, - "arguments": [ - { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 6747, - "name": "_txBytes", + "id": 6795, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6711, - "src": "22339:8:6", + "referencedDeclaration": 6770, + "src": "21496:10:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, + "id": 6796, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "submitter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8130, + "src": "21496:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6797, + "name": "_challenger", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6751, + "src": "21520:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "21496:35:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6807, + "nodeType": "IfStatement", + "src": "21493:180:6", + "trueBody": { + "id": 6806, + "nodeType": "Block", + "src": "21532:141:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6800, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6749, + "src": "21567:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6801, + "name": "ERR_SUPERBLOCK_OWN_CHALLENGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4559, + "src": "21584:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6799, + "name": "ErrorSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "21551:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 6802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21551:62:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6803, + "nodeType": "EmitStatement", + "src": "21546:67:6" + }, { + "expression": { + "argumentTypes": null, + "id": 6804, + "name": "ERR_SUPERBLOCK_OWN_CHALLENGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4559, + "src": "21634:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6755, + "id": 6805, + "nodeType": "Return", + "src": "21627:35:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 6813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 6748, - "name": "_txIndex", + "id": 6808, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6713, - "src": "22349:8:6", + "referencedDeclaration": 6770, + "src": "21682:10:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - { + "id": 6810, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "21682:17:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 6749, - "name": "_txSiblings", + "id": 6811, + "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6716, - "src": "22359:11:6", + "referencedDeclaration": 8118, + "src": "21702:6:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, + "id": 6812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "InBattle", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "21702:15:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "src": "21682:35:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "id": 6814, + "nodeType": "ExpressionStatement", + "src": "21682:35:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ { "argumentTypes": null, - "id": 6750, - "name": "_syscoinBlockHeader", + "id": 6816, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6702, - "src": "22372:19:6", + "referencedDeclaration": 6749, + "src": "21752:15:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, { "argumentTypes": null, - "id": 6751, - "name": "_superblockHash", + "id": 6817, + "name": "_challenger", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6709, - "src": "22393:15:6", + "referencedDeclaration": 6751, + "src": "21769:11:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" - } - ], - "id": 6746, - "name": "verifyTx", + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6815, + "name": "ChallengeSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7183, - "src": "22330:8:6", + "referencedDeclaration": 5050, + "src": "21732:19:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256,uint256[] memory,bytes memory,bytes32) returns (uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" } }, - "id": 6752, + "id": 6818, "isConstant": false, "isLValue": false, "isPure": false, @@ -24927,125 +26052,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22330:79:6", + "src": "21732:49:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6819, + "nodeType": "EmitStatement", + "src": "21727:54:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6820, + "name": "ERR_SUPERBLOCK_OK", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4517, + "src": "21798:17:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6720, - "id": 6753, + "functionReturnParameters": 6755, + "id": 6821, "nodeType": "Return", - "src": "22323:86:6" + "src": "21791:24:6" } ] }, "documentation": null, - "id": 6755, + "id": 6823, "implemented": true, "kind": "function", "modifiers": [], - "name": "verifySPVProofs", + "name": "challenge", "nodeType": "FunctionDefinition", "parameters": { - "id": 6717, + "id": 6752, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6702, - "name": "_syscoinBlockHeader", - "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21656:32:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6701, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "21656:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6704, - "name": "_syscoinBlockIndex", - "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21698:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6703, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21698:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6707, - "name": "_syscoinBlockSiblings", - "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21731:35:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6705, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21731:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6706, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21731:6:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6709, + "id": 6749, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21776:23:6", + "scope": 6823, + "src": "20923:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25053,10 +26108,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6708, + "id": 6748, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "21776:7:6", + "src": "20923:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25067,106 +26122,45 @@ }, { "constant": false, - "id": 6711, - "name": "_txBytes", - "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21809:21:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6710, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "21809:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6713, - "name": "_txIndex", + "id": 6751, + "name": "_challenger", "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21840:13:6", + "scope": 6823, + "src": "20948:19:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 6712, - "name": "uint", + "id": 6750, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "21840:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6716, - "name": "_txSiblings", - "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21863:25:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6714, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "21863:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6715, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21863:6:6", + "src": "20948:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "21646:248:6" + "src": "20922:46:6" }, "returnParameters": { - "id": 6720, + "id": 6755, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6719, + "id": 6754, "name": "", "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21912:4:6", + "scope": 6823, + "src": "20987:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25174,10 +26168,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6718, + "id": 6753, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "21912:4:6", + "src": "20987:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25187,1138 +26181,628 @@ "visibility": "internal" } ], - "src": "21911:6:6" + "src": "20986:6:6" }, - "scope": 7493, - "src": "21622:794:6", + "scope": 7851, + "src": "20904:918:6", "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" + "superFunction": 8220, + "visibility": "external" }, { "body": { - "id": 6864, + "id": 6885, "nodeType": "Block", - "src": "23599:919:6", + "src": "22313:648:6", "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6832, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "22327:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "22327:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 6834, + "name": "trustedClaimManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5086, + "src": "22341:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "22327:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6844, + "nodeType": "IfStatement", + "src": "22323:186:6", + "trueBody": { + "id": 6843, + "nodeType": "Block", + "src": "22362:147:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6837, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6825, + "src": "22397:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6838, + "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4601, + "src": "22414:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6836, + "name": "ErrorSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "22381:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 6839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22381:65:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6840, + "nodeType": "EmitStatement", + "src": "22376:70:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6841, + "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4601, + "src": "22467:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6831, + "id": 6842, + "nodeType": "Return", + "src": "22460:38:6" + } + ] + } + }, { "assignments": [ - 6777 + 6846 ], "declarations": [ { "constant": false, - "id": 6777, - "name": "txHash", + "id": 6846, + "name": "superblock", "nodeType": "VariableDeclaration", - "scope": 6864, - "src": "23609:11:6", + "scope": 6885, + "src": "22518:33:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { - "id": 6776, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "23609:4:6", + "contractScope": null, + "id": 6845, + "name": "SuperblockInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8137, + "src": "22518:14:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, "value": null, "visibility": "internal" } ], - "id": 6787, + "id": 6850, "initialValue": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6779, - "name": "_syscoinBlockHeader", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6764, - "src": "23639:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 6780, - "name": "_syscoinBlockIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6766, - "src": "23660:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6781, - "name": "_syscoinBlockSiblings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6769, - "src": "23680:21:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 6782, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6771, - "src": "23703:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6783, - "name": "_txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6757, - "src": "23720:8:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 6784, - "name": "_txIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6759, - "src": "23730:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6785, - "name": "_txSiblings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6762, - "src": "23740:11:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } + "baseExpression": { + "argumentTypes": null, + "id": 6847, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "22554:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 6778, - "name": "verifySPVProofs", + }, + "id": 6849, + "indexExpression": { + "argumentTypes": null, + "id": 6848, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6755, - "src": "23623:15:6", + "referencedDeclaration": 6825, + "src": "22566:15:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256,uint256[] memory,bytes32,bytes memory,uint256,uint256[] memory) returns (uint256)" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 6786, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23623:129:6", + "nodeType": "IndexAccess", + "src": "22554:28:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "23609:143:6" + "src": "22518:64:6" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "id": 6790, + "id": 6861, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6788, - "name": "txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6777, - "src": "23766:6:6", + "commonType": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + }, + "id": 6855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6851, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6846, + "src": "22597:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6852, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "22597:17:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6853, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "22618:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "InBattle", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "22618:15:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "src": "22597:36:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "nodeType": "BinaryOperation", - "operator": "!=", + "operator": "&&", "rightExpression": { "argumentTypes": null, - "hexValue": "30", - "id": 6789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", + "commonType": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + }, + "id": 6860, + "isConstant": false, + "isLValue": false, + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "23776:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6856, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6846, + "src": "22637:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6857, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "22637:17:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } }, - "value": "0" + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6858, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "22658:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "New", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "22658:10:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "src": "22637:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, - "src": "23766:11:6", + "src": "22597:71:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6853, + "id": 6870, "nodeType": "IfStatement", - "src": "23762:655:6", + "src": "22593:212:6", "trueBody": { - "id": 6852, + "id": 6869, "nodeType": "Block", - "src": "23779:638:6", + "src": "22670:135:6", "statements": [ { - "assignments": [ - 6792 - ], - "declarations": [ - { - "constant": false, - "id": 6792, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6852, - "src": "23793:10:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6791, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "23793:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6793, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "23793:10:6" - }, - { - "assignments": [ - 6795 - ], - "declarations": [ - { - "constant": false, - "id": 6795, - "name": "destinationAddress", - "nodeType": "VariableDeclaration", - "scope": 6852, - "src": "23817:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6794, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23817:7:6", - "stateMutability": "nonpayable", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6863, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6825, + "src": "22705:15:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "value": null, - "visibility": "internal" - } - ], - "id": 6796, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "23817:26:6" - }, - { - "assignments": [ - 6798 - ], - "declarations": [ - { - "constant": false, - "id": 6798, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 6852, - "src": "23857:8:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6797, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "23857:4:6", + { + "argumentTypes": null, + "id": 6864, + "name": "ERR_SUPERBLOCK_BAD_STATUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4523, + "src": "22722:25:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6799, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "23857:8:6" - }, - { - "assignments": [ - 6801 - ], - "declarations": [ - { - "constant": false, - "id": 6801, - "name": "assetGUID", - "nodeType": "VariableDeclaration", - "scope": 6852, - "src": "23879:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6800, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "23879:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6802, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "23879:16:6" - }, - { - "assignments": [ - 6804 - ], - "declarations": [ - { - "constant": false, - "id": 6804, - "name": "erc20ContractAddress", - "nodeType": "VariableDeclaration", - "scope": 6852, - "src": "23909:28:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6803, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23909:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6805, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "23909:28:6" - }, - { - "assignments": [ - 6807 - ], - "declarations": [ - { - "constant": false, - "id": 6807, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 6852, - "src": "23951:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 6806, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "23951:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6808, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "23951:15:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 6809, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6798, - "src": "23981:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6810, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6792, - "src": "23986:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6811, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6795, - "src": "23993:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6812, - "name": "assetGUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6801, - "src": "24013:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, + } + ], + "expression": { + "argumentTypes": [ { - "argumentTypes": null, - "id": 6813, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6807, - "src": "24024:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, { - "argumentTypes": null, - "id": 6814, - "name": "erc20ContractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6804, - "src": "24035:20:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 6815, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "23980:76:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", - "typeString": "tuple(uint256,uint256,address,uint32,uint8,address)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6817, - "name": "_txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6757, - "src": "24071:8:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 6816, - "name": "parseBurnTx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7036, - "src": "24059:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", - "typeString": "function (bytes memory) pure returns (uint256,uint256,address,uint32,uint8,address)" - } - }, - "id": 6818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24059:21:6", + "id": 6862, + "name": "ErrorSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "22689:15:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", - "typeString": "tuple(uint256,uint256,address,uint32,uint8,address)" + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" } }, - "src": "23980:100:6", + "id": 6865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22689:59:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6820, - "nodeType": "ExpressionStatement", - "src": "23980:100:6" + "id": 6866, + "nodeType": "EmitStatement", + "src": "22684:64:6" }, { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { + "id": 6867, + "name": "ERR_SUPERBLOCK_BAD_STATUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4523, + "src": "22769:25:6", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "id": 6823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6821, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6798, - "src": "24097:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24104:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "24097:8:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } }, - "falseBody": null, - "id": 6834, - "nodeType": "IfStatement", - "src": "24094:116:6", - "trueBody": { - "id": 6833, - "nodeType": "Block", - "src": "24106:104:6", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6826, - "name": "txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6777, - "src": "24154:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24146:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" - }, - "id": 6827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24146:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6828, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6798, - "src": "24163:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6824, - "name": "RelayTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5071, - "src": "24129:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 6829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24129:38:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6830, - "nodeType": "EmitStatement", - "src": "24124:43:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6831, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6798, - "src": "24192:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6775, - "id": 6832, - "nodeType": "Return", - "src": "24185:10:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6838, - "name": "txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6777, - "src": "24262:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6839, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6792, - "src": "24270:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6840, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6795, - "src": "24277:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6841, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "24297:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" - } - }, - "id": 6843, - "indexExpression": { - "argumentTypes": null, - "id": 6842, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6771, - "src": "24309:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24297:28:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" - } - }, - "id": 6844, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 7629, - "src": "24297:38:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6845, - "name": "erc20ContractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6804, - "src": "24337:20:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6846, - "name": "assetGUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6801, - "src": "24359:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 6847, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6807, - "src": "24370:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "expression": { - "argumentTypes": null, - "id": 6835, - "name": "syscoinERC20Manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5023, - "src": "24223:19:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", - "typeString": "contract SyscoinTransactionProcessor" - } - }, - "id": 6837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "processTransaction", - "nodeType": "MemberAccess", - "referencedDeclaration": 7512, - "src": "24223:38:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_uint32_$_t_uint8_$returns$__$", - "typeString": "function (uint256,uint256,address,address,address,uint32,uint8) external" - } - }, - "id": 6848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24223:157:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6849, - "nodeType": "ExpressionStatement", - "src": "24223:157:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6850, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6792, - "src": "24401:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6775, - "id": 6851, + "functionReturnParameters": 6831, + "id": 6868, "nodeType": "Return", - "src": "24394:12:6" + "src": "22762:32:6" } ] } }, + { + "expression": { + "argumentTypes": null, + "id": 6876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6871, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6846, + "src": "22814:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6873, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "22814:17:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6874, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "22834:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "SemiApproved", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "22834:19:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "src": "22814:39:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "id": 6877, + "nodeType": "ExpressionStatement", + "src": "22814:39:6" + }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24456:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24448:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" - }, - "id": 6857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24448:10:6", + "id": 6879, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6825, + "src": "22892:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26326,15 +26810,15 @@ }, { "argumentTypes": null, - "id": 6858, - "name": "ERR_RELAY_VERIFY", + "id": 6880, + "name": "_validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4670, - "src": "24460:16:6", + "referencedDeclaration": 6827, + "src": "22909:10:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } ], @@ -26345,22 +26829,22 @@ "typeString": "bytes32" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 6854, - "name": "RelayTransaction", + "id": 6878, + "name": "SemiApprovedSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5071, - "src": "24431:16:6", + "referencedDeclaration": 5056, + "src": "22869:22:6", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" } }, - "id": 6859, + "id": 6881, "isConstant": false, "isLValue": false, "isPure": false, @@ -26368,236 +26852,69 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "24431:46:6", + "src": "22869:51:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6860, + "id": 6882, "nodeType": "EmitStatement", - "src": "24426:51:6" + "src": "22864:56:6" }, { "expression": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 6861, - "name": "ERR_RELAY_VERIFY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4670, - "src": "24494:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6862, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "24493:18:6", + "id": 6883, + "name": "ERR_SUPERBLOCK_OK", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4517, + "src": "22937:17:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6775, - "id": 6863, + "functionReturnParameters": 6831, + "id": 6884, "nodeType": "Return", - "src": "24487:24:6" + "src": "22930:24:6" } ] }, "documentation": null, - "id": 6865, + "id": 6886, "implemented": true, "kind": "function", "modifiers": [], - "name": "relayTx", + "name": "semiApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 6772, + "id": 6828, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6757, - "name": "_txBytes", - "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23338:21:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6756, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "23338:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6759, - "name": "_txIndex", - "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23369:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6758, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "23369:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6762, - "name": "_txSiblings", - "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23392:25:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6760, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "23392:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6761, - "length": null, - "nodeType": "ArrayTypeName", - "src": "23392:6:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6764, - "name": "_syscoinBlockHeader", - "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23427:32:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6763, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "23427:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6766, - "name": "_syscoinBlockIndex", + "id": 6825, + "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23469:23:6", + "scope": 6886, + "src": "22244:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 6765, - "name": "uint", + "id": 6824, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23469:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6769, - "name": "_syscoinBlockSiblings", - "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23502:35:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6767, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "23502:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6768, - "length": null, - "nodeType": "ArrayTypeName", - "src": "23502:6:6", + "src": "22244:7:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, @@ -26605,44 +26922,45 @@ }, { "constant": false, - "id": 6771, - "name": "_superblockHash", + "id": 6827, + "name": "_validator", "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23547:23:6", + "scope": 6886, + "src": "22269:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 6770, - "name": "bytes32", + "id": 6826, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "23547:7:6", + "src": "22269:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "23328:248:6" + "src": "22243:45:6" }, "returnParameters": { - "id": 6775, + "id": 6831, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6774, + "id": 6830, "name": "", "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23593:4:6", + "scope": 6886, + "src": "22307:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26650,10 +26968,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6773, + "id": 6829, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "23593:4:6", + "src": "22307:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26663,191 +26981,670 @@ "visibility": "internal" } ], - "src": "23592:6:6" + "src": "22306:6:6" }, - "scope": 7493, - "src": "23312:1206:6", + "scope": 7851, + "src": "22223:738:6", "stateMutability": "nonpayable", - "superFunction": 7701, - "visibility": "public" + "superFunction": 8229, + "visibility": "external" }, { "body": { "id": 6948, "nodeType": "Block", - "src": "25517:844:6", + "src": "23522:645:6", "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6895, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "23536:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "23536:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 6897, + "name": "trustedClaimManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5086, + "src": "23550:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "23536:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6907, + "nodeType": "IfStatement", + "src": "23532:186:6", + "trueBody": { + "id": 6906, + "nodeType": "Block", + "src": "23571:147:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6900, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6888, + "src": "23606:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6901, + "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4601, + "src": "23623:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6899, + "name": "ErrorSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "23590:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 6902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23590:65:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6903, + "nodeType": "EmitStatement", + "src": "23585:70:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6904, + "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4601, + "src": "23676:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6894, + "id": 6905, + "nodeType": "Return", + "src": "23669:38:6" + } + ] + } + }, { "assignments": [ - 6887 + 6909 ], "declarations": [ { "constant": false, - "id": 6887, - "name": "txHash", + "id": 6909, + "name": "superblock", "nodeType": "VariableDeclaration", "scope": 6948, - "src": "25527:11:6", + "src": "23727:33:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { - "id": 6886, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "25527:4:6", + "contractScope": null, + "id": 6908, + "name": "SuperblockInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8137, + "src": "23727:14:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, "value": null, "visibility": "internal" } ], - "id": 6897, + "id": 6913, "initialValue": { "argumentTypes": null, - "arguments": [ - { + "baseExpression": { + "argumentTypes": null, + "id": 6910, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "23763:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 6912, + "indexExpression": { + "argumentTypes": null, + "id": 6911, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6888, + "src": "23775:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23763:28:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23727:64:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + }, + "id": 6918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "id": 6889, - "name": "_syscoinBlockHeader", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6874, - "src": "25557:19:6", + "expression": { + "argumentTypes": null, + "id": 6914, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6909, + "src": "23805:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6915, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "23805:17:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, - { + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { "argumentTypes": null, - "id": 6890, - "name": "_syscoinBlockIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "25578:18:6", + "expression": { + "argumentTypes": null, + "id": 6916, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "23826:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "InBattle", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "23826:15:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, - { + "src": "23805:36:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + }, + "id": 6923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "id": 6891, - "name": "_syscoinBlockSiblings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6879, - "src": "25598:21:6", + "expression": { + "argumentTypes": null, + "id": 6919, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6909, + "src": "23845:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6920, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "23845:17:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6921, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "23866:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "SemiApproved", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "23866:19:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, + "src": "23845:40:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "23805:80:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6933, + "nodeType": "IfStatement", + "src": "23801:221:6", + "trueBody": { + "id": 6932, + "nodeType": "Block", + "src": "23887:135:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6926, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6888, + "src": "23922:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6927, + "name": "ERR_SUPERBLOCK_BAD_STATUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4523, + "src": "23939:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6925, + "name": "ErrorSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "23906:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 6928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23906:59:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6929, + "nodeType": "EmitStatement", + "src": "23901:64:6" + }, { + "expression": { + "argumentTypes": null, + "id": 6930, + "name": "ERR_SUPERBLOCK_BAD_STATUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4523, + "src": "23986:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6894, + "id": 6931, + "nodeType": "Return", + "src": "23979:32:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 6939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 6892, - "name": "_superblockHash", + "id": 6934, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6881, - "src": "25621:15:6", + "referencedDeclaration": 6909, + "src": "24031:10:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - { + "id": 6936, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "24031:17:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 6893, - "name": "_txBytes", + "id": 6937, + "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6867, - "src": "25638:8:6", + "referencedDeclaration": 8118, + "src": "24051:6:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, + "id": 6938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Invalid", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "24051:14:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "src": "24031:34:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "id": 6940, + "nodeType": "ExpressionStatement", + "src": "24031:34:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ { "argumentTypes": null, - "id": 6894, - "name": "_txIndex", + "id": 6942, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6869, - "src": "25648:8:6", + "referencedDeclaration": 6888, + "src": "24098:15:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, { "argumentTypes": null, - "id": 6895, - "name": "_txSiblings", + "id": 6943, + "name": "_validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6872, - "src": "25658:11:6", + "referencedDeclaration": 6890, + "src": "24115:10:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 6888, - "name": "verifySPVProofs", + "id": 6941, + "name": "InvalidSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6755, - "src": "25541:15:6", + "referencedDeclaration": 5062, + "src": "24080:17:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256,uint256[] memory,bytes32,bytes memory,uint256,uint256[] memory) returns (uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" } }, - "id": 6896, + "id": 6944, "isConstant": false, "isLValue": false, "isPure": false, @@ -26855,567 +27652,517 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "25541:129:6", + "src": "24080:46:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "25527:143:6" + "id": 6945, + "nodeType": "EmitStatement", + "src": "24075:51:6" }, { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { + "id": 6946, + "name": "ERR_SUPERBLOCK_OK", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4517, + "src": "24143:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6894, + "id": 6947, + "nodeType": "Return", + "src": "24136:24:6" + } + ] + }, + "documentation": null, + "id": 6949, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "invalidate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6891, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6888, + "name": "_superblockHash", + "nodeType": "VariableDeclaration", + "scope": 6949, + "src": "23453:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6887, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23453:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6890, + "name": "_validator", + "nodeType": "VariableDeclaration", + "scope": 6949, + "src": "23478:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6889, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23478:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23452:45:6" + }, + "returnParameters": { + "id": 6894, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6893, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6949, + "src": "23516:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6892, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23516:4:6", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23515:6:6" + }, + "scope": 7851, + "src": "23433:734:6", + "stateMutability": "nonpayable", + "superFunction": 8238, + "visibility": "external" + }, + { + "body": { + "id": 7003, + "nodeType": "Block", + "src": "24984:498:6", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, - "id": 6900, + "id": 6983, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6898, - "name": "txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6887, - "src": "25684:6:6", + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6973, + "name": "_syscoinBlockHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6951, + "src": "25093:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6972, + "name": "dblShaFlip", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7565, + "src": "25082:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 6974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25082:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6975, + "name": "_syscoinBlockIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6953, + "src": "25115:18:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6976, + "name": "_syscoinBlockSiblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6956, + "src": "25135:21:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 6971, + "name": "computeMerkle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4971, + "src": "25068:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256[] memory) pure returns (uint256)" + } + }, + "id": 6977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25068:89:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6970, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25060:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 6978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25060:98:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, - "hexValue": "30", - "id": 6899, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6979, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "25174:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 6981, + "indexExpression": { + "argumentTypes": null, + "id": 6980, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "25186:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25174:28:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } + }, + "id": 6982, "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", + "isLValue": true, + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "25694:1:6", - "subdenomination": null, + "memberName": "blocksMerkleRoot", + "nodeType": "MemberAccess", + "referencedDeclaration": 8120, + "src": "25174:45:6", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, - "src": "25684:11:6", + "src": "25060:159:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6940, + "id": 6994, "nodeType": "IfStatement", - "src": "25680:558:6", + "src": "25056:324:6", "trueBody": { - "id": 6939, + "id": 6993, "nodeType": "Block", - "src": "25697:541:6", + "src": "25221:159:6", "statements": [ { - "assignments": [ - 6902 - ], - "declarations": [ - { - "constant": false, - "id": 6902, - "name": "bridgeTransferId", - "nodeType": "VariableDeclaration", - "scope": 6939, - "src": "25711:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6901, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "25711:6:6", + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25316:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6985, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25308:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 6987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25308:10:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "value": null, - "visibility": "internal" - } - ], - "id": 6903, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "25711:23:6" - }, - { - "assignments": [ - 6905 - ], - "declarations": [ - { - "constant": false, - "id": 6905, - "name": "ret", - "nodeType": "VariableDeclaration", - "scope": 6939, - "src": "25748:8:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6904, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "25748:4:6", + { + "argumentTypes": null, + "id": 6988, + "name": "ERR_SUPERBLOCK_MERKLE_ROOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4676, + "src": "25320:26:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6906, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "25748:8:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ + } + ], + "expression": { + "argumentTypes": [ { - "argumentTypes": null, - "id": 6907, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6905, - "src": "25771:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, { - "argumentTypes": null, - "id": 6908, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6902, - "src": "25776:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "id": 6909, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "25770:23:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$", - "typeString": "tuple(uint256,uint32)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6911, - "name": "_txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6867, - "src": "25808:8:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 6910, - "name": "parseMintTx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5795, - "src": "25796:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_uint32_$", - "typeString": "function (bytes memory) view returns (uint256,uint32)" - } - }, - "id": 6912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25796:21:6", + "id": 6984, + "name": "VerifyTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5074, + "src": "25290:17:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$", - "typeString": "tuple(uint256,uint32)" + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" } }, - "src": "25770:47:6", + "id": 6989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25290:57:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6914, - "nodeType": "ExpressionStatement", - "src": "25770:47:6" + "id": 6990, + "nodeType": "EmitStatement", + "src": "25285:62:6" }, { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6915, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6905, - "src": "25834:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25841:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "25834:8:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6928, - "nodeType": "IfStatement", - "src": "25831:116:6", - "trueBody": { - "id": 6927, - "nodeType": "Block", - "src": "25843:104:6", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6920, - "name": "txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6887, - "src": "25891:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25883:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" - }, - "id": 6921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25883:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6922, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6905, - "src": "25900:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6918, - "name": "RelayTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5071, - "src": "25866:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 6923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25866:38:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6924, - "nodeType": "EmitStatement", - "src": "25861:43:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6925, - "name": "ret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6905, - "src": "25929:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6885, - "id": 6926, - "nodeType": "Return", - "src": "25922:10:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6932, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6902, - "src": "26176:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6933, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "26194:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "26194:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 6929, - "name": "syscoinERC20Manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5023, - "src": "26130:19:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", - "typeString": "contract SyscoinTransactionProcessor" - } - }, - "id": 6931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "processCancelTransferFail", - "nodeType": "MemberAccess", - "referencedDeclaration": 7546, - "src": "26130:45:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint32_$_t_address_payable_$returns$__$", - "typeString": "function (uint32,address payable) external" - } - }, - "id": 6935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26130:75:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6936, - "nodeType": "ExpressionStatement", - "src": "26130:75:6" - }, - { - "expression": { + "expression": { "argumentTypes": null, "hexValue": "30", - "id": 6937, + "id": 6991, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "26226:1:6", + "src": "25368:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27423,51 +28170,119 @@ }, "value": "0" }, - "functionReturnParameters": 6885, - "id": 6938, + "functionReturnParameters": 6969, + "id": 6992, "nodeType": "Return", - "src": "26219:8:6" + "src": "25361:8:6" } ] } }, { - "eventCall": { + "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 6942, - "name": "ERR_CANCEL_TRANSFER_VERIFY", + "id": 6996, + "name": "_txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6960, + "src": "25405:8:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 6997, + "name": "_txIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4673, - "src": "26283:26:6", + "referencedDeclaration": 6962, + "src": "25415:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + { + "argumentTypes": null, + "id": 6998, + "name": "_txSiblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6965, + "src": "25425:11:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "argumentTypes": null, + "id": 6999, + "name": "_syscoinBlockHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6951, + "src": "25438:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 7000, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "25459:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } } ], "expression": { "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, { "typeIdentifier": "t_uint256", "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } ], - "id": 6941, - "name": "ChallengeCancelTransferRequest", + "id": 6995, + "name": "verifyTx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5075, - "src": "26252:30:6", + "referencedDeclaration": 7541, + "src": "25396:8:6", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256,uint256[] memory,bytes memory,bytes32) returns (uint256)" } }, - "id": 6943, + "id": 7001, "isConstant": false, "isLValue": false, "isPure": false, @@ -27475,72 +28290,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "26252:58:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6944, - "nodeType": "EmitStatement", - "src": "26247:63:6" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 6945, - "name": "ERR_CANCEL_TRANSFER_VERIFY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4673, - "src": "26327:26:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6946, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "26326:28:6", + "src": "25396:79:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6885, - "id": 6947, + "functionReturnParameters": 6969, + "id": 7002, "nodeType": "Return", - "src": "26320:34:6" + "src": "25389:86:6" } ] }, "documentation": null, - "id": 6949, + "id": 7004, "implemented": true, "kind": "function", "modifiers": [], - "name": "challengeCancelTransfer", + "name": "verifySPVProofs", "nodeType": "FunctionDefinition", "parameters": { - "id": 6882, + "id": 6966, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6867, - "name": "_txBytes", + "id": 6951, + "name": "_syscoinBlockHeader", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25256:21:6", + "scope": 7004, + "src": "24722:32:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -27548,10 +28328,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6866, + "id": 6950, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "25256:5:6", + "src": "24722:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -27562,11 +28342,11 @@ }, { "constant": false, - "id": 6869, - "name": "_txIndex", + "id": 6953, + "name": "_syscoinBlockIndex", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25287:13:6", + "scope": 7004, + "src": "24764:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27574,10 +28354,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6868, + "id": 6952, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "25287:4:6", + "src": "24764:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27588,11 +28368,11 @@ }, { "constant": false, - "id": 6872, - "name": "_txSiblings", + "id": 6956, + "name": "_syscoinBlockSiblings", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25310:25:6", + "scope": 7004, + "src": "24797:35:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -27601,19 +28381,19 @@ }, "typeName": { "baseType": { - "id": 6870, + "id": 6954, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "25310:4:6", + "src": "24797:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6871, + "id": 6955, "length": null, "nodeType": "ArrayTypeName", - "src": "25310:6:6", + "src": "24797:6:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -27624,11 +28404,37 @@ }, { "constant": false, - "id": 6874, - "name": "_syscoinBlockHeader", + "id": 6958, + "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25345:32:6", + "scope": 7004, + "src": "24842:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6957, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24842:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6960, + "name": "_txBytes", + "nodeType": "VariableDeclaration", + "scope": 7004, + "src": "24875:21:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -27636,10 +28442,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6873, + "id": 6959, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "25345:5:6", + "src": "24875:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -27650,11 +28456,11 @@ }, { "constant": false, - "id": 6876, - "name": "_syscoinBlockIndex", + "id": 6962, + "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25387:23:6", + "scope": 7004, + "src": "24906:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27662,10 +28468,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6875, + "id": 6961, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "25387:4:6", + "src": "24906:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27676,11 +28482,11 @@ }, { "constant": false, - "id": 6879, - "name": "_syscoinBlockSiblings", + "id": 6965, + "name": "_txSiblings", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25420:35:6", + "scope": 7004, + "src": "24929:25:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -27689,19 +28495,19 @@ }, "typeName": { "baseType": { - "id": 6877, + "id": 6963, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "25420:4:6", + "src": "24929:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6878, + "id": 6964, "length": null, "nodeType": "ArrayTypeName", - "src": "25420:6:6", + "src": "24929:6:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -27709,47 +28515,21 @@ }, "value": null, "visibility": "internal" - }, - { - "constant": false, - "id": 6881, - "name": "_superblockHash", - "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25465:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6880, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "25465:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" } ], - "src": "25246:248:6" + "src": "24712:248:6" }, "returnParameters": { - "id": 6885, + "id": 6969, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6884, + "id": 6968, "name": "", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25511:4:6", + "scope": 7004, + "src": "24978:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27757,10 +28537,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6883, + "id": 6967, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "25511:4:6", + "src": "24978:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27770,32 +28550,32 @@ "visibility": "internal" } ], - "src": "25510:6:6" + "src": "24977:6:6" }, - "scope": 7493, - "src": "25214:1147:6", + "scope": 7851, + "src": "24688:794:6", "stateMutability": "nonpayable", "superFunction": null, - "visibility": "public" + "visibility": "private" }, { "body": { - "id": 7035, + "id": 7113, "nodeType": "Block", - "src": "26737:686:6", + "src": "26665:919:6", "statements": [ { "assignments": [ - 6967 + 7026 ], "declarations": [ { "constant": false, - "id": 6967, - "name": "output_value", + "id": 7026, + "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26747:17:6", + "scope": 7113, + "src": "26675:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27803,10 +28583,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6966, + "id": 7025, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "26747:4:6", + "src": "26675:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27816,908 +28596,1207 @@ "visibility": "internal" } ], - "id": 6968, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "26747:17:6" - }, - { - "assignments": [ - 6970 - ], - "declarations": [ - { - "constant": false, - "id": 6970, - "name": "assetGUID", - "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26774:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "id": 7036, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7028, + "name": "_syscoinBlockHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7013, + "src": "26705:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } }, - "typeName": { - "id": 6969, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "26774:6:6", + { + "argumentTypes": null, + "id": 7029, + "name": "_syscoinBlockIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7015, + "src": "26726:18:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "value": null, - "visibility": "internal" - } - ], - "id": 6971, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "26774:16:6" - }, - { - "assignments": [ - 6973 - ], - "declarations": [ - { - "constant": false, - "id": 6973, - "name": "destinationAddress", - "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26800:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + { + "argumentTypes": null, + "id": 7030, + "name": "_syscoinBlockSiblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "26746:21:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } }, - "typeName": { - "id": 6972, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26800:7:6", - "stateMutability": "nonpayable", + { + "argumentTypes": null, + "id": 7031, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7020, + "src": "26769:15:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "value": null, - "visibility": "internal" - } - ], - "id": 6974, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "26800:26:6" - }, - { - "assignments": [ - 6976 - ], - "declarations": [ - { - "constant": false, - "id": 6976, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26836:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6975, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "26836:6:6", + { + "argumentTypes": null, + "id": 7032, + "name": "_txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7006, + "src": "26786:8:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "value": null, - "visibility": "internal" - } - ], - "id": 6977, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "26836:14:6" - }, - { - "assignments": [ - 6979 - ], - "declarations": [ - { - "constant": false, - "id": 6979, - "name": "erc20Address", - "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26860:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6978, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26860:7:6", - "stateMutability": "nonpayable", + { + "argumentTypes": null, + "id": 7033, + "name": "_txIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "26796:8:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "value": null, - "visibility": "internal" - } - ], - "id": 6980, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "26860:20:6" - }, - { - "assignments": [ - 6982 - ], - "declarations": [ - { - "constant": false, - "id": 6982, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26890:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 6981, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "26890:5:6", + { + "argumentTypes": null, + "id": 7034, + "name": "_txSiblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "26806:11:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6983, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "26890:15:6" - }, - { - "assignments": [ - 6985 - ], - "declarations": [ - { - "constant": false, - "id": 6985, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26915:8:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6984, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "26915:4:6", - "typeDescriptions": { + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6987, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26926:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "26915:12:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6988, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6976, - "src": "26937:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ + }, { - "argumentTypes": null, - "id": 6990, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6951, - "src": "26968:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" }, { - "argumentTypes": null, - "id": 6991, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "26977:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6989, - "name": "bytesToUint32Flipped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4830, - "src": "26947:20:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", - "typeString": "function (bytes memory,uint256) pure returns (uint32)" - } - }, - "id": 6992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26947:34:6", + "id": 7027, + "name": "verifySPVProofs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7004, + "src": "26689:15:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256,uint256[] memory,bytes32,bytes memory,uint256,uint256[] memory) returns (uint256)" } }, - "src": "26937:44:6", + "id": 7035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26689:129:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6994, - "nodeType": "ExpressionStatement", - "src": "26937:44:6" + "nodeType": "VariableDeclarationStatement", + "src": "26675:143:6" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 6997, + "id": 7039, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6995, - "name": "version", + "id": 7037, + "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6976, - "src": "26994:7:6", + "referencedDeclaration": 7026, + "src": "26832:6:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 6996, - "name": "SYSCOIN_TX_VERSION_ALLOCATION_BURN_TO_ETHEREUM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5012, - "src": "27005:46:6", + "hexValue": "30", + "id": 7038, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26842:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - "src": "26994:57:6", + "src": "26832:11:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7007, + "id": 7102, "nodeType": "IfStatement", - "src": "26991:181:6", + "src": "26828:655:6", "trueBody": { - "id": 7006, + "id": 7101, "nodeType": "Block", - "src": "27052:120:6", + "src": "26845:638:6", "statements": [ { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 6998, - "name": "ERR_PARSE_TX_SYS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5009, - "src": "27074:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "assignments": [ + 7041 + ], + "declarations": [ + { + "constant": false, + "id": 7041, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 7101, + "src": "26859:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - { - "argumentTypes": null, - "id": 6999, - "name": "output_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6967, - "src": "27092:12:6", + "typeName": { + "id": 7040, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26859:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - { - "argumentTypes": null, - "id": 7000, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6973, - "src": "27106:18:6", + "value": null, + "visibility": "internal" + } + ], + "id": 7042, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "26859:10:6" + }, + { + "assignments": [ + 7044 + ], + "declarations": [ + { + "constant": false, + "id": 7044, + "name": "destinationAddress", + "nodeType": "VariableDeclaration", + "scope": 7101, + "src": "26883:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7043, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26883:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - { - "argumentTypes": null, - "id": 7001, - "name": "assetGUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6970, - "src": "27126:9:6", + "value": null, + "visibility": "internal" + } + ], + "id": 7045, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "26883:26:6" + }, + { + "assignments": [ + 7047 + ], + "declarations": [ + { + "constant": false, + "id": 7047, + "name": "ret", + "nodeType": "VariableDeclaration", + "scope": 7101, + "src": "26923:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7046, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26923:4:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - { - "argumentTypes": null, - "id": 7002, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6982, - "src": "27137:9:6", + "value": null, + "visibility": "internal" + } + ], + "id": 7048, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "26923:8:6" + }, + { + "assignments": [ + 7050 + ], + "declarations": [ + { + "constant": false, + "id": 7050, + "name": "assetGUID", + "nodeType": "VariableDeclaration", + "scope": 7101, + "src": "26945:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 7049, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "26945:6:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - { - "argumentTypes": null, - "id": 7003, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6979, - "src": "27148:12:6", + "value": null, + "visibility": "internal" + } + ], + "id": 7051, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "26945:16:6" + }, + { + "assignments": [ + 7053 + ], + "declarations": [ + { + "constant": false, + "id": 7053, + "name": "erc20ContractAddress", + "nodeType": "VariableDeclaration", + "scope": 7101, + "src": "26975:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7052, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26975:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } - } - ], - "id": 7004, + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7054, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "26975:28:6" + }, + { + "assignments": [ + 7056 + ], + "declarations": [ + { + "constant": false, + "id": 7056, + "name": "precision", + "nodeType": "VariableDeclaration", + "scope": 7101, + "src": "27017:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 7055, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "27017:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7057, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "27017:15:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7068, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "27073:88:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", - "typeString": "tuple(uint256,uint256,address,uint32,uint8,address)" - } - }, - "functionReturnParameters": 6965, - "id": 7005, - "nodeType": "Return", - "src": "27066:95:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 7013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7008, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "27181:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7010, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6951, - "src": "27202:7:6", + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7058, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "27047:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7059, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7041, + "src": "27052:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7060, + "name": "destinationAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7044, + "src": "27059:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7061, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7050, + "src": "27079:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 7062, + "name": "precision", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7056, + "src": "27090:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 7063, + "name": "erc20ContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7053, + "src": "27101:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 7064, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "27046:76:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", + "typeString": "tuple(uint256,uint256,address,uint32,uint8,address)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7066, + "name": "_txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7006, + "src": "27137:8:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7065, + "name": "parseBurnTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7392, + "src": "27125:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", + "typeString": "function (bytes memory) pure returns (uint256,uint256,address,uint32,uint8,address)" + } + }, + "id": 7067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27125:21:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", + "typeString": "tuple(uint256,uint256,address,uint32,uint8,address)" + } + }, + "src": "27046:100:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - { + "id": 7069, + "nodeType": "ExpressionStatement", + "src": "27046:100:6" + }, + { + "condition": { "argumentTypes": null, - "hexValue": "34", - "id": 7011, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7072, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "27211:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" + "leftExpression": { + "argumentTypes": null, + "id": 7070, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "27163:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27170:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 7009, - "name": "getOpReturnPos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5733, - "src": "27187:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256)" - } - }, - "id": 7012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27187:26:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27181:32:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7014, - "nodeType": "ExpressionStatement", - "src": "27181:32:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 7025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 7015, - "name": "output_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6967, - "src": "27224:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7016, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6973, - "src": "27238:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7017, - "name": "assetGUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6970, - "src": "27258:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 7018, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6982, - "src": "27269:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 7019, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6979, - "src": "27280:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 7020, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "27223:70:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", - "typeString": "tuple(uint256,address,uint32,uint8,address)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7022, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6951, - "src": "27313:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 7023, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "27322:3:6", + "src": "27163:8:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } - ], - "id": 7021, - "name": "scanAssetDetails", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5518, - "src": "27296:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,address,uint32,uint8,address)" - } - }, - "id": 7024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27296:30:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", - "typeString": "tuple(uint256,address,uint32,uint8,address)" - } - }, - "src": "27223:103:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7026, - "nodeType": "ExpressionStatement", - "src": "27223:103:6" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27344:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 7028, - "name": "output_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6967, - "src": "27347:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "falseBody": null, + "id": 7083, + "nodeType": "IfStatement", + "src": "27160:116:6", + "trueBody": { + "id": 7082, + "nodeType": "Block", + "src": "27172:104:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7075, + "name": "txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7026, + "src": "27220:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7074, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "27212:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 7076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27212:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7077, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "27229:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7073, + "name": "RelayTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5080, + "src": "27195:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 7078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27195:38:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7079, + "nodeType": "EmitStatement", + "src": "27190:43:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7080, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "27258:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7024, + "id": 7081, + "nodeType": "Return", + "src": "27251:10:6" + } + ] } }, { - "argumentTypes": null, - "id": 7029, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6973, - "src": "27361:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7087, + "name": "txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7026, + "src": "27328:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7088, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7041, + "src": "27336:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7089, + "name": "destinationAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7044, + "src": "27343:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7090, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "27363:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 7092, + "indexExpression": { + "argumentTypes": null, + "id": 7091, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7020, + "src": "27375:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "27363:28:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } + }, + "id": 7093, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "submitter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8130, + "src": "27363:38:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7094, + "name": "erc20ContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7053, + "src": "27403:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7095, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7050, + "src": "27425:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 7096, + "name": "precision", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7056, + "src": "27436:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "expression": { + "argumentTypes": null, + "id": 7084, + "name": "syscoinERC20Manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5032, + "src": "27289:19:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", + "typeString": "contract SyscoinTransactionProcessor" + } + }, + "id": 7086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "processTransaction", + "nodeType": "MemberAccess", + "referencedDeclaration": 8001, + "src": "27289:38:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_uint32_$_t_uint8_$returns$__$", + "typeString": "function (uint256,uint256,address,address,address,uint32,uint8) external" + } + }, + "id": 7097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27289:157:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7098, + "nodeType": "ExpressionStatement", + "src": "27289:157:6" }, + { + "expression": { + "argumentTypes": null, + "id": 7099, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7041, + "src": "27467:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7024, + "id": 7100, + "nodeType": "Return", + "src": "27460:12:6" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ { "argumentTypes": null, - "id": 7030, - "name": "assetGUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6970, - "src": "27381:9:6", + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 7105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27522:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 7104, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "27514:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 7106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27514:10:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, { "argumentTypes": null, - "id": 7031, - "name": "precision", + "id": 7107, + "name": "ERR_RELAY_VERIFY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6982, - "src": "27392:9:6", + "referencedDeclaration": 4679, + "src": "27526:16:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7103, + "name": "RelayTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5080, + "src": "27497:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 7108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27497:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7109, + "nodeType": "EmitStatement", + "src": "27492:51:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ { "argumentTypes": null, - "id": 7032, - "name": "erc20Address", + "id": 7110, + "name": "ERR_RELAY_VERIFY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6979, - "src": "27403:12:6", + "referencedDeclaration": 4679, + "src": "27560:16:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], - "id": 7033, + "id": 7111, "isConstant": false, "isInlineArray": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "27343:73:6", + "src": "27559:18:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", - "typeString": "tuple(int_const 0,uint256,address,uint32,uint8,address)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "functionReturnParameters": 6965, - "id": 7034, + "functionReturnParameters": 7024, + "id": 7112, "nodeType": "Return", - "src": "27336:80:6" + "src": "27553:24:6" } ] }, "documentation": null, - "id": 7036, + "id": 7114, "implemented": true, "kind": "function", "modifiers": [], - "name": "parseBurnTx", + "name": "relayTx", "nodeType": "FunctionDefinition", "parameters": { - "id": 6952, + "id": 7021, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6951, - "name": "txBytes", + "id": 7006, + "name": "_txBytes", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26621:20:6", + "scope": 7114, + "src": "26404:21:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -28725,10 +29804,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6950, + "id": 7005, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "26621:5:6", + "src": "26404:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -28736,21 +29815,14 @@ }, "value": null, "visibility": "internal" - } - ], - "src": "26620:22:6" - }, - "returnParameters": { - "id": 6965, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 6954, - "name": "", + "id": 7008, + "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26688:4:6", + "scope": 7114, + "src": "26435:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28758,10 +29830,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6953, + "id": 7007, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "26688:4:6", + "src": "26435:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28772,25 +29844,35 @@ }, { "constant": false, - "id": 6956, - "name": "", + "id": 7011, + "name": "_txSiblings", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26694:4:6", + "scope": 7114, + "src": "26458:25:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" }, "typeName": { - "id": 6955, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "26694:4:6", + "baseType": { + "id": 7009, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26458:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7010, + "length": null, + "nodeType": "ArrayTypeName", + "src": "26458:6:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" } }, "value": null, @@ -28798,26 +29880,25 @@ }, { "constant": false, - "id": 6958, - "name": "", + "id": 7013, + "name": "_syscoinBlockHeader", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26700:7:6", + "scope": 7114, + "src": "26493:32:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 6957, - "name": "address", + "id": 7012, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "26700:7:6", - "stateMutability": "nonpayable", + "src": "26493:5:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "value": null, @@ -28825,25 +29906,25 @@ }, { "constant": false, - "id": 6960, - "name": "", + "id": 7015, + "name": "_syscoinBlockIndex", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26709:6:6", + "scope": 7114, + "src": "26535:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 6959, - "name": "uint32", + "id": 7014, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "26709:6:6", + "src": "26535:4:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, @@ -28851,84 +29932,126 @@ }, { "constant": false, - "id": 6962, - "name": "", + "id": 7018, + "name": "_syscoinBlockSiblings", + "nodeType": "VariableDeclaration", + "scope": 7114, + "src": "26568:35:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 7016, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26568:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7017, + "length": null, + "nodeType": "ArrayTypeName", + "src": "26568:6:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7020, + "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26717:5:6", + "scope": 7114, + "src": "26613:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 6961, - "name": "uint8", + "id": 7019, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "26717:5:6", + "src": "26613:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" - }, + } + ], + "src": "26394:248:6" + }, + "returnParameters": { + "id": 7024, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 6964, + "id": 7023, "name": "", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26724:7:6", + "scope": 7114, + "src": "26659:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 6963, - "name": "address", + "id": 7022, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "26724:7:6", - "stateMutability": "nonpayable", + "src": "26659:4:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "26687:45:6" + "src": "26658:6:6" }, - "scope": 7493, - "src": "26600:823:6", - "stateMutability": "pure", - "superFunction": null, + "scope": 7851, + "src": "26378:1206:6", + "stateMutability": "nonpayable", + "superFunction": 8202, "visibility": "public" }, { "body": { - "id": 7128, + "id": 7220, "nodeType": "Block", - "src": "27537:711:6", + "src": "28775:911:6", "statements": [ { "assignments": [ - 7046 + 7136 ], "declarations": [ { "constant": false, - "id": 7046, - "name": "n_inputs", + "id": 7136, + "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 7128, - "src": "27547:13:6", + "scope": 7220, + "src": "28785:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28936,10 +30059,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7045, + "id": 7135, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "27547:4:6", + "src": "28785:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28949,176 +30072,160 @@ "visibility": "internal" } ], - "id": 7047, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "27547:13:6" - }, - { - "assignments": [ - 7049 - ], - "declarations": [ - { - "constant": false, - "id": 7049, - "name": "script_len", - "nodeType": "VariableDeclaration", - "scope": 7128, - "src": "27570:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "id": 7146, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7138, + "name": "_syscoinBlockHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7123, + "src": "28815:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } }, - "typeName": { - "id": 7048, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "27570:4:6", + { + "argumentTypes": null, + "id": 7139, + "name": "_syscoinBlockIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7125, + "src": "28836:18:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "value": null, - "visibility": "internal" - } - ], - "id": 7050, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "27570:15:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 7058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 7051, - "name": "n_inputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "27596:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7052, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "27606:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "argumentTypes": null, + "id": 7140, + "name": "_syscoinBlockSiblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7128, + "src": "28856:21:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" } - ], - "id": 7053, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "27595:15:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7055, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7038, - "src": "27625:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 7056, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "27634:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + }, + { + "argumentTypes": null, + "id": 7141, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7130, + "src": "28879:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7054, - "name": "parseVarInt", + }, + { + "argumentTypes": null, + "id": 7142, + "name": "_txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "27613:11:6", + "referencedDeclaration": 7116, + "src": "28896:8:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "id": 7057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27613:25:6", + { + "argumentTypes": null, + "id": 7143, + "name": "_txIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7118, + "src": "28906:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7144, + "name": "_txSiblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7121, + "src": "28916:11:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 7137, + "name": "verifySPVProofs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7004, + "src": "28799:15:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256,uint256[] memory,bytes32,bytes memory,uint256,uint256[] memory) returns (uint256)" } }, - "src": "27595:43:6", + "id": 7145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28799:129:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 7059, - "nodeType": "ExpressionStatement", - "src": "27595:43:6" + "nodeType": "VariableDeclarationStatement", + "src": "28785:143:6" }, { "condition": { @@ -29127,286 +30234,175 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7062, + "id": 7149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7060, - "name": "n_inputs", + "id": 7147, + "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "27717:8:6", + "referencedDeclaration": 7136, + "src": "28942:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "==", + "operator": "!=", "rightExpression": { "argumentTypes": null, - "hexValue": "30783030", - "id": 7061, + "hexValue": "30", + "id": 7148, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27729:4:6", + "src": "28952:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, - "value": "0x00" + "value": "0" }, - "src": "27717:16:6", + "src": "28942:11:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7088, + "id": 7209, "nodeType": "IfStatement", - "src": "27714:257:6", + "src": "28938:647:6", "trueBody": { - "id": 7087, + "id": 7208, "nodeType": "Block", - "src": "27734:237:6", + "src": "28955:630:6", "statements": [ { - "expression": { - "argumentTypes": null, - "id": 7070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 7063, - "name": "n_inputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "27749:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7064, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "27759:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7065, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "27748:15:6", + "assignments": [ + 7151 + ], + "declarations": [ + { + "constant": false, + "id": 7151, + "name": "ret", + "nodeType": "VariableDeclaration", + "scope": 7208, + "src": "28969:8:6", + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7067, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7038, - "src": "27778:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 7068, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "27787:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7066, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "27766:11:6", + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7150, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28969:4:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 7069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27766:25:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "27748:43:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "value": null, + "visibility": "internal" } - }, - "id": 7071, - "nodeType": "ExpressionStatement", - "src": "27748:43:6" + ], + "id": 7152, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "28969:8:6" }, { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7073, - "name": "n_inputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "27821:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783030", - "id": 7074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27833:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x00" - }, - "src": "27821:16:6", + "assignments": [ + 7154 + ], + "declarations": [ + { + "constant": false, + "id": 7154, + "name": "assetGUID", + "nodeType": "VariableDeclaration", + "scope": 7208, + "src": "28991:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 7153, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "28991:6:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } - ], - "id": 7072, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "27813:7:6", + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7155, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "28991:16:6" + }, + { + "assignments": [ + 7157 + ], + "declarations": [ + { + "constant": false, + "id": 7157, + "name": "erc20ContractAddress", + "nodeType": "VariableDeclaration", + "scope": 7208, + "src": "29021:28:6", + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 7076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27813:25:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29021:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" } - }, - "id": 7077, - "nodeType": "ExpressionStatement", - "src": "27813:25:6" + ], + "id": 7158, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "29021:28:6" }, { "expression": { "argumentTypes": null, - "id": 7085, + "id": 7166, "isConstant": false, "isLValue": false, "isPure": false, @@ -29416,12 +30412,12 @@ "components": [ { "argumentTypes": null, - "id": 7078, - "name": "n_inputs", + "id": 7159, + "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "27918:8:6", + "referencedDeclaration": 7151, + "src": "29064:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29429,29 +30425,42 @@ }, { "argumentTypes": null, - "id": 7079, - "name": "pos", + "id": 7160, + "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "27928:3:6", + "referencedDeclaration": 7154, + "src": "29069:9:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 7161, + "name": "erc20ContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7157, + "src": "29080:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } } ], - "id": 7080, + "id": 7162, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "27917:15:6", + "src": "29063:38:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$_t_address_$", + "typeString": "tuple(uint256,uint32,address)" } }, "nodeType": "Assignment", @@ -29461,29 +30470,16 @@ "arguments": [ { "argumentTypes": null, - "id": 7082, - "name": "txBytes", + "id": 7164, + "name": "_txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7038, - "src": "27947:7:6", + "referencedDeclaration": 7116, + "src": "29117:8:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } - }, - { - "argumentTypes": null, - "id": 7083, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "27956:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } } ], "expression": { @@ -29491,24 +30487,20 @@ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } ], - "id": 7081, - "name": "parseVarInt", + "id": 7163, + "name": "parseAssetTx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "27935:11:6", + "referencedDeclaration": 5897, + "src": "29104:12:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_uint32_$_t_address_$", + "typeString": "function (bytes memory) view returns (uint256,uint32,address)" } }, - "id": 7084, + "id": 7165, "isConstant": false, "isLValue": false, "isPure": false, @@ -29516,253 +30508,376 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "27935:25:6", + "src": "29104:22:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$_t_address_$", + "typeString": "tuple(uint256,uint32,address)" } }, - "src": "27917:43:6", + "src": "29063:63:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7086, + "id": 7167, "nodeType": "ExpressionStatement", - "src": "27917:43:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ + "src": "29063:63:6" + }, { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "condition": { "argumentTypes": null, - "id": 7090, - "name": "n_inputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "27988:8:6", - "typeDescriptions": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7091, + }, + "id": 7170, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "27999:3:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" + "leftExpression": { + "argumentTypes": null, + "id": 7168, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7151, + "src": "29143:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "value": "100" - }, - "src": "27988:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 7089, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "27980:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 7093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27980:23:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7094, - "nodeType": "ExpressionStatement", - "src": "27980:23:6" - }, - { - "body": { - "id": 7124, - "nodeType": "Block", - "src": "28050:171:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7105, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "28064:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { "argumentTypes": null, - "hexValue": "3336", - "id": 7106, + "hexValue": "30", + "id": 7169, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28071:2:6", + "src": "29150:1:6", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_36_by_1", - "typeString": "int_const 36" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "value": "36" + "value": "0" }, - "src": "28064:9:6", + "src": "29143:8:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 7108, - "nodeType": "ExpressionStatement", - "src": "28064:9:6" + "falseBody": null, + "id": 7181, + "nodeType": "IfStatement", + "src": "29140:116:6", + "trueBody": { + "id": 7180, + "nodeType": "Block", + "src": "29152:104:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7173, + "name": "txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7136, + "src": "29200:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29192:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 7174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29192:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7175, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7151, + "src": "29209:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7171, + "name": "RelayTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5080, + "src": "29175:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 7176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29175:38:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7177, + "nodeType": "EmitStatement", + "src": "29170:43:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7178, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7151, + "src": "29238:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7134, + "id": 7179, + "nodeType": "Return", + "src": "29231:10:6" + } + ] + } }, { - "expression": { + "assignments": [ + 7183 + ], + "declarations": [ + { + "constant": false, + "id": 7183, + "name": "height", + "nodeType": "VariableDeclaration", + "scope": 7208, + "src": "29269:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 7182, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "29269:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7190, + "initialValue": { "argumentTypes": null, - "id": 7116, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 7189, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, - "components": [ - { + "expression": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "id": 7109, - "name": "script_len", + "id": 7184, + "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7049, - "src": "28106:10:6", + "referencedDeclaration": 5028, + "src": "29285:11:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - { + "id": 7186, + "indexExpression": { "argumentTypes": null, - "id": 7110, - "name": "pos", + "id": 7185, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "28118:3:6", + "referencedDeclaration": 7130, + "src": "29297:15:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29285:28:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } - ], - "id": 7111, + }, + "id": 7187, "isConstant": false, - "isInlineArray": false, "isLValue": true, "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "28105:17:6", + "lValueRequested": false, + "memberName": "height", + "nodeType": "MemberAccess", + "referencedDeclaration": 8134, + "src": "29285:35:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3630", + "id": 7188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29321:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + }, + "value": "60" + }, + "src": "29285:38:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29269:54:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7191, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7183, + "src": "29337:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "nodeType": "Assignment", - "operator": "=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7113, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7038, - "src": "28137:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 7114, - "name": "pos", + "id": 7193, + "name": "_syscoinBlockIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "28146:3:6", + "referencedDeclaration": 7125, + "src": "29354:18:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29771,311 +30886,366 @@ ], "expression": { "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], - "id": 7112, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "28125:11:6", + "id": 7192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29347:6:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" - } + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": "uint32" }, - "id": 7115, + "id": 7194, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "28125:25:6", + "src": "29347:26:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "src": "28105:45:6", + "src": "29337:36:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 7117, + "id": 7196, "nodeType": "ExpressionStatement", - "src": "28105:45:6" + "src": "29337:36:6" }, { "expression": { "argumentTypes": null, - "id": 7122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7118, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "28164:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "arguments": [ + { "argumentTypes": null, - "id": 7119, - "name": "script_len", + "id": 7200, + "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7049, - "src": "28171:10:6", + "referencedDeclaration": 7136, + "src": "29504:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { + { "argumentTypes": null, - "hexValue": "34", - "id": 7120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28184:1:6", - "subdenomination": null, + "id": 7201, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7154, + "src": "29512:9:6", "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 7202, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7183, + "src": "29523:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 7203, + "name": "erc20ContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7157, + "src": "29531:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "value": "4" + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 7197, + "name": "syscoinERC20Manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5032, + "src": "29471:19:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", + "typeString": "contract SyscoinTransactionProcessor" + } }, - "src": "28171:14:6", + "id": 7199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "processAsset", + "nodeType": "MemberAccess", + "referencedDeclaration": 8046, + "src": "29471:32:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint32_$_t_uint32_$_t_address_$returns$__$", + "typeString": "function (uint256,uint32,uint32,address) external" } }, - "src": "28164:21:6", + "id": 7204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29471:81:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 7123, + "id": 7205, "nodeType": "ExpressionStatement", - "src": "28164:21:6" + "src": "29471:81:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29573:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 7134, + "id": 7207, + "nodeType": "Return", + "src": "29566:8:6" } ] - }, - "condition": { + } + }, + { + "eventCall": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7099, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7096, - "src": "28031:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 7100, - "name": "n_inputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "28035:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28031:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7125, - "initializationExpression": { - "assignments": [ - 7096 - ], - "declarations": [ + "arguments": [ { - "constant": false, - "id": 7096, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 7125, - "src": "28019:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7095, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "28019:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 7212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29624:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 7211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29616:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" }, - "value": null, - "visibility": "internal" - } - ], - "id": 7098, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7097, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28028:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "id": 7213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29616:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "28019:10:6" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "28045:3:6", - "subExpression": { + { "argumentTypes": null, - "id": 7102, - "name": "i", + "id": 7214, + "name": "ERR_RELAY_VERIFY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7096, - "src": "28045:1:6", + "referencedDeclaration": 4679, + "src": "29628:16:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7210, + "name": "RelayTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5080, + "src": "29599:16:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" } }, - "id": 7104, - "nodeType": "ExpressionStatement", - "src": "28045:3:6" + "id": 7215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29599:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } }, - "nodeType": "ForStatement", - "src": "28014:207:6" + "id": 7216, + "nodeType": "EmitStatement", + "src": "29594:51:6" }, { "expression": { "argumentTypes": null, - "id": 7126, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "28238:3:6", + "components": [ + { + "argumentTypes": null, + "id": 7217, + "name": "ERR_RELAY_VERIFY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4679, + "src": "29662:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7218, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "29661:18:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7044, - "id": 7127, + "functionReturnParameters": 7134, + "id": 7219, "nodeType": "Return", - "src": "28231:10:6" + "src": "29655:24:6" } ] }, "documentation": null, - "id": 7129, + "id": 7221, "implemented": true, "kind": "function", "modifiers": [], - "name": "skipInputs", + "name": "relayAssetTx", "nodeType": "FunctionDefinition", "parameters": { - "id": 7041, + "id": 7131, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7038, - "name": "txBytes", + "id": 7116, + "name": "_txBytes", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "27449:20:6", + "scope": 7221, + "src": "28514:21:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -30083,10 +31253,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7037, + "id": 7115, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "27449:5:6", + "src": "28514:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -30097,11 +31267,11 @@ }, { "constant": false, - "id": 7040, - "name": "pos", + "id": 7118, + "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "27471:8:6", + "scope": 7221, + "src": "28545:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30109,10 +31279,98 @@ "typeString": "uint256" }, "typeName": { - "id": 7039, + "id": 7117, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28545:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7121, + "name": "_txSiblings", + "nodeType": "VariableDeclaration", + "scope": 7221, + "src": "28568:25:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 7119, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28568:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7120, + "length": null, + "nodeType": "ArrayTypeName", + "src": "28568:6:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7123, + "name": "_syscoinBlockHeader", + "nodeType": "VariableDeclaration", + "scope": 7221, + "src": "28603:32:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7122, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "28603:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7125, + "name": "_syscoinBlockIndex", + "nodeType": "VariableDeclaration", + "scope": 7221, + "src": "28645:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7124, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "27471:4:6", + "src": "28645:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30120,21 +31378,83 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 7128, + "name": "_syscoinBlockSiblings", + "nodeType": "VariableDeclaration", + "scope": 7221, + "src": "28678:35:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 7126, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28678:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7127, + "length": null, + "nodeType": "ArrayTypeName", + "src": "28678:6:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7130, + "name": "_superblockHash", + "nodeType": "VariableDeclaration", + "scope": 7221, + "src": "28723:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7129, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "28723:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "27448:32:6" + "src": "28504:248:6" }, "returnParameters": { - "id": 7044, + "id": 7134, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7043, + "id": 7133, "name": "", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "27527:4:6", + "scope": 7221, + "src": "28769:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30142,10 +31462,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7042, + "id": 7132, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "27527:4:6", + "src": "28769:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30155,32 +31475,32 @@ "visibility": "internal" } ], - "src": "27526:6:6" + "src": "28768:6:6" }, - "scope": 7493, - "src": "27429:819:6", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" + "scope": 7851, + "src": "28483:1203:6", + "stateMutability": "nonpayable", + "superFunction": 8311, + "visibility": "public" }, { "body": { - "id": 7182, + "id": 7304, "nodeType": "Block", - "src": "29171:455:6", + "src": "30685:844:6", "statements": [ { "assignments": [ - 7146 + 7243 ], "declarations": [ { "constant": false, - "id": 7146, + "id": 7243, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 7182, - "src": "29181:11:6", + "scope": 7304, + "src": "30695:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30188,10 +31508,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7145, + "id": 7242, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "29181:4:6", + "src": "30695:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30201,22 +31521,100 @@ "visibility": "internal" } ], - "id": 7150, + "id": 7253, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7148, + "id": 7245, + "name": "_syscoinBlockHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7230, + "src": "30725:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 7246, + "name": "_syscoinBlockIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7232, + "src": "30746:18:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7247, + "name": "_syscoinBlockSiblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7235, + "src": "30766:21:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "argumentTypes": null, + "id": 7248, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7237, + "src": "30789:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7249, "name": "_txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7131, - "src": "29206:8:6", + "referencedDeclaration": 7223, + "src": "30806:8:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } + }, + { + "argumentTypes": null, + "id": 7250, + "name": "_txIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7225, + "src": "30816:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7251, + "name": "_txSiblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7228, + "src": "30826:11:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } } ], "expression": { @@ -30224,20 +31622,44 @@ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" } ], - "id": 7147, - "name": "dblShaFlip", + "id": 7244, + "name": "verifySPVProofs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7207, - "src": "29195:10:6", + "referencedDeclaration": 7004, + "src": "30709:15:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory) pure returns (uint256)" + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256,uint256[] memory,bytes32,bytes memory,uint256,uint256[] memory) returns (uint256)" } }, - "id": 7149, + "id": 7252, "isConstant": false, "isLValue": false, "isPure": false, @@ -30245,14 +31667,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "29195:20:6", + "src": "30709:129:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "29181:34:6" + "src": "30695:143:6" }, { "condition": { @@ -30261,167 +31683,522 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7154, + "id": 7256, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7151, - "name": "_txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7131, - "src": "29230:8:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 7152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "29230:15:6", + "id": 7254, + "name": "txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7243, + "src": "30852:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "==", + "operator": "!=", "rightExpression": { "argumentTypes": null, - "hexValue": "3634", - "id": 7153, + "hexValue": "30", + "id": 7255, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "29249:2:6", + "src": "30862:1:6", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "value": "64" + "value": "0" }, - "src": "29230:21:6", + "src": "30852:11:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7165, + "id": 7296, "nodeType": "IfStatement", - "src": "29226:163:6", + "src": "30848:558:6", "trueBody": { - "id": 7164, + "id": 7295, "nodeType": "Block", - "src": "29253:136:6", + "src": "30865:541:6", "statements": [ { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7157, - "name": "txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7146, - "src": "29333:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "29325:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" - }, - "id": 7158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29325:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "assignments": [ + 7258 + ], + "declarations": [ + { + "constant": false, + "id": 7258, + "name": "bridgeTransferId", + "nodeType": "VariableDeclaration", + "scope": 7295, + "src": "30879:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, - { - "argumentTypes": null, - "id": 7159, - "name": "ERR_TX_64BYTE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4664, - "src": "29342:13:6", + "typeName": { + "id": 7257, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "30879:6:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7259, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "30879:23:6" + }, + { + "assignments": [ + 7261 + ], + "declarations": [ + { + "constant": false, + "id": 7261, + "name": "ret", + "nodeType": "VariableDeclaration", + "scope": 7295, + "src": "30916:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7260, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30916:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7262, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "30916:8:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7263, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7261, + "src": "30939:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7264, + "name": "bridgeTransferId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7258, + "src": "30944:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } } ], - "id": 7155, - "name": "VerifyTransaction", + "id": 7265, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "30938:23:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$", + "typeString": "tuple(uint256,uint32)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7267, + "name": "_txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7223, + "src": "30976:8:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7266, + "name": "parseMintTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5810, + "src": "30964:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_uint32_$", + "typeString": "function (bytes memory) view returns (uint256,uint32)" + } + }, + "id": 7268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30964:21:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$", + "typeString": "tuple(uint256,uint32)" + } + }, + "src": "30938:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7270, + "nodeType": "ExpressionStatement", + "src": "30938:47:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7271, + "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5065, - "src": "29307:17:6", + "referencedDeclaration": 7261, + "src": "31002:3:6", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31009:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "31002:8:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7284, + "nodeType": "IfStatement", + "src": "30999:116:6", + "trueBody": { + "id": 7283, + "nodeType": "Block", + "src": "31011:104:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7276, + "name": "txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7243, + "src": "31059:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31051:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 7277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "31051:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7278, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7261, + "src": "31068:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7274, + "name": "RelayTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5080, + "src": "31034:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 7279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "31034:38:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7280, + "nodeType": "EmitStatement", + "src": "31029:43:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7281, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7261, + "src": "31097:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7241, + "id": 7282, + "nodeType": "Return", + "src": "31090:10:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7288, + "name": "bridgeTransferId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7258, + "src": "31344:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7289, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "31362:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "31362:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "id": 7285, + "name": "syscoinERC20Manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5032, + "src": "31298:19:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", + "typeString": "contract SyscoinTransactionProcessor" + } + }, + "id": 7287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "processCancelTransferFail", + "nodeType": "MemberAccess", + "referencedDeclaration": 8035, + "src": "31298:45:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint32_$_t_address_payable_$returns$__$", + "typeString": "function (uint32,address payable) external" } }, - "id": 7160, + "id": 7291, "isConstant": false, "isLValue": false, "isPure": false, @@ -30429,28 +32206,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "29307:49:6", + "src": "31298:75:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7161, - "nodeType": "EmitStatement", - "src": "29302:54:6" + "id": 7292, + "nodeType": "ExpressionStatement", + "src": "31298:75:6" }, { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 7162, + "id": 7293, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "29377:1:6", + "src": "31394:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30458,250 +32235,124 @@ }, "value": "0" }, - "functionReturnParameters": 7144, - "id": 7163, + "functionReturnParameters": 7241, + "id": 7294, "nodeType": "Return", - "src": "29370:8:6" + "src": "31387:8:6" } ] } }, { - "condition": { + "eventCall": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7167, - "name": "txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7146, - "src": "29420:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7168, - "name": "_txIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7133, - "src": "29428:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7169, - "name": "_siblings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7136, - "src": "29438:9:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 7170, - "name": "_txBlockHeaderBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "29449:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 7171, - "name": "_txsuperblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7140, - "src": "29470:17:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7166, - "name": "helperVerifyHash", + "arguments": [ + { + "argumentTypes": null, + "id": 7298, + "name": "ERR_CANCEL_TRANSFER_VERIFY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7284, - "src": "29403:16:6", + "referencedDeclaration": 4682, + "src": "31451:26:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256[] memory,bytes memory,bytes32) returns (uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 7172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29403:85:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 7173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29492:1:6", - "subdenomination": null, + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7297, + "name": "ChallengeCancelTransferRequest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5084, + "src": "31420:30:6", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } }, - "src": "29403:90:6", + "id": 7299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "31420:58:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "falseBody": { - "id": 7180, - "nodeType": "Block", - "src": "29539:81:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7178, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29608:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 7144, - "id": 7179, - "nodeType": "Return", - "src": "29601:8:6" - } - ] - }, - "id": 7181, - "nodeType": "IfStatement", - "src": "29399:221:6", - "trueBody": { - "id": 7177, - "nodeType": "Block", - "src": "29495:38:6", - "statements": [ + "id": 7300, + "nodeType": "EmitStatement", + "src": "31415:63:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ { - "expression": { - "argumentTypes": null, - "id": 7175, - "name": "txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7146, - "src": "29516:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7144, - "id": 7176, - "nodeType": "Return", - "src": "29509:13:6" + "argumentTypes": null, + "id": 7301, + "name": "ERR_CANCEL_TRANSFER_VERIFY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4682, + "src": "31495:26:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - ] - } + ], + "id": 7302, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "31494:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7241, + "id": 7303, + "nodeType": "Return", + "src": "31488:34:6" } ] }, "documentation": null, - "id": 7183, + "id": 7305, "implemented": true, "kind": "function", "modifiers": [], - "name": "verifyTx", + "name": "challengeCancelTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 7141, + "id": 7238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7131, + "id": 7223, "name": "_txBytes", "nodeType": "VariableDeclaration", - "scope": 7183, - "src": "28987:21:6", + "scope": 7305, + "src": "30424:21:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -30709,10 +32360,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7130, + "id": 7222, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "28987:5:6", + "src": "30424:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -30723,11 +32374,11 @@ }, { "constant": false, - "id": 7133, + "id": 7225, "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 7183, - "src": "29018:13:6", + "scope": 7305, + "src": "30455:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30735,10 +32386,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7132, + "id": 7224, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "29018:4:6", + "src": "30455:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30749,11 +32400,11 @@ }, { "constant": false, - "id": 7136, - "name": "_siblings", + "id": 7228, + "name": "_txSiblings", "nodeType": "VariableDeclaration", - "scope": 7183, - "src": "29041:23:6", + "scope": 7305, + "src": "30478:25:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -30762,19 +32413,19 @@ }, "typeName": { "baseType": { - "id": 7134, + "id": 7226, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "29041:4:6", + "src": "30478:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7135, + "id": 7227, "length": null, "nodeType": "ArrayTypeName", - "src": "29041:6:6", + "src": "30478:6:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30785,11 +32436,11 @@ }, { "constant": false, - "id": 7138, - "name": "_txBlockHeaderBytes", + "id": 7230, + "name": "_syscoinBlockHeader", "nodeType": "VariableDeclaration", - "scope": 7183, - "src": "29074:32:6", + "scope": 7305, + "src": "30513:32:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -30797,10 +32448,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7137, + "id": 7229, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "29074:5:6", + "src": "30513:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -30811,400 +32462,106 @@ }, { "constant": false, - "id": 7140, - "name": "_txsuperblockHash", + "id": 7232, + "name": "_syscoinBlockIndex", "nodeType": "VariableDeclaration", - "scope": 7183, - "src": "29116:25:6", + "scope": 7305, + "src": "30555:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 7139, - "name": "bytes32", + "id": 7231, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "29116:7:6", + "src": "30555:4:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" - } - ], - "src": "28977:170:6" - }, - "returnParameters": { - "id": 7144, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 7143, - "name": "", + "id": 7235, + "name": "_syscoinBlockSiblings", "nodeType": "VariableDeclaration", - "scope": 7183, - "src": "29165:4:6", + "scope": 7305, + "src": "30588:35:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" }, "typeName": { - "id": 7142, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "29165:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "29164:6:6" - }, - "scope": 7493, - "src": "28960:666:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 7206, - "nodeType": "Block", - "src": "29880:105:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7198, - "name": "_dataBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7185, - "src": "29962:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 7196, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10171, - "src": "29945:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 7197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "29945:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 7199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29945:28:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 7195, - "name": "sha256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10193, - "src": "29938:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 7200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29938:36:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 7193, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10171, - "src": "29921:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 7194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "29921:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 7201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29921:54:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 7192, - "name": "sha256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10193, - "src": "29914:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 7202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29914:62:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "29909:4:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint" - }, - "id": 7203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29909:68:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7190, - "name": "flip32Bytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4839, - "src": "29897:11:6", + "baseType": { + "id": 7233, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30588:4:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 7204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "29897:81:6", + "id": 7234, + "length": null, + "nodeType": "ArrayTypeName", + "src": "30588:6:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" } }, - "functionReturnParameters": 7189, - "id": 7205, - "nodeType": "Return", - "src": "29890:88:6" - } - ] - }, - "documentation": null, - "id": 7207, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "dblShaFlip", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7186, - "nodeType": "ParameterList", - "parameters": [ + "value": null, + "visibility": "internal" + }, { "constant": false, - "id": 7185, - "name": "_dataBytes", + "id": 7237, + "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7207, - "src": "29828:23:6", + "scope": 7305, + "src": "30633:23:6", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 7184, - "name": "bytes", + "id": 7236, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "29828:5:6", + "src": "30633:7:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], - "src": "29827:25:6" + "src": "30414:248:6" }, "returnParameters": { - "id": 7189, + "id": 7241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7188, + "id": 7240, "name": "", "nodeType": "VariableDeclaration", - "scope": 7207, - "src": "29874:4:6", + "scope": 7305, + "src": "30679:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31212,10 +32569,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7187, + "id": 7239, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "29874:4:6", + "src": "30679:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31225,32 +32582,32 @@ "visibility": "internal" } ], - "src": "29873:6:6" + "src": "30678:6:6" }, - "scope": 7493, - "src": "29808:177:6", - "stateMutability": "pure", + "scope": 7851, + "src": "30382:1147:6", + "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 7222, + "id": 7391, "nodeType": "Block", - "src": "30320:155:6", + "src": "31905:686:6", "statements": [ { "assignments": [ - 7215 + 7323 ], "declarations": [ { "constant": false, - "id": 7215, - "name": "merkle", + "id": 7323, + "name": "output_value", "nodeType": "VariableDeclaration", - "scope": 7222, - "src": "30330:11:6", + "scope": 7391, + "src": "31915:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31258,10 +32615,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7214, + "id": 7322, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "30330:4:6", + "src": "31915:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31271,414 +32628,210 @@ "visibility": "internal" } ], - "id": 7216, + "id": 7324, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "30330:11:6" + "src": "31915:17:6" }, { - "externalReferences": [ - { - "merkle": { - "declaration": 7215, - "isOffset": false, - "isSlot": false, - "src": "30374:6:6", - "valueSize": 1 - } - }, + "assignments": [ + 7326 + ], + "declarations": [ { - "_blockHeader": { - "declaration": 7209, - "isOffset": false, - "isSlot": false, - "src": "30398:12:6", - "valueSize": 1 - } + "constant": false, + "id": 7326, + "name": "assetGUID", + "nodeType": "VariableDeclaration", + "scope": 7391, + "src": "31942:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 7325, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "31942:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" } ], - "id": 7217, - "nodeType": "InlineAssembly", - "operations": "{\n merkle := mload(add(add(_blockHeader, 32), 0x24))\n}", - "src": "30351:82:6" + "id": 7327, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "31942:16:6" }, { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7219, - "name": "merkle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7215, - "src": "30461:6:6", + "assignments": [ + 7329 + ], + "declarations": [ + { + "constant": false, + "id": 7329, + "name": "destinationAddress", + "nodeType": "VariableDeclaration", + "scope": 7391, + "src": "31968:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31968:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "id": 7218, - "name": "flip32Bytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4839, - "src": "30449:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 7220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "30449:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + }, + "value": null, + "visibility": "internal" } - }, - "functionReturnParameters": 7213, - "id": 7221, - "nodeType": "Return", - "src": "30442:26:6" - } - ] - }, - "documentation": null, - "id": 7223, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getHeaderMerkleRoot", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7209, - "name": "_blockHeader", - "nodeType": "VariableDeclaration", - "scope": 7223, - "src": "30266:25:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7208, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "30266:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30265:27:6" - }, - "returnParameters": { - "id": 7213, - "nodeType": "ParameterList", - "parameters": [ + ], + "id": 7330, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "31968:26:6" + }, { - "constant": false, - "id": 7212, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7223, - "src": "30314:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7211, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "30314:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "assignments": [ + 7332 + ], + "declarations": [ + { + "constant": false, + "id": 7332, + "name": "version", + "nodeType": "VariableDeclaration", + "scope": 7391, + "src": "32004:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 7331, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "32004:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "30313:6:6" - }, - "scope": 7493, - "src": "30237:238:6", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 7283, - "nodeType": "Block", - "src": "31684:465:6", - "statements": [ + ], + "id": 7333, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "32004:14:6" + }, { - "condition": { - "argumentTypes": null, - "id": 7242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "31699:30:6", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7240, - "name": "_txsuperblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7234, - "src": "31711:17:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7239, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7453, - "src": "31700:10:6", + "assignments": [ + 7335 + ], + "declarations": [ + { + "constant": false, + "id": 7335, + "name": "erc20Address", + "nodeType": "VariableDeclaration", + "scope": 7391, + "src": "32028:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "32028:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 7241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31700:29:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "value": null, + "visibility": "internal" } - }, - "falseBody": null, - "id": 7254, - "nodeType": "IfStatement", - "src": "31695:144:6", - "trueBody": { - "id": 7253, - "nodeType": "Block", - "src": "31731:108:6", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7245, - "name": "_txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7225, - "src": "31776:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31768:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" - }, - "id": 7246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31768:16:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 7247, - "name": "ERR_CHAIN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4655, - "src": "31786:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7243, - "name": "VerifyTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5065, - "src": "31750:17:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 7248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31750:46:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7249, - "nodeType": "EmitStatement", - "src": "31745:51:6" + ], + "id": 7336, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "32028:20:6" + }, + { + "assignments": [ + 7338 + ], + "declarations": [ + { + "constant": false, + "id": 7338, + "name": "precision", + "nodeType": "VariableDeclaration", + "scope": 7391, + "src": "32058:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 7250, - "name": "ERR_CHAIN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4655, - "src": "31818:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7251, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "31817:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7238, - "id": 7252, - "nodeType": "Return", - "src": "31810:18:6" - } - ] - } + "typeName": { + "id": 7337, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "32058:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7339, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "32058:15:6" }, { "assignments": [ - 7256 + 7341 ], "declarations": [ { "constant": false, - "id": 7256, - "name": "merkle", + "id": 7341, + "name": "pos", "nodeType": "VariableDeclaration", - "scope": 7283, - "src": "31882:11:6", + "scope": 7391, + "src": "32083:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31686,10 +32839,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7255, + "id": 7340, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "31882:4:6", + "src": "32083:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31699,141 +32852,104 @@ "visibility": "internal" } ], - "id": 7260, + "id": 7343, "initialValue": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7258, - "name": "_blockHeaderBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7232, - "src": "31916:17:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 7257, - "name": "getHeaderMerkleRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7223, - "src": "31896:19:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory) pure returns (uint256)" - } - }, - "id": 7259, + "hexValue": "30", + "id": 7342, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "number", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "31896:38:6", + "nodeType": "Literal", + "src": "32094:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "31882:52:6" + "src": "32083:12:6" }, { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7267, + "id": 7349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { + "argumentTypes": null, + "id": 7344, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7332, + "src": "32105:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7262, - "name": "_txHash", + "id": 7346, + "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7225, - "src": "31962:7:6", + "referencedDeclaration": 7307, + "src": "32136:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, { "argumentTypes": null, - "id": 7263, - "name": "_txIndex", + "id": 7347, + "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7227, - "src": "31971:8:6", + "referencedDeclaration": 7341, + "src": "32145:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - { - "argumentTypes": null, - "id": 7264, - "name": "_siblings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7230, - "src": "31981:9:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" } ], - "id": 7261, - "name": "computeMerkle", + "id": 7345, + "name": "bytesToUint32Flipped", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4962, - "src": "31948:13:6", + "referencedDeclaration": 4839, + "src": "32115:20:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256[] memory) pure returns (uint256)" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", + "typeString": "function (bytes memory,uint256) pure returns (uint32)" } }, - "id": 7265, + "id": 7348, "isConstant": false, "isLValue": false, "isPure": false, @@ -31841,251 +32957,612 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "31948:43:6", + "src": "32115:34:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "32105:44:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 7350, + "nodeType": "ExpressionStatement", + "src": "32105:44:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 7353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7351, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7332, + "src": "32162:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 7266, - "name": "merkle", + "id": 7352, + "name": "SYSCOIN_TX_VERSION_ALLOCATION_BURN_TO_ETHEREUM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7256, - "src": "31995:6:6", + "referencedDeclaration": 5021, + "src": "32173:46:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "src": "31948:53:6", + "src": "32162:57:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7279, + "id": 7363, "nodeType": "IfStatement", - "src": "31944:179:6", + "src": "32159:181:6", "trueBody": { - "id": 7278, + "id": 7362, "nodeType": "Block", - "src": "32003:120:6", + "src": "32220:120:6", "statements": [ { - "eventCall": { + "expression": { "argumentTypes": null, - "arguments": [ + "components": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7270, - "name": "_txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7225, - "src": "32048:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "32040:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" - }, - "id": 7271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32040:16:6", + "id": 7354, + "name": "ERR_PARSE_TX_SYS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5018, + "src": "32242:16:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, { "argumentTypes": null, - "id": 7272, - "name": "ERR_MERKLE_ROOT", + "id": 7355, + "name": "output_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4661, - "src": "32058:15:6", + "referencedDeclaration": 7323, + "src": "32260:12:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + }, + { + "argumentTypes": null, + "id": 7356, + "name": "destinationAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7329, + "src": "32274:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "id": 7268, - "name": "VerifyTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5065, - "src": "32022:17:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 7273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32022:52:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7274, - "nodeType": "EmitStatement", - "src": "32017:57:6" - }, - { - "expression": { - "argumentTypes": null, - "components": [ + }, { "argumentTypes": null, - "id": 7275, - "name": "ERR_MERKLE_ROOT", + "id": 7357, + "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4661, - "src": "32096:15:6", + "referencedDeclaration": 7326, + "src": "32294:9:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 7358, + "name": "precision", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7338, + "src": "32305:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 7359, + "name": "erc20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7335, + "src": "32316:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } } ], - "id": 7276, + "id": 7360, "isConstant": false, "isInlineArray": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "32095:17:6", + "src": "32241:88:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", + "typeString": "tuple(uint256,uint256,address,uint32,uint8,address)" } }, - "functionReturnParameters": 7238, - "id": 7277, + "functionReturnParameters": 7321, + "id": 7361, "nodeType": "Return", - "src": "32088:24:6" + "src": "32234:95:6" } ] } }, + { + "expression": { + "argumentTypes": null, + "id": 7369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7364, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7341, + "src": "32349:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7366, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7307, + "src": "32370:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "hexValue": "34", + "id": 7367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32379:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + } + ], + "id": 7365, + "name": "getOpReturnPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5748, + "src": "32355:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256)" + } + }, + "id": 7368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32355:26:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "32349:32:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7370, + "nodeType": "ExpressionStatement", + "src": "32349:32:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7371, + "name": "output_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7323, + "src": "32392:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7372, + "name": "destinationAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7329, + "src": "32406:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7373, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7326, + "src": "32426:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 7374, + "name": "precision", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7338, + "src": "32437:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 7375, + "name": "erc20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7335, + "src": "32448:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 7376, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "32391:70:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", + "typeString": "tuple(uint256,address,uint32,uint8,address)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7378, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7307, + "src": "32481:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 7379, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7341, + "src": "32490:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7377, + "name": "scanAssetDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5533, + "src": "32464:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,address,uint32,uint8,address)" + } + }, + "id": 7380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32464:30:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", + "typeString": "tuple(uint256,address,uint32,uint8,address)" + } + }, + "src": "32391:103:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7382, + "nodeType": "ExpressionStatement", + "src": "32391:103:6" + }, { "expression": { "argumentTypes": null, "components": [ { "argumentTypes": null, - "hexValue": "31", - "id": 7280, + "hexValue": "30", + "id": 7383, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "32140:1:6", + "src": "32512:1:6", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "value": "1" + "value": "0" + }, + { + "argumentTypes": null, + "id": 7384, + "name": "output_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7323, + "src": "32515:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7385, + "name": "destinationAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7329, + "src": "32529:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7386, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7326, + "src": "32549:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 7387, + "name": "precision", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7338, + "src": "32560:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 7388, + "name": "erc20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7335, + "src": "32571:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } } ], - "id": 7281, + "id": 7389, "isConstant": false, "isInlineArray": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "32139:3:6", + "src": "32511:73:6", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", + "typeString": "tuple(int_const 0,uint256,address,uint32,uint8,address)" } }, - "functionReturnParameters": 7238, - "id": 7282, + "functionReturnParameters": 7321, + "id": 7390, "nodeType": "Return", - "src": "32132:10:6" + "src": "32504:80:6" } ] }, "documentation": null, - "id": 7284, + "id": 7392, "implemented": true, "kind": "function", "modifiers": [], - "name": "helperVerifyHash", + "name": "parseBurnTx", "nodeType": "FunctionDefinition", "parameters": { - "id": 7235, + "id": 7308, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7225, - "name": "_txHash", + "id": 7307, + "name": "txBytes", + "nodeType": "VariableDeclaration", + "scope": 7392, + "src": "31789:20:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7306, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "31789:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "31788:22:6" + }, + "returnParameters": { + "id": 7321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7310, + "name": "", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "31508:15:6", + "scope": 7392, + "src": "31856:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32093,10 +33570,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7224, - "name": "uint256", + "id": 7309, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "31508:7:6", + "src": "31856:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32107,11 +33584,11 @@ }, { "constant": false, - "id": 7227, - "name": "_txIndex", + "id": 7312, + "name": "", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "31533:13:6", + "scope": 7392, + "src": "31862:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32119,10 +33596,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7226, + "id": 7311, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "31533:4:6", + "src": "31862:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32133,35 +33610,26 @@ }, { "constant": false, - "id": 7230, - "name": "_siblings", + "id": 7314, + "name": "", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "31556:23:6", + "scope": 7392, + "src": "31868:7:6", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "baseType": { - "id": 7228, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "31556:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7229, - "length": null, - "nodeType": "ArrayTypeName", - "src": "31556:6:6", + "id": 7313, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31868:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -32169,25 +33637,25 @@ }, { "constant": false, - "id": 7232, - "name": "_blockHeaderBytes", + "id": 7316, + "name": "", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "31589:30:6", + "scope": 7392, + "src": "31877:6:6", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, "typeName": { - "id": 7231, - "name": "bytes", + "id": 7315, + "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "31589:5:6", + "src": "31877:6:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "value": null, @@ -32195,995 +33663,1289 @@ }, { "constant": false, - "id": 7234, - "name": "_txsuperblockHash", + "id": 7318, + "name": "", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "31629:25:6", + "scope": 7392, + "src": "31885:5:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, "typeName": { - "id": 7233, - "name": "bytes32", + "id": 7317, + "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "31629:7:6", + "src": "31885:5:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "value": null, "visibility": "internal" - } - ], - "src": "31498:162:6" - }, - "returnParameters": { - "id": 7238, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 7237, + "id": 7320, "name": "", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "31678:4:6", + "scope": 7392, + "src": "31892:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 7236, - "name": "uint", + "id": 7319, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "31678:4:6", + "src": "31892:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "31677:6:6" + "src": "31855:45:6" }, - "scope": 7493, - "src": "31473:676:6", - "stateMutability": "nonpayable", + "scope": 7851, + "src": "31768:823:6", + "stateMutability": "pure", "superFunction": null, - "visibility": "private" + "visibility": "public" }, { "body": { - "id": 7313, + "id": 7486, "nodeType": "Block", - "src": "32926:212:6", + "src": "32705:834:6", "statements": [ { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7304, - "name": "_blocksMerkleRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7286, - "src": "32983:17:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 7305, - "name": "_timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7288, - "src": "33014:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7306, - "name": "_mtpTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7290, - "src": "33038:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7307, - "name": "_lastHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7292, - "src": "33065:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 7308, - "name": "_lastBits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "33088:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 7309, - "name": "_parentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7296, - "src": "33111:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 7302, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10171, - "src": "32953:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 7303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "32953:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 7310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32953:177:6", + "assignments": [ + 7402 + ], + "declarations": [ + { + "constant": false, + "id": 7402, + "name": "n_inputs", + "nodeType": "VariableDeclaration", + "scope": 7486, + "src": "32715:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7401, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "32715:4:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "id": 7301, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10178, - "src": "32943:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 7311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "32943:188:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 7300, - "id": 7312, - "nodeType": "Return", - "src": "32936:195:6" - } - ] - }, - "documentation": null, - "id": 7314, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calcSuperblockHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7286, - "name": "_blocksMerkleRoot", - "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32731:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7285, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "32731:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7288, - "name": "_timestamp", - "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32766:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7287, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "32766:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7290, - "name": "_mtpTimestamp", - "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32791:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7289, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "32791:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7292, - "name": "_lastHash", - "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32819:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7291, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "32819:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7294, - "name": "_lastBits", - "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32846:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 7293, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "32846:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + }, + "value": null, + "visibility": "internal" } - }, - "value": null, - "visibility": "internal" + ], + "id": 7403, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "32715:13:6" }, - { - "constant": false, - "id": 7296, - "name": "_parentId", - "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32872:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7295, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "32872:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "32721:174:6" - }, - "returnParameters": { - "id": 7300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7299, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32917:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7298, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "32917:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "32916:9:6" - }, - "scope": 7493, - "src": "32694:444:6", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 7321, - "nodeType": "Block", - "src": "33326:38:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7319, - "name": "bestSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "33343:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 7318, - "id": 7320, - "nodeType": "Return", - "src": "33336:21:6" - } - ] - }, - "documentation": null, - "id": 7322, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBestSuperblock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7315, - "nodeType": "ParameterList", - "parameters": [], - "src": "33291:2:6" - }, - "returnParameters": { - "id": 7318, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7317, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7322, - "src": "33317:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7316, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "33317:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "33316:9:6" - }, - "scope": 7493, - "src": "33265:99:6", - "stateMutability": "view", - "superFunction": 7742, - "visibility": "external" - }, - { - "body": { - "id": 7371, - "nodeType": "Block", - "src": "33772:414:6", - "statements": [ { "assignments": [ - 7346 + 7405 ], "declarations": [ { "constant": false, - "id": 7346, - "name": "superblock", + "id": 7405, + "name": "script_len", "nodeType": "VariableDeclaration", - "scope": 7371, - "src": "33782:33:6", + "scope": 7486, + "src": "32738:15:6", "stateVariable": false, - "storageLocation": "storage", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "contractScope": null, - "id": 7345, - "name": "SuperblockInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "33782:14:6", + "id": 7404, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "32738:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "id": 7350, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7347, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "33818:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" - } - }, - "id": 7349, - "indexExpression": { - "argumentTypes": null, - "id": 7348, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7324, - "src": "33830:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33818:27:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" - } - }, + "id": 7406, + "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "33782:63:6" + "src": "32738:15:6" }, { "expression": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { + "id": 7414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { "argumentTypes": null, - "id": 7351, - "name": "superblock", + "id": 7407, + "name": "n_inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "33876:10:6", + "referencedDeclaration": 7402, + "src": "32764:8:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 7352, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "blocksMerkleRoot", - "nodeType": "MemberAccess", - "referencedDeclaration": 7619, - "src": "33876:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + { + "argumentTypes": null, + "id": 7408, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7396, + "src": "32774:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - }, - { - "argumentTypes": null, - "expression": { + ], + "id": 7409, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "32763:15:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 7353, - "name": "superblock", + "id": 7411, + "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "33917:10:6", + "referencedDeclaration": 7394, + "src": "32793:7:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "id": 7354, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7621, - "src": "33917:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { + { "argumentTypes": null, - "id": 7355, - "name": "superblock", + "id": 7412, + "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "33951:10:6", + "referencedDeclaration": 7396, + "src": "32802:3:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 7356, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mtpTimestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7623, - "src": "33951:23:6", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7410, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "32781:11:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, + "id": 7413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32781:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "32763:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7415, + "nodeType": "ExpressionStatement", + "src": "32763:43:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7416, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7402, + "src": "32885:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783030", + "id": 7417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32897:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "src": "32885:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7445, + "nodeType": "IfStatement", + "src": "32882:316:6", + "trueBody": { + "id": 7444, + "nodeType": "Block", + "src": "32902:296:6", + "statements": [ { - "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7357, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "33988:10:6", + "id": 7426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7419, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7402, + "src": "32917:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7420, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7396, + "src": "32927:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7421, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "32916:15:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7423, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7394, + "src": "32946:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 7424, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7396, + "src": "32955:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7422, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "32934:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 7425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32934:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "32916:43:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 7358, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 7625, - "src": "33988:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "id": 7427, + "nodeType": "ExpressionStatement", + "src": "32916:43:6" }, { - "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7359, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "34021:10:6", + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7429, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7402, + "src": "32989:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783030", + "id": 7430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33001:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "src": "32989:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "23537973636f696e5375706572626c6f636b7320736b6970496e7075747328293a20556e65787065637465642064756d6d792f666c6167", + "id": 7432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33007:57:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fc877395b80aa7c4242c8aac50cd47fd49db648b3654ba67274e0e44d55d6296", + "typeString": "literal_string \"#SyscoinSuperblocks skipInputs(): Unexpected dummy/flag\"" + }, + "value": "#SyscoinSuperblocks skipInputs(): Unexpected dummy/flag" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fc877395b80aa7c4242c8aac50cd47fd49db648b3654ba67274e0e44d55d6296", + "typeString": "literal_string \"#SyscoinSuperblocks skipInputs(): Unexpected dummy/flag\"" + } + ], + "id": 7428, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "32981:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32981:84:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 7360, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastBits", - "nodeType": "MemberAccess", - "referencedDeclaration": 7631, - "src": "34021:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } + "id": 7434, + "nodeType": "ExpressionStatement", + "src": "32981:84:6" }, { - "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7361, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "34054:10:6", + "id": 7442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7435, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7402, + "src": "33145:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7436, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7396, + "src": "33155:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7437, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "33144:15:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7439, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7394, + "src": "33174:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 7440, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7396, + "src": "33183:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7438, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "33162:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 7441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "33162:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "33144:43:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 7362, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "parentId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7627, - "src": "34054:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, + "id": 7443, + "nodeType": "ExpressionStatement", + "src": "33144:43:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7363, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "34087:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 7364, + "id": 7449, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 7629, - "src": "34087:20:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { + "leftExpression": { "argumentTypes": null, - "id": 7365, - "name": "superblock", + "id": 7447, + "name": "n_inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "34121:10:6", + "referencedDeclaration": 7402, + "src": "33215:8:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 7366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "34121:17:6", + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 7448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33226:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "33215:14:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7367, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "34152:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 7368, + "hexValue": "23537973636f696e5375706572626c6f636b7320736b6970496e7075747328293a20496e636f72726563742073697a65206f66206e5f696e70757473", + "id": 7450, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": false, + "isPure": true, + "kind": "string", "lValueRequested": false, - "memberName": "height", - "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "34152:17:6", + "nodeType": "Literal", + "src": "33231:62:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } + "typeIdentifier": "t_stringliteral_bd998dc49e2b8c684725f5584421d9b7d5649d1c48086cb317d2923f0e9fec74", + "typeString": "literal_string \"#SyscoinSuperblocks skipInputs(): Incorrect size of n_inputs\"" + }, + "value": "#SyscoinSuperblocks skipInputs(): Incorrect size of n_inputs" } ], - "id": 7369, + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_bd998dc49e2b8c684725f5584421d9b7d5649d1c48086cb317d2923f0e9fec74", + "typeString": "literal_string \"#SyscoinSuperblocks skipInputs(): Incorrect size of n_inputs\"" + } + ], + "id": 7446, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "33207:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7451, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "33862:317:6", + "names": [], + "nodeType": "FunctionCall", + "src": "33207:87:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", - "typeString": "tuple(bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "functionReturnParameters": 7344, - "id": 7370, + "id": 7452, + "nodeType": "ExpressionStatement", + "src": "33207:87:6" + }, + { + "body": { + "id": 7482, + "nodeType": "Block", + "src": "33341:171:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7463, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7396, + "src": "33355:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3336", + "id": 7464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33362:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_36_by_1", + "typeString": "int_const 36" + }, + "value": "36" + }, + "src": "33355:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7466, + "nodeType": "ExpressionStatement", + "src": "33355:9:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7467, + "name": "script_len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7405, + "src": "33397:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7468, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7396, + "src": "33409:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7469, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "33396:17:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7471, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7394, + "src": "33428:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 7472, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7396, + "src": "33437:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7470, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "33416:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 7473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "33416:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "33396:45:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7475, + "nodeType": "ExpressionStatement", + "src": "33396:45:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7476, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7396, + "src": "33455:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7477, + "name": "script_len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7405, + "src": "33462:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "34", + "id": 7478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33475:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "33462:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "33455:21:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7481, + "nodeType": "ExpressionStatement", + "src": "33455:21:6" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7457, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7454, + "src": "33322:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 7458, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7402, + "src": "33326:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "33322:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7483, + "initializationExpression": { + "assignments": [ + 7454 + ], + "declarations": [ + { + "constant": false, + "id": 7454, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 7483, + "src": "33310:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7453, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "33310:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7456, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 7455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33319:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "33310:10:6" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 7461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "33336:3:6", + "subExpression": { + "argumentTypes": null, + "id": 7460, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7454, + "src": "33336:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7462, + "nodeType": "ExpressionStatement", + "src": "33336:3:6" + }, + "nodeType": "ForStatement", + "src": "33305:207:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7484, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7396, + "src": "33529:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7400, + "id": 7485, "nodeType": "Return", - "src": "33855:324:6" + "src": "33522:10:6" } ] }, "documentation": null, - "id": 7372, + "id": 7487, "implemented": true, "kind": "function", "modifiers": [], - "name": "getSuperblock", + "name": "skipInputs", "nodeType": "FunctionDefinition", "parameters": { - "id": 7325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7324, - "name": "superblockHash", - "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33475:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7323, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "33475:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "33474:24:6" - }, - "returnParameters": { - "id": 7344, + "id": 7397, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7327, - "name": "_blocksMerkleRoot", + "id": 7394, + "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33531:25:6", + "scope": 7487, + "src": "32617:20:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 7326, - "name": "bytes32", + "id": 7393, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "33531:7:6", + "src": "32617:5:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "value": null, @@ -33191,11 +34953,11 @@ }, { "constant": false, - "id": 7329, - "name": "_timestamp", + "id": 7396, + "name": "pos", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33566:15:6", + "scope": 7487, + "src": "32639:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33203,10 +34965,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7328, + "id": 7395, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "33566:4:6", + "src": "32639:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33214,14 +34976,21 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "32616:32:6" + }, + "returnParameters": { + "id": 7400, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 7331, - "name": "_mtpTimestamp", + "id": 7399, + "name": "", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33591:18:6", + "scope": 7487, + "src": "32695:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33229,10 +34998,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7330, + "id": 7398, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "33591:4:6", + "src": "32695:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33240,54 +35009,569 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "32694:6:6" + }, + "scope": 7851, + "src": "32597:942:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 7540, + "nodeType": "Block", + "src": "34462:455:6", + "statements": [ { - "constant": false, - "id": 7333, - "name": "_lastHash", - "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33619:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7332, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "33619:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "assignments": [ + 7504 + ], + "declarations": [ + { + "constant": false, + "id": 7504, + "name": "txHash", + "nodeType": "VariableDeclaration", + "scope": 7540, + "src": "34472:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7503, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "34472:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7335, - "name": "_lastBits", - "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33646:16:6", - "stateVariable": false, - "storageLocation": "default", + ], + "id": 7508, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7506, + "name": "_txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7489, + "src": "34497:8:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7505, + "name": "dblShaFlip", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7565, + "src": "34486:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 7507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34486:20:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "34472:34:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7509, + "name": "_txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7489, + "src": "34521:8:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 7510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "34521:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3634", + "id": 7511, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34540:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "34521:21:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7523, + "nodeType": "IfStatement", + "src": "34517:163:6", + "trueBody": { + "id": 7522, + "nodeType": "Block", + "src": "34544:136:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7515, + "name": "txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7504, + "src": "34624:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "34616:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 7516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34616:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7517, + "name": "ERR_TX_64BYTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4673, + "src": "34633:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7513, + "name": "VerifyTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5074, + "src": "34598:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 7518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34598:49:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7519, + "nodeType": "EmitStatement", + "src": "34593:54:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34668:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 7502, + "id": 7521, + "nodeType": "Return", + "src": "34661:8:6" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7525, + "name": "txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7504, + "src": "34711:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7526, + "name": "_txIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7491, + "src": "34719:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7527, + "name": "_siblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7494, + "src": "34729:9:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "argumentTypes": null, + "id": 7528, + "name": "_txBlockHeaderBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7496, + "src": "34740:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 7529, + "name": "_txsuperblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7498, + "src": "34761:17:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7524, + "name": "helperVerifyHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7642, + "src": "34694:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256[] memory,bytes memory,bytes32) returns (uint256)" + } + }, + "id": 7530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34694:85:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 7531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34783:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "34694:90:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7538, + "nodeType": "Block", + "src": "34830:81:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34899:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 7502, + "id": 7537, + "nodeType": "Return", + "src": "34892:8:6" + } + ] + }, + "id": 7539, + "nodeType": "IfStatement", + "src": "34690:221:6", + "trueBody": { + "id": 7535, + "nodeType": "Block", + "src": "34786:38:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7533, + "name": "txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7504, + "src": "34807:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7502, + "id": 7534, + "nodeType": "Return", + "src": "34800:13:6" + } + ] + } + } + ] + }, + "documentation": null, + "id": 7541, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyTx", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7489, + "name": "_txBytes", + "nodeType": "VariableDeclaration", + "scope": 7541, + "src": "34278:21:6", + "stateVariable": false, + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 7334, - "name": "uint32", + "id": 7488, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "33646:6:6", + "src": "34278:5:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "value": null, @@ -33295,25 +35579,25 @@ }, { "constant": false, - "id": 7337, - "name": "_parentId", + "id": 7491, + "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33672:17:6", + "scope": 7541, + "src": "34309:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 7336, - "name": "bytes32", + "id": 7490, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "33672:7:6", + "src": "34309:4:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, @@ -33321,26 +35605,35 @@ }, { "constant": false, - "id": 7339, - "name": "_submitter", + "id": 7494, + "name": "_siblings", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33699:18:6", + "scope": 7541, + "src": "34332:23:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" }, "typeName": { - "id": 7338, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "33699:7:6", - "stateMutability": "nonpayable", + "baseType": { + "id": 7492, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "34332:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7493, + "length": null, + "nodeType": "ArrayTypeName", + "src": "34332:6:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" } }, "value": null, @@ -33348,27 +35641,25 @@ }, { "constant": false, - "id": 7341, - "name": "_status", + "id": 7496, + "name": "_txBlockHeaderBytes", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33727:14:6", + "scope": 7541, + "src": "34365:32:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "contractScope": null, - "id": 7340, - "name": "Status", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "33727:6:6", + "id": 7495, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "34365:5:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "value": null, @@ -33376,309 +35667,400 @@ }, { "constant": false, - "id": 7343, - "name": "_height", + "id": 7498, + "name": "_txsuperblockHash", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33751:14:6", + "scope": 7541, + "src": "34407:25:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 7342, - "name": "uint32", + "id": 7497, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "33751:6:6", + "src": "34407:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], - "src": "33521:250:6" + "src": "34268:170:6" }, - "scope": 7493, - "src": "33452:734:6", - "stateMutability": "view", - "superFunction": 7680, - "visibility": "external" - }, - { - "body": { - "id": 7384, - "nodeType": "Block", - "src": "34314:58:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7379, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "34331:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" - } - }, - "id": 7381, - "indexExpression": { - "argumentTypes": null, - "id": 7380, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7374, - "src": "34343:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34331:27:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" - } - }, - "id": 7382, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "height", - "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "34331:34:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "functionReturnParameters": 7378, - "id": 7383, - "nodeType": "Return", - "src": "34324:41:6" - } - ] - }, - "documentation": null, - "id": 7385, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSuperblockHeight", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7375, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7374, - "name": "superblockHash", - "nodeType": "VariableDeclaration", - "scope": 7385, - "src": "34261:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7373, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "34261:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "34260:24:6" - }, - "returnParameters": { - "id": 7378, - "nodeType": "ParameterList", - "parameters": [ + "returnParameters": { + "id": 7502, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 7377, + "id": 7501, "name": "", "nodeType": "VariableDeclaration", - "scope": 7385, - "src": "34306:6:6", + "scope": 7541, + "src": "34456:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 7376, - "name": "uint32", + "id": 7500, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "34306:6:6", + "src": "34456:4:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "34305:8:6" + "src": "34455:6:6" }, - "scope": 7493, - "src": "34232:140:6", - "stateMutability": "view", - "superFunction": 7754, - "visibility": "public" + "scope": 7851, + "src": "34251:666:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" }, { "body": { - "id": 7397, + "id": 7564, "nodeType": "Block", - "src": "34506:62:6", + "src": "35171:105:6", "statements": [ { "expression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { + "arguments": [ + { "argumentTypes": null, - "id": 7392, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "34523:11:6", + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7556, + "name": "_dataBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7543, + "src": "35253:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 7554, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11085, + "src": "35236:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "35236:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35236:28:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7553, + "name": "sha256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11107, + "src": "35229:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35229:36:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 7551, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11085, + "src": "35212:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "35212:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35212:54:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7550, + "name": "sha256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11107, + "src": "35205:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35205:62:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35200:4:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint" + }, + "id": 7561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35200:68:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 7394, - "indexExpression": { - "argumentTypes": null, - "id": 7393, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7387, - "src": "34535:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34523:28:6", + ], + "id": 7548, + "name": "flip32Bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4848, + "src": "35188:11:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 7395, + "id": 7562, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7621, - "src": "34523:38:6", + "names": [], + "nodeType": "FunctionCall", + "src": "35188:81:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7391, - "id": 7396, + "functionReturnParameters": 7547, + "id": 7563, "nodeType": "Return", - "src": "34516:45:6" + "src": "35181:88:6" } ] }, "documentation": null, - "id": 7398, + "id": 7565, "implemented": true, "kind": "function", "modifiers": [], - "name": "getSuperblockTimestamp", + "name": "dblShaFlip", "nodeType": "FunctionDefinition", "parameters": { - "id": 7388, + "id": 7544, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7387, - "name": "_superblockHash", + "id": 7543, + "name": "_dataBytes", "nodeType": "VariableDeclaration", - "scope": 7398, - "src": "34452:23:6", + "scope": 7565, + "src": "35119:23:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 7386, - "name": "bytes32", + "id": 7542, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "34452:7:6", + "src": "35119:5:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], - "src": "34451:25:6" + "src": "35118:25:6" }, "returnParameters": { - "id": 7391, + "id": 7547, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7390, + "id": 7546, "name": "", "nodeType": "VariableDeclaration", - "scope": 7398, - "src": "34500:4:6", + "scope": 7565, + "src": "35165:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33686,10 +36068,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7389, + "id": 7545, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "34500:4:6", + "src": "35165:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33699,135 +36081,191 @@ "visibility": "internal" } ], - "src": "34499:6:6" + "src": "35164:6:6" }, - "scope": 7493, - "src": "34420:148:6", - "stateMutability": "view", - "superFunction": 7782, - "visibility": "external" + "scope": 7851, + "src": "35099:177:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" }, { "body": { - "id": 7410, + "id": 7580, "nodeType": "Block", - "src": "34715:65:6", + "src": "35611:155:6", "statements": [ { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7405, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "34732:11:6", + "assignments": [ + 7573 + ], + "declarations": [ + { + "constant": false, + "id": 7573, + "name": "merkle", + "nodeType": "VariableDeclaration", + "scope": 7580, + "src": "35621:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7572, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "35621:4:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 7407, - "indexExpression": { + "value": null, + "visibility": "internal" + } + ], + "id": 7574, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "35621:11:6" + }, + { + "externalReferences": [ + { + "merkle": { + "declaration": 7573, + "isOffset": false, + "isSlot": false, + "src": "35665:6:6", + "valueSize": 1 + } + }, + { + "_blockHeader": { + "declaration": 7567, + "isOffset": false, + "isSlot": false, + "src": "35689:12:6", + "valueSize": 1 + } + } + ], + "id": 7575, + "nodeType": "InlineAssembly", + "operations": "{\n merkle := mload(add(add(_blockHeader, 32), 0x24))\n}", + "src": "35642:82:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 7406, - "name": "_superblockHash", + "id": 7577, + "name": "merkle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7400, - "src": "34744:15:6", + "referencedDeclaration": 7573, + "src": "35752:6:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34732:28:6", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7576, + "name": "flip32Bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4848, + "src": "35740:11:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 7408, + "id": 7578, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "mtpTimestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7623, - "src": "34732:41:6", + "names": [], + "nodeType": "FunctionCall", + "src": "35740:19:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7404, - "id": 7409, + "functionReturnParameters": 7571, + "id": 7579, "nodeType": "Return", - "src": "34725:48:6" + "src": "35733:26:6" } ] }, "documentation": null, - "id": 7411, + "id": 7581, "implemented": true, "kind": "function", "modifiers": [], - "name": "getSuperblockMedianTimestamp", + "name": "getHeaderMerkleRoot", "nodeType": "FunctionDefinition", "parameters": { - "id": 7401, + "id": 7568, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7400, - "name": "_superblockHash", + "id": 7567, + "name": "_blockHeader", "nodeType": "VariableDeclaration", - "scope": 7411, - "src": "34661:23:6", + "scope": 7581, + "src": "35557:25:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 7399, - "name": "bytes32", + "id": 7566, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "34661:7:6", + "src": "35557:5:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], - "src": "34660:25:6" + "src": "35556:27:6" }, "returnParameters": { - "id": 7404, + "id": 7571, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7403, + "id": 7570, "name": "", "nodeType": "VariableDeclaration", - "scope": 7411, - "src": "34709:4:6", + "scope": 7581, + "src": "35605:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33835,10 +36273,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7402, + "id": 7569, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "34709:4:6", + "src": "35605:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33848,350 +36286,162 @@ "visibility": "internal" } ], - "src": "34708:6:6" + "src": "35604:6:6" }, - "scope": 7493, - "src": "34623:157:6", - "stateMutability": "view", - "superFunction": 7789, - "visibility": "external" + "scope": 7851, + "src": "35528:238:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" }, { "body": { - "id": 7423, + "id": 7641, "nodeType": "Block", - "src": "34913:61:6", + "src": "36975:465:6", "statements": [ { - "expression": { + "condition": { "argumentTypes": null, - "expression": { + "id": 7600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "36990:30:6", + "subExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7418, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "34930:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + "arguments": [ + { + "argumentTypes": null, + "id": 7598, + "name": "_txsuperblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7592, + "src": "37002:17:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } } - }, - "id": 7420, - "indexExpression": { - "argumentTypes": null, - "id": 7419, - "name": "_superblockHash", + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7597, + "name": "isApproved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7413, - "src": "34942:15:6", + "referencedDeclaration": 7811, + "src": "36991:10:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" } }, + "id": 7599, "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34930:28:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" - } - }, - "id": 7421, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "parentId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7627, - "src": "34930:37:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 7417, - "id": 7422, - "nodeType": "Return", - "src": "34923:44:6" - } - ] - }, - "documentation": null, - "id": 7424, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSuperblockParentId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7413, - "name": "_superblockHash", - "nodeType": "VariableDeclaration", - "scope": 7424, - "src": "34856:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7412, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "34856:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "34855:25:6" - }, - "returnParameters": { - "id": 7417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7416, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7424, - "src": "34904:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7415, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "34904:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "34903:9:6" - }, - "scope": 7493, - "src": "34825:149:6", - "stateMutability": "view", - "superFunction": 7761, - "visibility": "external" - }, - { - "body": { - "id": 7436, - "nodeType": "Block", - "src": "35103:59:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7431, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "35120:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" - } - }, - "id": 7433, - "indexExpression": { - "argumentTypes": null, - "id": 7432, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7426, - "src": "35132:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35120:28:6", + "names": [], + "nodeType": "FunctionCall", + "src": "36991:29:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 7434, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "35120:35:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "functionReturnParameters": 7430, - "id": 7435, - "nodeType": "Return", - "src": "35113:42:6" - } - ] - }, - "documentation": null, - "id": 7437, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSuperblockStatus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7426, - "name": "_superblockHash", - "nodeType": "VariableDeclaration", - "scope": 7437, - "src": "35049:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7425, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "35049:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35048:25:6" - }, - "returnParameters": { - "id": 7430, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7429, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7437, - "src": "35095:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "typeName": { - "contractScope": null, - "id": 7428, - "name": "Status", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "35095:6:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "value": null, - "visibility": "internal" - } - ], - "src": "35094:8:6" - }, - "scope": 7493, - "src": "35020:142:6", - "stateMutability": "view", - "superFunction": 7768, - "visibility": "public" - }, - { - "body": { - "id": 7452, - "nodeType": "Block", - "src": "35241:81:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ + "falseBody": null, + "id": 7612, + "nodeType": "IfStatement", + "src": "36986:144:6", + "trueBody": { + "id": 7611, + "nodeType": "Block", + "src": "37022:108:6", + "statements": [ { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "id": 7449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7445, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7439, - "src": "35279:15:6", + "arguments": [ + { + "argumentTypes": null, + "id": 7603, + "name": "_txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7583, + "src": "37067:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "37059:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 7604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37059:16:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } + }, + { + "argumentTypes": null, + "id": 7605, + "name": "ERR_CHAIN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4664, + "src": "37077:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], "expression": { @@ -34199,20 +36449,24 @@ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 7444, - "name": "getSuperblockStatus", + "id": 7601, + "name": "VerifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7437, - "src": "35259:19:6", + "referencedDeclaration": 5074, + "src": "37041:17:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Status_$7617_$", - "typeString": "function (bytes32) view returns (enum SyscoinSuperblocksI.Status)" + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" } }, - "id": 7446, + "id": 7606, "isConstant": false, "isLValue": false, "isPure": false, @@ -34220,430 +36474,148 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "35259:36:6", + "src": "37041:46:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + "id": 7607, + "nodeType": "EmitStatement", + "src": "37036:51:6" + }, + { + "expression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7447, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "35299:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" + "components": [ + { + "argumentTypes": null, + "id": 7608, + "name": "ERR_CHAIN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4664, + "src": "37109:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - }, - "id": 7448, + ], + "id": 7609, "isConstant": false, + "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "Approved", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "35299:15:6", + "nodeType": "TupleExpression", + "src": "37108:11:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "35259:55:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 7450, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "35258:57:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7443, - "id": 7451, - "nodeType": "Return", - "src": "35251:64:6" - } - ] - }, - "documentation": null, - "id": 7453, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApproved", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7439, - "name": "_superblockHash", - "nodeType": "VariableDeclaration", - "scope": 7453, - "src": "35188:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7438, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "35188:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35187:25:6" - }, - "returnParameters": { - "id": 7443, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7442, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7453, - "src": "35235:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7441, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "35235:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35234:6:6" - }, - "scope": 7493, - "src": "35168:154:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 7463, - "nodeType": "Block", - "src": "35380:58:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7458, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "35397:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" - } - }, - "id": 7460, - "indexExpression": { - "argumentTypes": null, - "id": 7459, - "name": "bestSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "35409:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35397:27:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + "functionReturnParameters": 7596, + "id": 7610, + "nodeType": "Return", + "src": "37101:18:6" } - }, - "id": 7461, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "height", - "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "35397:34:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "functionReturnParameters": 7457, - "id": 7462, - "nodeType": "Return", - "src": "35390:41:6" - } - ] - }, - "documentation": null, - "id": 7464, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getChainHeight", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7454, - "nodeType": "ParameterList", - "parameters": [], - "src": "35350:2:6" - }, - "returnParameters": { - "id": 7457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7456, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 7464, - "src": "35374:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7455, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "35374:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "35373:6:6" - }, - "scope": 7493, - "src": "35327:111:6", - "stateMutability": "view", - "superFunction": 7747, - "visibility": "public" - }, - { - "body": { - "id": 7491, - "nodeType": "Block", - "src": "35707:230:6", - "statements": [ + ] + } + }, { "assignments": [ - 7472 + 7614 ], "declarations": [ { "constant": false, - "id": 7472, - "name": "superblockHash", + "id": 7614, + "name": "merkle", "nodeType": "VariableDeclaration", - "scope": 7491, - "src": "35717:22:6", + "scope": 7641, + "src": "37173:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 7471, - "name": "bytes32", + "id": 7613, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "35717:7:6", + "src": "37173:4:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "id": 7474, + "id": 7618, "initialValue": { "argumentTypes": null, - "id": 7473, - "name": "bestSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "35742:14:6", + "arguments": [ + { + "argumentTypes": null, + "id": 7616, + "name": "_blockHeaderBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7590, + "src": "37207:17:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7615, + "name": "getHeaderMerkleRoot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7581, + "src": "37187:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 7617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37187:38:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "35717:39:6" + "src": "37173:52:6" }, { - "body": { - "id": 7487, - "nodeType": "Block", - "src": "35821:78:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7480, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7472, - "src": "35835:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7481, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "35852:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" - } - }, - "id": 7483, - "indexExpression": { - "argumentTypes": null, - "id": 7482, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7472, - "src": "35864:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35852:27:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" - } - }, - "id": 7484, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "parentId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7627, - "src": "35852:36:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "35835:53:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 7486, - "nodeType": "ExpressionStatement", - "src": "35835:53:6" - } - ] - }, "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7479, + "id": 7625, "isConstant": false, "isLValue": false, "isPure": false, @@ -34653,37 +36625,71 @@ "arguments": [ { "argumentTypes": null, - "id": 7476, - "name": "superblockHash", + "id": 7620, + "name": "_txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7472, - "src": "35794:14:6", + "referencedDeclaration": 7583, + "src": "37253:7:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7621, + "name": "_txIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7585, + "src": "37262:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7622, + "name": "_siblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7588, + "src": "37272:9:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" } ], - "id": 7475, - "name": "getSuperblockHeight", + "id": 7619, + "name": "computeMerkle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7385, - "src": "35774:19:6", + "referencedDeclaration": 4971, + "src": "37239:13:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint32_$", - "typeString": "function (bytes32) view returns (uint32)" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256[] memory) pure returns (uint256)" } }, - "id": 7477, + "id": 7623, "isConstant": false, "isLValue": false, "isPure": false, @@ -34691,76 +36697,277 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "35774:35:6", + "src": "37239:43:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": ">", + "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 7478, - "name": "_height", + "id": 7624, + "name": "merkle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7466, - "src": "35812:7:6", + "referencedDeclaration": 7614, + "src": "37286:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "35774:45:6", + "src": "37239:53:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7488, - "nodeType": "WhileStatement", - "src": "35767:132:6" + "falseBody": null, + "id": 7637, + "nodeType": "IfStatement", + "src": "37235:179:6", + "trueBody": { + "id": 7636, + "nodeType": "Block", + "src": "37294:120:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7628, + "name": "_txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7583, + "src": "37339:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7627, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "37331:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 7629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37331:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7630, + "name": "ERR_MERKLE_ROOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4670, + "src": "37349:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7626, + "name": "VerifyTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5074, + "src": "37313:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 7631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37313:52:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7632, + "nodeType": "EmitStatement", + "src": "37308:57:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7633, + "name": "ERR_MERKLE_ROOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4670, + "src": "37387:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7634, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "37386:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7596, + "id": 7635, + "nodeType": "Return", + "src": "37379:24:6" + } + ] + } }, { "expression": { "argumentTypes": null, - "id": 7489, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7472, - "src": "35916:14:6", + "components": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 7638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37431:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "id": 7639, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "37430:3:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" } }, - "functionReturnParameters": 7470, - "id": 7490, + "functionReturnParameters": 7596, + "id": 7640, "nodeType": "Return", - "src": "35909:21:6" + "src": "37423:10:6" } ] }, "documentation": null, - "id": 7492, + "id": 7642, "implemented": true, "kind": "function", "modifiers": [], - "name": "getSuperblockAt", + "name": "helperVerifyHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 7467, + "id": 7593, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7466, - "name": "_height", + "id": 7583, + "name": "_txHash", + "nodeType": "VariableDeclaration", + "scope": 7642, + "src": "36799:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7582, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "36799:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7585, + "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 7492, - "src": "35661:12:6", + "scope": 7642, + "src": "36824:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34768,10 +36975,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7465, + "id": 7584, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "35661:4:6", + "src": "36824:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34779,475 +36986,355 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 7588, + "name": "_siblings", + "nodeType": "VariableDeclaration", + "scope": 7642, + "src": "36847:23:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 7586, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "36847:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7587, + "length": null, + "nodeType": "ArrayTypeName", + "src": "36847:6:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7590, + "name": "_blockHeaderBytes", + "nodeType": "VariableDeclaration", + "scope": 7642, + "src": "36880:30:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7589, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "36880:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7592, + "name": "_txsuperblockHash", + "nodeType": "VariableDeclaration", + "scope": 7642, + "src": "36920:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7591, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "36920:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "35660:14:6" + "src": "36789:162:6" }, "returnParameters": { - "id": 7470, + "id": 7596, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7469, + "id": 7595, "name": "", "nodeType": "VariableDeclaration", - "scope": 7492, - "src": "35698:7:6", + "scope": 7642, + "src": "36969:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 7468, - "name": "bytes32", + "id": 7594, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "35698:7:6", + "src": "36969:4:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "35697:9:6" + "src": "36968:6:6" }, - "scope": 7493, - "src": "35636:301:6", - "stateMutability": "view", - "superFunction": 7775, - "visibility": "external" - } - ], - "scope": 7494, - "src": "350:35589:6" - } - ], - "src": "0:35940:6" - }, - "legacyAST": { - "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinSuperblocks.sol", - "exportedSymbols": { - "SyscoinSuperblocks": [ - 7493 - ] - }, - "id": 7494, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4993, - "literals": [ - "solidity", - "^", - "0.5", - ".13" - ], - "nodeType": "PragmaDirective", - "src": "0:24:6" - }, - { - "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol", - "file": "./interfaces/SyscoinSuperblocksI.sol", - "id": 4994, - "nodeType": "ImportDirective", - "scope": 7494, - "sourceUnit": 7791, - "src": "26:46:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinErrorCodes.sol", - "file": "./SyscoinErrorCodes.sol", - "id": 4995, - "nodeType": "ImportDirective", - "scope": 7494, - "sourceUnit": 4678, - "src": "73:33:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol", - "file": "./SyscoinTransactionProcessor.sol", - "id": 4996, - "nodeType": "ImportDirective", - "scope": 7494, - "sourceUnit": 7548, - "src": "107:43:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/upgrades/contracts/Initializable.sol", - "file": "@openzeppelin/upgrades/contracts/Initializable.sol", - "id": 4997, - "nodeType": "ImportDirective", - "scope": 7494, - "sourceUnit": 8723, - "src": "151:60:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinParser/SyscoinMessageLibrary.sol", - "file": "./SyscoinParser/SyscoinMessageLibrary.sol", - "id": 4998, - "nodeType": "ImportDirective", - "scope": 7494, - "sourceUnit": 4992, - "src": "212:51:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ + "scope": 7851, + "src": "36764:676:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4999, - "name": "Initializable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8722, - "src": "381:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Initializable_$8722", - "typeString": "contract Initializable" - } - }, - "id": 5000, - "nodeType": "InheritanceSpecifier", - "src": "381:13:6" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5001, - "name": "SyscoinSuperblocksI", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7790, - "src": "396:19:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$7790", - "typeString": "contract SyscoinSuperblocksI" - } - }, - "id": 5002, - "nodeType": "InheritanceSpecifier", - "src": "396:19:6" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5003, - "name": "SyscoinErrorCodes", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4677, - "src": "417:17:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinErrorCodes_$4677", - "typeString": "contract SyscoinErrorCodes" - } - }, - "id": 5004, - "nodeType": "InheritanceSpecifier", - "src": "417:17:6" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5005, - "name": "SyscoinMessageLibrary", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4991, - "src": "436:21:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinMessageLibrary_$4991", - "typeString": "contract SyscoinMessageLibrary" - } - }, - "id": 5006, - "nodeType": "InheritanceSpecifier", - "src": "436:21:6" - } - ], - "contractDependencies": [ - 4677, - 4991, - 7790, - 8722 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 7493, - "linearizedBaseContracts": [ - 7493, - 4991, - 4677, - 7790, - 8722 - ], - "name": "SyscoinSuperblocks", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5009, - "name": "ERR_PARSE_TX_SYS", - "nodeType": "VariableDeclaration", - "scope": 7493, - "src": "465:38:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5007, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "465:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130313730", - "id": 5008, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "498:5:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10170_by_1", - "typeString": "int_const 10170" - }, - "value": "10170" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 5012, - "name": "SYSCOIN_TX_VERSION_ALLOCATION_BURN_TO_ETHEREUM", - "nodeType": "VariableDeclaration", - "scope": 7493, - "src": "510:71:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5010, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "510:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837343037", - "id": 5011, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "575:6:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_29703_by_1", - "typeString": "int_const 29703" - }, - "value": "0x7407" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 5015, - "name": "SYSCOIN_TX_VERSION_ALLOCATION_MINT", - "nodeType": "VariableDeclaration", - "scope": 7493, - "src": "587:59:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5013, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "587:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307837343036", - "id": 5014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "640:6:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_29702_by_1", - "typeString": "int_const 29702" - }, - "value": "0x7406" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5019, - "name": "superblocks", - "nodeType": "VariableDeclaration", - "scope": 7493, - "src": "705:55:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo)" - }, - "typeName": { - "id": 5018, - "keyType": { - "id": 5016, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "714:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "705:35:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo)" - }, - "valueType": { - "contractScope": null, - "id": 5017, - "name": "SuperblockInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "725:14:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + "body": { + "id": 7671, + "nodeType": "Block", + "src": "38217:212:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7662, + "name": "_blocksMerkleRoot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7644, + "src": "38274:17:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7663, + "name": "_timestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7646, + "src": "38305:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7664, + "name": "_mtpTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7648, + "src": "38329:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7665, + "name": "_lastHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7650, + "src": "38356:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7666, + "name": "_lastBits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7652, + "src": "38379:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 7667, + "name": "_parentId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7654, + "src": "38402:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 7660, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11085, + "src": "38244:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "38244:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38244:177:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7659, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11092, + "src": "38234:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38234:188:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 7658, + "id": 7670, + "nodeType": "Return", + "src": "38227:195:6" } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5021, - "name": "bestSuperblock", - "nodeType": "VariableDeclaration", - "scope": 7493, - "src": "767:30:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5020, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "767:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 5023, - "name": "syscoinERC20Manager", - "nodeType": "VariableDeclaration", - "scope": 7493, - "src": "804:54:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", - "typeString": "contract SyscoinTransactionProcessor" - }, - "typeName": { - "contractScope": null, - "id": 5022, - "name": "SyscoinTransactionProcessor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7547, - "src": "804:27:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", - "typeString": "contract SyscoinTransactionProcessor" - } + ] }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, "documentation": null, - "id": 5029, - "name": "NewSuperblock", - "nodeType": "EventDefinition", + "id": 7672, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "calcSuperblockHash", + "nodeType": "FunctionDefinition", "parameters": { - "id": 5028, + "id": 7655, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5025, - "indexed": false, - "name": "superblockHash", + "id": 7644, + "name": "_blocksMerkleRoot", "nodeType": "VariableDeclaration", - "scope": 5029, - "src": "885:22:6", + "scope": 7672, + "src": "38022:25:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35255,10 +37342,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5024, + "id": 7643, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "885:7:6", + "src": "38022:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -35269,69 +37356,51 @@ }, { "constant": false, - "id": 5027, - "indexed": false, - "name": "who", + "id": 7646, + "name": "_timestamp", "nodeType": "VariableDeclaration", - "scope": 5029, - "src": "909:11:6", + "scope": 7672, + "src": "38057:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 5026, - "name": "address", + "id": 7645, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "909:7:6", - "stateMutability": "nonpayable", + "src": "38057:4:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" - } - ], - "src": "884:37:6" - }, - "src": "865:57:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 5035, - "name": "ApprovedSuperblock", - "nodeType": "EventDefinition", - "parameters": { - "id": 5034, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 5031, - "indexed": false, - "name": "superblockHash", + "id": 7648, + "name": "_mtpTimestamp", "nodeType": "VariableDeclaration", - "scope": 5035, - "src": "952:22:6", + "scope": 7672, + "src": "38082:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 5030, - "name": "bytes32", + "id": 7647, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "952:7:6", + "src": "38082:4:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, @@ -35339,69 +37408,51 @@ }, { "constant": false, - "id": 5033, - "indexed": false, - "name": "who", + "id": 7650, + "name": "_lastHash", "nodeType": "VariableDeclaration", - "scope": 5035, - "src": "976:11:6", + "scope": 7672, + "src": "38110:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 5032, - "name": "address", + "id": 7649, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "976:7:6", - "stateMutability": "nonpayable", + "src": "38110:7:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" - } - ], - "src": "951:37:6" - }, - "src": "927:62:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 5041, - "name": "ChallengeSuperblock", - "nodeType": "EventDefinition", - "parameters": { - "id": 5040, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 5037, - "indexed": false, - "name": "superblockHash", + "id": 7652, + "name": "_lastBits", "nodeType": "VariableDeclaration", - "scope": 5041, - "src": "1020:22:6", + "scope": 7672, + "src": "38137:16:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, "typeName": { - "id": 5036, - "name": "bytes32", + "id": 7651, + "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1020:7:6", + "src": "38137:6:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "value": null, @@ -35409,55 +37460,44 @@ }, { "constant": false, - "id": 5039, - "indexed": false, - "name": "who", + "id": 7654, + "name": "_parentId", "nodeType": "VariableDeclaration", - "scope": 5041, - "src": "1044:11:6", + "scope": 7672, + "src": "38163:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 5038, - "name": "address", + "id": 7653, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1044:7:6", - "stateMutability": "nonpayable", + "src": "38163:7:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], - "src": "1019:37:6" + "src": "38012:174:6" }, - "src": "994:63:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 5047, - "name": "SemiApprovedSuperblock", - "nodeType": "EventDefinition", - "parameters": { - "id": 5046, + "returnParameters": { + "id": 7658, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5043, - "indexed": false, - "name": "superblockHash", + "id": 7657, + "name": "", "nodeType": "VariableDeclaration", - "scope": 5047, - "src": "1091:22:6", + "scope": 7672, + "src": "38208:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35465,10 +37505,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5042, + "id": 7656, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1091:7:6", + "src": "38208:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -35476,58 +37516,483 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "38207:9:6" + }, + "scope": 7851, + "src": "37985:444:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 7679, + "nodeType": "Block", + "src": "38617:38:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7677, + "name": "bestSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5030, + "src": "38634:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 7676, + "id": 7678, + "nodeType": "Return", + "src": "38627:21:6" + } + ] + }, + "documentation": null, + "id": 7680, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBestSuperblock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7673, + "nodeType": "ParameterList", + "parameters": [], + "src": "38582:2:6" + }, + "returnParameters": { + "id": 7676, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 5045, - "indexed": false, - "name": "who", + "id": 7675, + "name": "", "nodeType": "VariableDeclaration", - "scope": 5047, - "src": "1115:11:6", + "scope": 7680, + "src": "38608:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 5044, - "name": "address", + "id": 7674, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1115:7:6", - "stateMutability": "nonpayable", + "src": "38608:7:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], - "src": "1090:37:6" + "src": "38607:9:6" }, - "src": "1062:66:6" + "scope": 7851, + "src": "38556:99:6", + "stateMutability": "view", + "superFunction": 8243, + "visibility": "external" }, { - "anonymous": false, + "body": { + "id": 7729, + "nodeType": "Block", + "src": "39063:414:6", + "statements": [ + { + "assignments": [ + 7704 + ], + "declarations": [ + { + "constant": false, + "id": 7704, + "name": "superblock", + "nodeType": "VariableDeclaration", + "scope": 7729, + "src": "39073:33:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + }, + "typeName": { + "contractScope": null, + "id": 7703, + "name": "SuperblockInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8137, + "src": "39073:14:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7708, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7705, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "39109:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 7707, + "indexExpression": { + "argumentTypes": null, + "id": 7706, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7682, + "src": "39121:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "39109:27:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "39073:63:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7709, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7704, + "src": "39167:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 7710, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "blocksMerkleRoot", + "nodeType": "MemberAccess", + "referencedDeclaration": 8120, + "src": "39167:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7711, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7704, + "src": "39208:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 7712, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8122, + "src": "39208:20:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7713, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7704, + "src": "39242:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 7714, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "mtpTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8124, + "src": "39242:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7715, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7704, + "src": "39279:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 7716, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 8126, + "src": "39279:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7717, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7704, + "src": "39312:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 7718, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastBits", + "nodeType": "MemberAccess", + "referencedDeclaration": 8132, + "src": "39312:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7719, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7704, + "src": "39345:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 7720, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "parentId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8128, + "src": "39345:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7721, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7704, + "src": "39378:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 7722, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "submitter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8130, + "src": "39378:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7723, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7704, + "src": "39412:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 7724, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "39412:17:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7725, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7704, + "src": "39443:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 7726, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "height", + "nodeType": "MemberAccess", + "referencedDeclaration": 8134, + "src": "39443:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "id": 7727, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "39153:317:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", + "typeString": "tuple(bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" + } + }, + "functionReturnParameters": 7702, + "id": 7728, + "nodeType": "Return", + "src": "39146:324:6" + } + ] + }, "documentation": null, - "id": 5053, - "name": "InvalidSuperblock", - "nodeType": "EventDefinition", + "id": 7730, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getSuperblock", + "nodeType": "FunctionDefinition", "parameters": { - "id": 5052, + "id": 7683, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5049, - "indexed": false, + "id": 7682, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 5053, - "src": "1157:22:6", + "scope": 7730, + "src": "38766:22:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35535,10 +38000,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5048, + "id": 7681, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1157:7:6", + "src": "38766:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -35546,72 +38011,61 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "38765:24:6" + }, + "returnParameters": { + "id": 7702, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 5051, - "indexed": false, - "name": "who", + "id": 7685, + "name": "_blocksMerkleRoot", "nodeType": "VariableDeclaration", - "scope": 5053, - "src": "1181:11:6", + "scope": 7730, + "src": "38822:25:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 5050, - "name": "address", + "id": 7684, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1181:7:6", - "stateMutability": "nonpayable", + "src": "38822:7:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" - } - ], - "src": "1156:37:6" - }, - "src": "1133:61:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 5059, - "name": "ErrorSuperblock", - "nodeType": "EventDefinition", - "parameters": { - "id": 5058, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 5055, - "indexed": false, - "name": "superblockHash", + "id": 7687, + "name": "_timestamp", "nodeType": "VariableDeclaration", - "scope": 5059, - "src": "1222:22:6", + "scope": 7730, + "src": "38857:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 5054, - "name": "bytes32", + "id": 7686, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1222:7:6", + "src": "38857:4:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, @@ -35619,12 +38073,11 @@ }, { "constant": false, - "id": 5057, - "indexed": false, - "name": "err", + "id": 7689, + "name": "_mtpTimestamp", "nodeType": "VariableDeclaration", - "scope": 5059, - "src": "1246:8:6", + "scope": 7730, + "src": "38882:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35632,10 +38085,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5056, + "id": 7688, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1246:4:6", + "src": "38882:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35643,30 +38096,14 @@ }, "value": null, "visibility": "internal" - } - ], - "src": "1221:34:6" - }, - "src": "1200:56:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 5065, - "name": "VerifyTransaction", - "nodeType": "EventDefinition", - "parameters": { - "id": 5064, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 5061, - "indexed": false, - "name": "txHash", + "id": 7691, + "name": "_lastHash", "nodeType": "VariableDeclaration", - "scope": 5065, - "src": "1286:14:6", + "scope": 7730, + "src": "38910:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35674,10 +38111,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5060, + "id": 7690, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1286:7:6", + "src": "38910:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -35688,54 +38125,37 @@ }, { "constant": false, - "id": 5063, - "indexed": false, - "name": "returnCode", + "id": 7693, + "name": "_lastBits", "nodeType": "VariableDeclaration", - "scope": 5065, - "src": "1302:15:6", + "scope": 7730, + "src": "38937:16:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, "typeName": { - "id": 5062, - "name": "uint", + "id": 7692, + "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1302:4:6", + "src": "38937:6:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "value": null, "visibility": "internal" - } - ], - "src": "1285:33:6" - }, - "src": "1262:57:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 5071, - "name": "RelayTransaction", - "nodeType": "EventDefinition", - "parameters": { - "id": 5070, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 5067, - "indexed": false, - "name": "txHash", + "id": 7695, + "name": "_parentId", "nodeType": "VariableDeclaration", - "scope": 5071, - "src": "1347:14:6", + "scope": 7730, + "src": "38963:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35743,10 +38163,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5066, + "id": 7694, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1347:7:6", + "src": "38963:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -35757,1071 +38177,428 @@ }, { "constant": false, - "id": 5069, - "indexed": false, - "name": "returnCode", + "id": 7697, + "name": "_submitter", "nodeType": "VariableDeclaration", - "scope": 5071, - "src": "1363:15:6", + "scope": 7730, + "src": "38990:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 5068, - "name": "uint", + "id": 7696, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "1363:4:6", + "src": "38990:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" - } - ], - "src": "1346:33:6" - }, - "src": "1324:56:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 5075, - "name": "ChallengeCancelTransferRequest", - "nodeType": "EventDefinition", - "parameters": { - "id": 5074, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 5073, - "indexed": false, - "name": "returnCode", + "id": 7699, + "name": "_status", "nodeType": "VariableDeclaration", - "scope": 5075, - "src": "1422:15:6", + "scope": 7730, + "src": "39018:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { - "id": 5072, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1422:4:6", + "contractScope": null, + "id": 7698, + "name": "Status", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8118, + "src": "39018:6:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, "value": null, "visibility": "internal" - } - ], - "src": "1421:17:6" - }, - "src": "1385:54:6" - }, - { - "constant": false, - "id": 5077, - "name": "trustedClaimManager", - "nodeType": "VariableDeclaration", - "scope": 7493, - "src": "1471:34:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1471:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + }, + { + "constant": false, + "id": 7701, + "name": "_height", + "nodeType": "VariableDeclaration", + "scope": 7730, + "src": "39042:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 7700, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "39042:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "38812:250:6" }, - "value": null, - "visibility": "public" + "scope": 7851, + "src": "38743:734:6", + "stateMutability": "view", + "superFunction": 8181, + "visibility": "external" }, { "body": { - "id": 5087, + "id": 7742, "nodeType": "Block", - "src": "1540:70:6", + "src": "39605:58:6", "statements": [ { "expression": { "argumentTypes": null, - "arguments": [ - { + "expression": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5080, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "1558:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1558:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5082, - "name": "trustedClaimManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "1572:19:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1558:33:6", + "id": 7737, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "39622:11:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" + }, + "id": 7739, + "indexExpression": { + "argumentTypes": null, + "id": 7738, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7732, + "src": "39634:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } - ], - "id": 5079, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "1550:7:6", + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "39622:27:6", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, - "id": 5084, + "id": 7740, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1550:42:6", + "memberName": "height", + "nodeType": "MemberAccess", + "referencedDeclaration": 8134, + "src": "39622:34:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 5085, - "nodeType": "ExpressionStatement", - "src": "1550:42:6" - }, - { - "id": 5086, - "nodeType": "PlaceholderStatement", - "src": "1602:1:6" + "functionReturnParameters": 7736, + "id": 7741, + "nodeType": "Return", + "src": "39615:41:6" } ] }, "documentation": null, - "id": 5088, - "name": "onlyClaimManager", - "nodeType": "ModifierDefinition", + "id": 7743, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getSuperblockHeight", + "nodeType": "FunctionDefinition", "parameters": { - "id": 5078, + "id": 7733, "nodeType": "ParameterList", - "parameters": [], - "src": "1537:2:6" + "parameters": [ + { + "constant": false, + "id": 7732, + "name": "superblockHash", + "nodeType": "VariableDeclaration", + "scope": 7743, + "src": "39552:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7731, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "39552:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "39551:24:6" }, - "src": "1512:98:6", - "visibility": "internal" + "returnParameters": { + "id": 7736, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7735, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 7743, + "src": "39597:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 7734, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "39597:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "39596:8:6" + }, + "scope": 7851, + "src": "39523:140:6", + "stateMutability": "view", + "superFunction": 8255, + "visibility": "public" }, { "body": { - "id": 5139, + "id": 7755, "nodeType": "Block", - "src": "1894:325:6", + "src": "39797:62:6", "statements": [ { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5099, - "name": "syscoinERC20Manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5023, - "src": "1920:19:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", - "typeString": "contract SyscoinTransactionProcessor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", - "typeString": "contract SyscoinTransactionProcessor" - } - ], - "id": 5098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1912:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1912:28:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1952:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1944:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1944:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1912:42:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5105, - "name": "_syscoinERC20Manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5090, - "src": "1958:20:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1990:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1982:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1982:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1958:34:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1912:80:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5097, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "1904:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1904:89:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5112, - "nodeType": "ExpressionStatement", - "src": "1904:89:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5113, - "name": "syscoinERC20Manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5023, - "src": "2003:19:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", - "typeString": "contract SyscoinTransactionProcessor" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5115, - "name": "_syscoinERC20Manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5090, - "src": "2053:20:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "baseExpression": { + "argumentTypes": null, + "id": 7750, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "39814:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5114, - "name": "SyscoinTransactionProcessor", + }, + "id": 7752, + "indexExpression": { + "argumentTypes": null, + "id": 7751, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "2025:27:6", + "referencedDeclaration": 7745, + "src": "39826:15:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SyscoinTransactionProcessor_$7547_$", - "typeString": "type(contract SyscoinTransactionProcessor)" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 5116, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "typeConversion", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2025:49:6", + "nodeType": "IndexAccess", + "src": "39814:28:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", - "typeString": "contract SyscoinTransactionProcessor" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, - "src": "2003:71:6", + "id": 7753, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8122, + "src": "39814:38:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", - "typeString": "contract SyscoinTransactionProcessor" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 5118, - "nodeType": "ExpressionStatement", - "src": "2003:71:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5121, - "name": "trustedClaimManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "2101:19:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2093:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2093:28:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5124, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2133:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2125:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2125:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2093:42:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5127, - "name": "_claimManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5092, - "src": "2139:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2164:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2156:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2156:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2139:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2093:73:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5119, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "2085:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2085:82:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5134, - "nodeType": "ExpressionStatement", - "src": "2085:82:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5135, - "name": "trustedClaimManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "2177:19:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5136, - "name": "_claimManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5092, - "src": "2199:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2177:35:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5138, - "nodeType": "ExpressionStatement", - "src": "2177:35:6" + "functionReturnParameters": 7749, + "id": 7754, + "nodeType": "Return", + "src": "39807:45:6" } ] }, "documentation": null, - "id": 5140, + "id": 7756, "implemented": true, "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5095, - "modifierName": { - "argumentTypes": null, - "id": 5094, - "name": "initializer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8703, - "src": "1882:11:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1882:11:6" - } - ], - "name": "init", + "modifiers": [], + "name": "getSuperblockTimestamp", "nodeType": "FunctionDefinition", "parameters": { - "id": 5093, + "id": 7746, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5090, - "name": "_syscoinERC20Manager", + "id": 7745, + "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 5140, - "src": "1822:28:6", + "scope": 7756, + "src": "39743:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 5089, - "name": "address", + "id": 7744, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1822:7:6", - "stateMutability": "nonpayable", + "src": "39743:7:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" - }, + } + ], + "src": "39742:25:6" + }, + "returnParameters": { + "id": 7749, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 5092, - "name": "_claimManager", + "id": 7748, + "name": "", "nodeType": "VariableDeclaration", - "scope": 5140, - "src": "1852:21:6", + "scope": 7756, + "src": "39791:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 5091, - "name": "address", + "id": 7747, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1852:7:6", - "stateMutability": "nonpayable", + "src": "39791:4:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "1821:53:6" - }, - "returnParameters": { - "id": 5096, - "nodeType": "ParameterList", - "parameters": [], - "src": "1894:0:6" + "src": "39790:6:6" }, - "scope": 7493, - "src": "1808:411:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" + "scope": 7851, + "src": "39711:148:6", + "stateMutability": "view", + "superFunction": 8283, + "visibility": "external" }, { "body": { - "id": 5157, + "id": 7768, "nodeType": "Block", - "src": "2366:107:6", + "src": "40006:65:6", "statements": [ { "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - }, - "id": 5155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5149, - "name": "txBytes", + "id": 7763, + "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5142, - "src": "2440:7:6", + "referencedDeclaration": 5028, + "src": "40023:11:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 5151, + "id": 7765, "indexExpression": { "argumentTypes": null, - "id": 5150, - "name": "pos", + "id": 7764, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5144, - "src": "2448:3:6", + "referencedDeclaration": 7758, + "src": "40035:15:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "isConstant": false, @@ -36829,3255 +38606,11683 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2440:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30783661", - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2461:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_106_by_1", - "typeString": "int_const 106" - }, - "value": "0x6a" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_106_by_1", - "typeString": "int_const 106" - } - ], - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2456:4:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes1_$", - "typeString": "type(bytes1)" - }, - "typeName": "byte" - }, - "id": 5154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2456:10:6", + "src": "40023:28:6", "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, - "src": "2440:26:6", + "id": 7766, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "mtpTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8124, + "src": "40023:41:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "functionReturnParameters": 5148, - "id": 5156, + "functionReturnParameters": 7762, + "id": 7767, "nodeType": "Return", - "src": "2433:33:6" + "src": "40016:48:6" } ] }, "documentation": null, - "id": 5158, + "id": 7769, "implemented": true, "kind": "function", "modifiers": [], - "name": "isOpReturn", + "name": "getSuperblockMedianTimestamp", "nodeType": "FunctionDefinition", "parameters": { - "id": 5145, + "id": 7759, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5142, - "name": "txBytes", - "nodeType": "VariableDeclaration", - "scope": 5158, - "src": "2305:20:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5141, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2305:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5144, - "name": "pos", + "id": 7758, + "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 5158, - "src": "2327:8:6", + "scope": 7769, + "src": "39952:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 5143, - "name": "uint", + "id": 7757, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2327:4:6", + "src": "39952:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], - "src": "2304:32:6" + "src": "39951:25:6" }, "returnParameters": { - "id": 5148, + "id": 7762, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5147, + "id": 7761, "name": "", "nodeType": "VariableDeclaration", - "scope": 5158, - "src": "2360:4:6", + "scope": 7769, + "src": "40000:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 5146, - "name": "bool", + "id": 7760, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2360:4:6", + "src": "40000:4:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "2359:6:6" + "src": "39999:6:6" }, - "scope": 7493, - "src": "2285:188:6", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" + "scope": 7851, + "src": "39914:157:6", + "stateMutability": "view", + "superFunction": 8290, + "visibility": "external" }, { "body": { - "id": 5282, + "id": 7781, "nodeType": "Block", - "src": "2568:328:6", + "src": "40204:61:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 5280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5167, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5165, - "src": "2578:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "baseExpression": { + "argumentTypes": null, + "id": 7776, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "40221:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 7778, + "indexExpression": { + "argumentTypes": null, + "id": 7777, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7771, + "src": "40233:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, - "id": 5279, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, + "nodeType": "IndexAccess", + "src": "40221:28:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } + }, + "id": 7779, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "parentId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8128, + "src": "40221:37:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 7775, + "id": 7780, + "nodeType": "Return", + "src": "40214:44:6" + } + ] + }, + "documentation": null, + "id": 7782, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getSuperblockParentId", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7771, + "name": "_superblockHash", + "nodeType": "VariableDeclaration", + "scope": 7782, + "src": "40147:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7770, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "40147:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "40146:25:6" + }, + "returnParameters": { + "id": 7775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7774, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 7782, + "src": "40195:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7773, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "40195:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "40194:9:6" + }, + "scope": 7851, + "src": "40116:149:6", + "stateMutability": "view", + "superFunction": 8262, + "visibility": "external" + }, + { + "body": { + "id": 7794, + "nodeType": "Block", + "src": "40394:59:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7789, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "40411:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 7791, + "indexExpression": { + "argumentTypes": null, + "id": 7790, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7784, + "src": "40423:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40411:28:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } + }, + "id": 7792, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "40411:35:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "functionReturnParameters": 7788, + "id": 7793, + "nodeType": "Return", + "src": "40404:42:6" + } + ] + }, + "documentation": null, + "id": 7795, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getSuperblockStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7785, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7784, + "name": "_superblockHash", + "nodeType": "VariableDeclaration", + "scope": 7795, + "src": "40340:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7783, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "40340:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "40339:25:6" + }, + "returnParameters": { + "id": 7788, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7787, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 7795, + "src": "40386:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + }, + "typeName": { + "contractScope": null, + "id": 7786, + "name": "Status", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8118, + "src": "40386:6:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "40385:8:6" + }, + "scope": 7851, + "src": "40311:142:6", + "stateMutability": "view", + "superFunction": 8269, + "visibility": "public" + }, + { + "body": { + "id": 7810, + "nodeType": "Block", + "src": "40532:81:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 5266, + "id": 7807, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "arguments": [ + { + "argumentTypes": null, + "id": 7803, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7797, + "src": "40570:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7802, + "name": "getSuperblockStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7795, + "src": "40550:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Status_$8118_$", + "typeString": "function (bytes32) view returns (enum SyscoinSuperblocksI.Status)" + } }, - "id": 5251, + "id": 7804, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftExpression": { + "names": [], + "nodeType": "FunctionCall", + "src": "40550:36:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 5236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 5221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 5191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5170, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2600:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5174, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5171, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2606:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "37", - "id": 5172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2610:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "2606:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2600:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2594:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 5175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2594:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2587:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 5176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2587:27:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 5190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5179, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2630:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5183, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5180, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2636:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 5181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2642:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "2636:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2630:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5178, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, + "id": 7805, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "40590:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 7806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Approved", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "40590:15:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "src": "40550:55:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 7808, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "40549:57:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 7801, + "id": 7809, + "nodeType": "Return", + "src": "40542:64:6" + } + ] + }, + "documentation": null, + "id": 7811, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isApproved", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7797, + "name": "_superblockHash", + "nodeType": "VariableDeclaration", + "scope": 7811, + "src": "40479:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7796, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "40479:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "40478:25:6" + }, + "returnParameters": { + "id": 7801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7800, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 7811, + "src": "40526:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7799, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40526:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "40525:6:6" + }, + "scope": 7851, + "src": "40459:154:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 7821, + "nodeType": "Block", + "src": "40671:58:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7816, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "40688:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 7818, + "indexExpression": { + "argumentTypes": null, + "id": 7817, + "name": "bestSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5030, + "src": "40700:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40688:27:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } + }, + "id": 7819, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "height", + "nodeType": "MemberAccess", + "referencedDeclaration": 8134, + "src": "40688:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "functionReturnParameters": 7815, + "id": 7820, + "nodeType": "Return", + "src": "40681:41:6" + } + ] + }, + "documentation": null, + "id": 7822, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getChainHeight", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7812, + "nodeType": "ParameterList", + "parameters": [], + "src": "40641:2:6" + }, + "returnParameters": { + "id": 7815, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7814, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 7822, + "src": "40665:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7813, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40665:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "40664:6:6" + }, + "scope": 7851, + "src": "40618:111:6", + "stateMutability": "view", + "superFunction": 8248, + "visibility": "public" + }, + { + "body": { + "id": 7849, + "nodeType": "Block", + "src": "40998:230:6", + "statements": [ + { + "assignments": [ + 7830 + ], + "declarations": [ + { + "constant": false, + "id": 7830, + "name": "superblockHash", + "nodeType": "VariableDeclaration", + "scope": 7849, + "src": "41008:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7829, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "41008:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7832, + "initialValue": { + "argumentTypes": null, + "id": 7831, + "name": "bestSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5030, + "src": "41033:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "41008:39:6" + }, + { + "body": { + "id": 7845, + "nodeType": "Block", + "src": "41112:78:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7838, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7830, + "src": "41126:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7839, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "41143:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 7841, + "indexExpression": { + "argumentTypes": null, + "id": 7840, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7830, + "src": "41155:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "41143:27:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } + }, + "id": 7842, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "parentId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8128, + "src": "41143:36:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "41126:53:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7844, + "nodeType": "ExpressionStatement", + "src": "41126:53:6" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7834, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7830, + "src": "41085:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7833, + "name": "getSuperblockHeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7743, + "src": "41065:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint32_$", + "typeString": "function (bytes32) view returns (uint32)" + } + }, + "id": 7835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "41065:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 7836, + "name": "_height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7824, + "src": "41103:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "41065:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7846, + "nodeType": "WhileStatement", + "src": "41058:132:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7847, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7830, + "src": "41207:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 7828, + "id": 7848, + "nodeType": "Return", + "src": "41200:21:6" + } + ] + }, + "documentation": null, + "id": 7850, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getSuperblockAt", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7825, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7824, + "name": "_height", + "nodeType": "VariableDeclaration", + "scope": 7850, + "src": "40952:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7823, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40952:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "40951:14:6" + }, + "returnParameters": { + "id": 7828, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7827, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 7850, + "src": "40989:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7826, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "40989:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "40988:9:6" + }, + "scope": 7851, + "src": "40927:301:6", + "stateMutability": "view", + "superFunction": 8276, + "visibility": "external" + } + ], + "scope": 7852, + "src": "350:40880:6" + } + ], + "src": "0:41231:6" + }, + "legacyAST": { + "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinSuperblocks.sol", + "exportedSymbols": { + "SyscoinSuperblocks": [ + 7851 + ] + }, + "id": 7852, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5002, + "literals": [ + "solidity", + "^", + "0.5", + ".13" + ], + "nodeType": "PragmaDirective", + "src": "0:24:6" + }, + { + "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol", + "file": "./interfaces/SyscoinSuperblocksI.sol", + "id": 5003, + "nodeType": "ImportDirective", + "scope": 7852, + "sourceUnit": 8313, + "src": "26:46:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinErrorCodes.sol", + "file": "./SyscoinErrorCodes.sol", + "id": 5004, + "nodeType": "ImportDirective", + "scope": 7852, + "sourceUnit": 4687, + "src": "73:33:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol", + "file": "./SyscoinTransactionProcessor.sol", + "id": 5005, + "nodeType": "ImportDirective", + "scope": 7852, + "sourceUnit": 8048, + "src": "107:43:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/upgrades/contracts/Initializable.sol", + "file": "@openzeppelin/upgrades/contracts/Initializable.sol", + "id": 5006, + "nodeType": "ImportDirective", + "scope": 7852, + "sourceUnit": 9342, + "src": "151:60:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinParser/SyscoinMessageLibrary.sol", + "file": "./SyscoinParser/SyscoinMessageLibrary.sol", + "id": 5007, + "nodeType": "ImportDirective", + "scope": 7852, + "sourceUnit": 5001, + "src": "212:51:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5008, + "name": "Initializable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 9341, + "src": "381:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Initializable_$9341", + "typeString": "contract Initializable" + } + }, + "id": 5009, + "nodeType": "InheritanceSpecifier", + "src": "381:13:6" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5010, + "name": "SyscoinSuperblocksI", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8312, + "src": "396:19:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinSuperblocksI_$8312", + "typeString": "contract SyscoinSuperblocksI" + } + }, + "id": 5011, + "nodeType": "InheritanceSpecifier", + "src": "396:19:6" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5012, + "name": "SyscoinErrorCodes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4686, + "src": "417:17:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinErrorCodes_$4686", + "typeString": "contract SyscoinErrorCodes" + } + }, + "id": 5013, + "nodeType": "InheritanceSpecifier", + "src": "417:17:6" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5014, + "name": "SyscoinMessageLibrary", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5000, + "src": "436:21:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinMessageLibrary_$5000", + "typeString": "contract SyscoinMessageLibrary" + } + }, + "id": 5015, + "nodeType": "InheritanceSpecifier", + "src": "436:21:6" + } + ], + "contractDependencies": [ + 4686, + 5000, + 8312, + 9341 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 7851, + "linearizedBaseContracts": [ + 7851, + 5000, + 4686, + 8312, + 9341 + ], + "name": "SyscoinSuperblocks", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 5018, + "name": "ERR_PARSE_TX_SYS", + "nodeType": "VariableDeclaration", + "scope": 7851, + "src": "465:38:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5016, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "465:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130313730", + "id": 5017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "498:5:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10170_by_1", + "typeString": "int_const 10170" + }, + "value": "10170" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 5021, + "name": "SYSCOIN_TX_VERSION_ALLOCATION_BURN_TO_ETHEREUM", + "nodeType": "VariableDeclaration", + "scope": 7851, + "src": "510:71:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5019, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "510:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307837343037", + "id": 5020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "575:6:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_29703_by_1", + "typeString": "int_const 29703" + }, + "value": "0x7407" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 5024, + "name": "SYSCOIN_TX_VERSION_ALLOCATION_MINT", + "nodeType": "VariableDeclaration", + "scope": 7851, + "src": "587:59:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5022, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "587:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307837343036", + "id": 5023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "640:6:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_29702_by_1", + "typeString": "int_const 29702" + }, + "value": "0x7406" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5028, + "name": "superblocks", + "nodeType": "VariableDeclaration", + "scope": 7851, + "src": "705:56:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo)" + }, + "typeName": { + "id": 5027, + "keyType": { + "id": 5025, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "714:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "705:35:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo)" + }, + "valueType": { + "contractScope": null, + "id": 5026, + "name": "SuperblockInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8137, + "src": "725:14:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5030, + "name": "bestSuperblock", + "nodeType": "VariableDeclaration", + "scope": 7851, + "src": "768:31:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5029, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "768:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5032, + "name": "syscoinERC20Manager", + "nodeType": "VariableDeclaration", + "scope": 7851, + "src": "806:54:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", + "typeString": "contract SyscoinTransactionProcessor" + }, + "typeName": { + "contractScope": null, + "id": 5031, + "name": "SyscoinTransactionProcessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8047, + "src": "806:27:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", + "typeString": "contract SyscoinTransactionProcessor" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 5038, + "name": "NewSuperblock", + "nodeType": "EventDefinition", + "parameters": { + "id": 5037, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5034, + "indexed": false, + "name": "superblockHash", + "nodeType": "VariableDeclaration", + "scope": 5038, + "src": "887:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5033, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "887:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5036, + "indexed": false, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 5038, + "src": "911:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5035, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "911:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "886:37:6" + }, + "src": "867:57:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 5044, + "name": "ApprovedSuperblock", + "nodeType": "EventDefinition", + "parameters": { + "id": 5043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5040, + "indexed": false, + "name": "superblockHash", + "nodeType": "VariableDeclaration", + "scope": 5044, + "src": "954:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5039, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "954:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5042, + "indexed": false, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 5044, + "src": "978:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5041, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "978:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "953:37:6" + }, + "src": "929:62:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 5050, + "name": "ChallengeSuperblock", + "nodeType": "EventDefinition", + "parameters": { + "id": 5049, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5046, + "indexed": false, + "name": "superblockHash", + "nodeType": "VariableDeclaration", + "scope": 5050, + "src": "1022:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5045, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1022:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5048, + "indexed": false, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 5050, + "src": "1046:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1046:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1021:37:6" + }, + "src": "996:63:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 5056, + "name": "SemiApprovedSuperblock", + "nodeType": "EventDefinition", + "parameters": { + "id": 5055, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5052, + "indexed": false, + "name": "superblockHash", + "nodeType": "VariableDeclaration", + "scope": 5056, + "src": "1093:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5051, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1093:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5054, + "indexed": false, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 5056, + "src": "1117:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5053, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1117:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1092:37:6" + }, + "src": "1064:66:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 5062, + "name": "InvalidSuperblock", + "nodeType": "EventDefinition", + "parameters": { + "id": 5061, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5058, + "indexed": false, + "name": "superblockHash", + "nodeType": "VariableDeclaration", + "scope": 5062, + "src": "1159:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5057, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1159:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5060, + "indexed": false, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 5062, + "src": "1183:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5059, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1183:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1158:37:6" + }, + "src": "1135:61:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 5068, + "name": "ErrorSuperblock", + "nodeType": "EventDefinition", + "parameters": { + "id": 5067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5064, + "indexed": false, + "name": "superblockHash", + "nodeType": "VariableDeclaration", + "scope": 5068, + "src": "1224:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5063, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1224:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5066, + "indexed": false, + "name": "err", + "nodeType": "VariableDeclaration", + "scope": 5068, + "src": "1248:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5065, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1248:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1223:34:6" + }, + "src": "1202:56:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 5074, + "name": "VerifyTransaction", + "nodeType": "EventDefinition", + "parameters": { + "id": 5073, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5070, + "indexed": false, + "name": "txHash", + "nodeType": "VariableDeclaration", + "scope": 5074, + "src": "1288:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5069, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1288:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5072, + "indexed": false, + "name": "returnCode", + "nodeType": "VariableDeclaration", + "scope": 5074, + "src": "1304:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5071, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1304:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1287:33:6" + }, + "src": "1264:57:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 5080, + "name": "RelayTransaction", + "nodeType": "EventDefinition", + "parameters": { + "id": 5079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5076, + "indexed": false, + "name": "txHash", + "nodeType": "VariableDeclaration", + "scope": 5080, + "src": "1349:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5075, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1349:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5078, + "indexed": false, + "name": "returnCode", + "nodeType": "VariableDeclaration", + "scope": 5080, + "src": "1365:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5077, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1365:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1348:33:6" + }, + "src": "1326:56:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 5084, + "name": "ChallengeCancelTransferRequest", + "nodeType": "EventDefinition", + "parameters": { + "id": 5083, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5082, + "indexed": false, + "name": "returnCode", + "nodeType": "VariableDeclaration", + "scope": 5084, + "src": "1424:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5081, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1424:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1423:17:6" + }, + "src": "1387:54:6" + }, + { + "constant": false, + "id": 5086, + "name": "trustedClaimManager", + "nodeType": "VariableDeclaration", + "scope": 7851, + "src": "1473:34:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5085, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1473:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 5089, + "name": "SYSCOIN_TX_VERSION_ASSET_ACTIVATE", + "nodeType": "VariableDeclaration", + "scope": 7851, + "src": "1514:58:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5087, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1514:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307837343032", + "id": 5088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1566:6:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_29698_by_1", + "typeString": "int_const 29698" + }, + "value": "0x7402" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 5092, + "name": "SYSCOIN_TX_VERSION_ASSET_UPDATE", + "nodeType": "VariableDeclaration", + "scope": 7851, + "src": "1578:56:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5090, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1578:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307837343033", + "id": 5091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1628:6:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_29699_by_1", + "typeString": "int_const 29699" + }, + "value": "0x7403" + }, + "visibility": "internal" + }, + { + "body": { + "id": 5102, + "nodeType": "Block", + "src": "1668:70:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5095, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "1686:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1686:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5097, + "name": "trustedClaimManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5086, + "src": "1700:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1686:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5094, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "1678:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1678:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5100, + "nodeType": "ExpressionStatement", + "src": "1678:42:6" + }, + { + "id": 5101, + "nodeType": "PlaceholderStatement", + "src": "1730:1:6" + } + ] + }, + "documentation": null, + "id": 5103, + "name": "onlyClaimManager", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5093, + "nodeType": "ParameterList", + "parameters": [], + "src": "1665:2:6" + }, + "src": "1640:98:6", + "visibility": "internal" + }, + { + "body": { + "id": 5154, + "nodeType": "Block", + "src": "2022:325:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5114, + "name": "syscoinERC20Manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5032, + "src": "2048:19:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", + "typeString": "contract SyscoinTransactionProcessor" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", + "typeString": "contract SyscoinTransactionProcessor" + } + ], + "id": 5113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2040:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2040:28:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2080:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2072:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2072:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2040:42:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5120, + "name": "_syscoinERC20Manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5105, + "src": "2086:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5122, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2118:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2110:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2110:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2086:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2040:80:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5112, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "2032:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2032:89:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5127, + "nodeType": "ExpressionStatement", + "src": "2032:89:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5128, + "name": "syscoinERC20Manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5032, + "src": "2131:19:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", + "typeString": "contract SyscoinTransactionProcessor" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5130, + "name": "_syscoinERC20Manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5105, + "src": "2181:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5129, + "name": "SyscoinTransactionProcessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8047, + "src": "2153:27:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SyscoinTransactionProcessor_$8047_$", + "typeString": "type(contract SyscoinTransactionProcessor)" + } + }, + "id": 5131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2153:49:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", + "typeString": "contract SyscoinTransactionProcessor" + } + }, + "src": "2131:71:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", + "typeString": "contract SyscoinTransactionProcessor" + } + }, + "id": 5133, + "nodeType": "ExpressionStatement", + "src": "2131:71:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5136, + "name": "trustedClaimManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5086, + "src": "2229:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2221:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2221:28:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2261:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2253:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2253:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2221:42:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5142, + "name": "_claimManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5107, + "src": "2267:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2292:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2284:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2284:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2267:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2221:73:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5134, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "2213:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2213:82:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5149, + "nodeType": "ExpressionStatement", + "src": "2213:82:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5150, + "name": "trustedClaimManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5086, + "src": "2305:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5151, + "name": "_claimManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5107, + "src": "2327:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2305:35:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5153, + "nodeType": "ExpressionStatement", + "src": "2305:35:6" + } + ] + }, + "documentation": null, + "id": 5155, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5110, + "modifierName": { + "argumentTypes": null, + "id": 5109, + "name": "initializer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9322, + "src": "2010:11:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2010:11:6" + } + ], + "name": "init", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5108, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5105, + "name": "_syscoinERC20Manager", + "nodeType": "VariableDeclaration", + "scope": 5155, + "src": "1950:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5104, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1950:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5107, + "name": "_claimManager", + "nodeType": "VariableDeclaration", + "scope": 5155, + "src": "1980:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5106, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1980:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1949:53:6" + }, + "returnParameters": { + "id": 5111, + "nodeType": "ParameterList", + "parameters": [], + "src": "2022:0:6" + }, + "scope": 7851, + "src": "1936:411:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5172, + "nodeType": "Block", + "src": "2494:107:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 5170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5164, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5157, + "src": "2568:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5166, + "indexExpression": { + "argumentTypes": null, + "id": 5165, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5159, + "src": "2576:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2568:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30783661", + "id": 5168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2589:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_106_by_1", + "typeString": "int_const 106" + }, + "value": "0x6a" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_106_by_1", + "typeString": "int_const 106" + } + ], + "id": 5167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2584:4:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": "byte" + }, + "id": 5169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2584:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "2568:26:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5163, + "id": 5171, + "nodeType": "Return", + "src": "2561:33:6" + } + ] + }, + "documentation": null, + "id": 5173, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOpReturn", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5160, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5157, + "name": "txBytes", + "nodeType": "VariableDeclaration", + "scope": 5173, + "src": "2433:20:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5156, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2433:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5159, + "name": "pos", + "nodeType": "VariableDeclaration", + "scope": 5173, + "src": "2455:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5158, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2455:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2432:32:6" + }, + "returnParameters": { + "id": 5163, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5162, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5173, + "src": "2488:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5161, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2488:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2487:6:6" + }, + "scope": 7851, + "src": "2413:188:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5297, + "nodeType": "Block", + "src": "2696:328:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5182, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5180, + "src": "2706:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5185, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "2728:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5189, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5186, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5177, + "src": "2734:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "37", + "id": 5187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2738:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "2734:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2728:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2722:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" + }, + "id": 5190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2722:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2715:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": "uint64" + }, + "id": 5191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2715:27:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5194, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "2758:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5198, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5195, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5177, + "src": "2764:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "36", + "id": 5196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2770:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "src": "2764:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2758:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2624:5:6", + "src": "2752:5:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 5184, + "id": 5199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2752:21:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2745:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": "uint64" + }, + "id": 5200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2745:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "id": 5203, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2776:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "38", + "id": 5202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2779:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "2776:4:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } + } + ], + "id": 5204, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2775:6:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } + }, + "src": "2745:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "2715:66:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5209, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "2797:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5213, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5210, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5177, + "src": "2803:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "35", + "id": 5211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2809:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "2803:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2797:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2791:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" + }, + "id": 5214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2791:21:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2784:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": "uint64" + }, + "id": 5215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2784:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + }, + "id": 5218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5216, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2815:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3136", + "id": 5217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2818:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "2815:5:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + } + ], + "id": 5219, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2814:7:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + }, + "src": "2784:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "2715:106:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5224, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "2837:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5228, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5225, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5177, + "src": "2843:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "34", + "id": 5226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2849:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "2843:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2837:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2831:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" + }, + "id": 5229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2831:21:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2824:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": "uint64" + }, + "id": 5230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2824:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_16777216_by_1", + "typeString": "int_const 16777216" + }, + "id": 5233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2855:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3234", + "id": 5232, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2858:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + "value": "24" + }, + "src": "2855:5:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_16777216_by_1", + "typeString": "int_const 16777216" + } + } + ], + "id": 5234, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2854:7:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_16777216_by_1", + "typeString": "int_const 16777216" + } + }, + "src": "2824:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "2715:146:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5239, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "2877:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5243, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5242, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "typeConversion", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2624:21:6", + "leftExpression": { + "argumentTypes": null, + "id": 5240, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5177, + "src": "2883:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "33", + "id": 5241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2889:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "2883:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2877:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2871:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" + }, + "id": 5244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2871:21:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2864:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": "uint64" + }, + "id": 5245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2864:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + }, + "id": 5248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2895:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 5247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2898:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "2895:5:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + } + } + ], + "id": 5249, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2894:7:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + } + }, + "src": "2864:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "2715:186:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5254, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "2917:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5258, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5255, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5177, + "src": "2923:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2929:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "2923:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2917:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2911:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" + }, + "id": 5259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2911:21:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2904:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": "uint64" + }, + "id": 5260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2904:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_1099511627776_by_1", + "typeString": "int_const 1099511627776" + }, + "id": 5263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5261, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2935:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3430", + "id": 5262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2938:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_40_by_1", + "typeString": "int_const 40" + }, + "value": "40" + }, + "src": "2935:5:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_1099511627776_by_1", + "typeString": "int_const 1099511627776" + } + } + ], + "id": 5264, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2934:7:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_1099511627776_by_1", + "typeString": "int_const 1099511627776" + } + }, + "src": "2904:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "2715:226:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5269, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "2957:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5273, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5270, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5177, + "src": "2963:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5271, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2969:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2963:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2957:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2951:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" + }, + "id": 5274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2951:21:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5267, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2944:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": "uint64" + }, + "id": 5275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2944:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_281474976710656_by_1", + "typeString": "int_const 281474976710656" + }, + "id": 5278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2975:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3438", + "id": 5277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2978:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "src": "2975:5:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_281474976710656_by_1", + "typeString": "int_const 281474976710656" + } + } + ], + "id": 5279, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2974:7:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_281474976710656_by_1", + "typeString": "int_const 281474976710656" + } + }, + "src": "2944:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "2715:266:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 5293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5284, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5175, + "src": "2997:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5286, + "indexExpression": { + "argumentTypes": null, + "id": 5285, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5177, + "src": "3003:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2997:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2991:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" + }, + "id": 5287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2991:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2984:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": "uint64" + }, + "id": 5288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2984:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_72057594037927936_by_1", + "typeString": "int_const 72057594037927936" + }, + "id": 5291, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5289, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3011:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3536", + "id": 5290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3014:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_56_by_1", + "typeString": "int_const 56" + }, + "value": "56" + }, + "src": "3011:5:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_72057594037927936_by_1", + "typeString": "int_const 72057594037927936" + } + } + ], + "id": 5292, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3010:7:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_72057594037927936_by_1", + "typeString": "int_const 72057594037927936" + } + }, + "src": "2984:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "2715:302:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "2706:311:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 5296, + "nodeType": "ExpressionStatement", + "src": "2706:311:6" + } + ] + }, + "documentation": null, + "id": 5298, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bytesToUint64", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5175, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 5298, + "src": "2630:18:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5174, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2630:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5177, + "name": "pos", + "nodeType": "VariableDeclaration", + "scope": 5298, + "src": "2650:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5176, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2650:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2629:30:6" + }, + "returnParameters": { + "id": 5181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5180, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 5298, + "src": "2681:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 5179, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2681:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2680:15:6" + }, + "scope": 7851, + "src": "2607:417:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5362, + "nodeType": "Block", + "src": "3119:168:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5307, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5305, + "src": "3129:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 5359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 5346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 5331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5310, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5300, + "src": "3151:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5314, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5311, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5302, + "src": "3157:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5177, + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "33", + "id": 5312, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2617:6:6", + "nodeType": "Literal", + "src": "3161:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" }, - "typeName": "uint64" + "value": "3" }, - "id": 5185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2617:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "id": 5188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2648:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2651:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "2648:4:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - } - } - ], - "id": 5189, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2647:6:6", + "src": "3157:5:6", "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "2617:36:6", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3151:12:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" } - }, - "src": "2587:66:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 5205, + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5309, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { + "nodeType": "ElementaryTypeNameExpression", + "src": "3145:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" + }, + "id": 5315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3145:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3138:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": "uint32" + }, + "id": 5316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3138:27:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 5330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5194, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2669:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5198, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5195, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2675:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "35", - "id": 5196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2681:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "src": "2675:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2669:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } + "id": 5319, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5300, + "src": "3181:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5323, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5320, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5302, + "src": "3187:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5193, + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5321, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2663:5:6", + "nodeType": "Literal", + "src": "3193:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" }, - "typeName": "uint8" + "value": "2" }, - "id": 5199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2663:21:6", + "src": "3187:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "id": 5192, + }, "isConstant": false, - "isLValue": false, - "isPure": true, + "isLValue": true, + "isPure": false, "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2656:6:6", + "nodeType": "IndexAccess", + "src": "3181:14:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3175:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" }, - "id": 5200, + "typeName": "uint8" + }, + "id": 5324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3175:21:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3168:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": "uint32" + }, + "id": 5325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3168:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "id": 5328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5326, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "typeConversion", + "isPure": true, + "kind": "number", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2656:29:6", + "nodeType": "Literal", + "src": "3199:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" }, "nodeType": "BinaryOperation", - "operator": "*", + "operator": "**", "rightExpression": { "argumentTypes": null, - "components": [ - { + "hexValue": "38", + "id": 5327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3202:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "3199:4:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } + } + ], + "id": 5329, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3198:6:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } + }, + "src": "3168:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "3138:66:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 5345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5334, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5300, + "src": "3220:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5338, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_65536_by_1", - "typeString": "int_const 65536" - }, - "id": 5203, + "id": 5335, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5302, + "src": "3226:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5336, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2687:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3136", - "id": 5202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2690:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "2687:5:6", + "nodeType": "Literal", + "src": "3232:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_65536_by_1", - "typeString": "int_const 65536" - } + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3226:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "id": 5204, + }, "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, + "isLValue": true, + "isPure": false, "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2686:7:6", + "nodeType": "IndexAccess", + "src": "3220:14:6", "typeDescriptions": { - "typeIdentifier": "t_rational_65536_by_1", - "typeString": "int_const 65536" + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3214:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" + }, + "id": 5339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3214:21:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3207:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": "uint32" + }, + "id": 5340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3207:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + }, + "id": 5343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3238:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3136", + "id": 5342, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3241:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "3238:5:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + } + ], + "id": 5344, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3237:7:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + }, + "src": "3207:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "3138:106:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 5358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5349, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5300, + "src": "3260:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5351, + "indexExpression": { + "argumentTypes": null, + "id": 5350, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5302, + "src": "3266:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "2656:37:6", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3260:10:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" } + ], + "id": 5348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3254:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" }, - "src": "2587:106:6", + "typeName": "uint8" + }, + "id": 5352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3254:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3247:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": "uint32" + }, + "id": 5353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3247:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_16777216_by_1", + "typeString": "int_const 16777216" + }, + "id": 5356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3274:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" }, "nodeType": "BinaryOperation", - "operator": "+", + "operator": "**", "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 5220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5209, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2709:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5213, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5210, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2715:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 5211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2721:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "2715:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2709:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2703:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 5214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2703:21:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2696:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 5215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2696:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_16777216_by_1", - "typeString": "int_const 16777216" - }, - "id": 5218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2727:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3234", - "id": 5217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2730:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_24_by_1", - "typeString": "int_const 24" - }, - "value": "24" - }, - "src": "2727:5:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_16777216_by_1", - "typeString": "int_const 16777216" - } - } - ], - "id": 5219, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2726:7:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_16777216_by_1", - "typeString": "int_const 16777216" - } - }, - "src": "2696:37:6", + "hexValue": "3234", + "id": 5355, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3277:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + "value": "24" + }, + "src": "3274:5:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_16777216_by_1", + "typeString": "int_const 16777216" + } + } + ], + "id": 5357, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3273:7:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_16777216_by_1", + "typeString": "int_const 16777216" + } + }, + "src": "3247:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "3138:142:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "3129:151:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 5361, + "nodeType": "ExpressionStatement", + "src": "3129:151:6" + } + ] + }, + "documentation": null, + "id": 5363, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bytesToUint32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5303, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5300, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 5363, + "src": "3053:18:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5299, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3053:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5302, + "name": "pos", + "nodeType": "VariableDeclaration", + "scope": 5363, + "src": "3073:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5301, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3073:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3052:30:6" + }, + "returnParameters": { + "id": 5306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5305, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 5363, + "src": "3104:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5304, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "3104:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3103:15:6" + }, + "scope": 7851, + "src": "3030:257:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5532, + "nodeType": "Block", + "src": "3541:1182:6", + "statements": [ + { + "assignments": [ + 5381 + ], + "declarations": [ + { + "constant": false, + "id": 5381, + "name": "assetGUID", + "nodeType": "VariableDeclaration", + "scope": 5532, + "src": "3551:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5380, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "3551:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5382, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3551:16:6" + }, + { + "assignments": [ + 5384 + ], + "declarations": [ + { + "constant": false, + "id": 5384, + "name": "destinationAddress", + "nodeType": "VariableDeclaration", + "scope": 5532, + "src": "3577:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5383, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3577:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5385, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3577:26:6" + }, + { + "assignments": [ + 5387 + ], + "declarations": [ + { + "constant": false, + "id": 5387, + "name": "erc20Address", + "nodeType": "VariableDeclaration", + "scope": 5532, + "src": "3613:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5386, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3613:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5388, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3613:20:6" + }, + { + "assignments": [ + 5390 + ], + "declarations": [ + { + "constant": false, + "id": 5390, + "name": "output_value", + "nodeType": "VariableDeclaration", + "scope": 5532, + "src": "3643:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5389, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3643:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5391, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3643:17:6" + }, + { + "assignments": [ + 5393 + ], + "declarations": [ + { + "constant": false, + "id": 5393, + "name": "precision", + "nodeType": "VariableDeclaration", + "scope": 5532, + "src": "3670:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 5392, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3670:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5394, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3670:15:6" + }, + { + "assignments": [ + 5396 + ], + "declarations": [ + { + "constant": false, + "id": 5396, + "name": "op", + "nodeType": "VariableDeclaration", + "scope": 5532, + "src": "3695:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 5395, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3695:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5397, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3695:8:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5398, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "3734:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 5399, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "3738:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5400, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3733:9:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", + "typeString": "tuple(uint8,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5402, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5365, + "src": "3755:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5403, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "3764:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5401, + "name": "getOpcode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "3745:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" + } + }, + "id": 5404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3745:23:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", + "typeString": "tuple(uint8,uint256)" + } + }, + "src": "3733:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5406, + "nodeType": "ExpressionStatement", + "src": "3733:35:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 5410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5408, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "3827:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783034", + "id": 5409, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3833:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "0x04" + }, + "src": "3827:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5407, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "3819:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3819:19:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5412, + "nodeType": "ExpressionStatement", + "src": "3819:19:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5413, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5381, + "src": "3848:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5415, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5365, + "src": "3874:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5416, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "3883:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5414, + "name": "bytesToUint32", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5363, + "src": "3860:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", + "typeString": "function (bytes memory,uint256) pure returns (uint32)" + } + }, + "id": 5417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3860:27:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "3848:39:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 5419, + "nodeType": "ExpressionStatement", + "src": "3848:39:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5420, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "3897:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 5421, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "3904:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "3897:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5423, + "nodeType": "ExpressionStatement", + "src": "3897:9:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5424, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "3935:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 5425, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "3939:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5426, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3934:9:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", + "typeString": "tuple(uint8,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5428, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5365, + "src": "3956:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5429, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "3965:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5427, + "name": "getOpcode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "3946:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" + } + }, + "id": 5430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3946:23:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", + "typeString": "tuple(uint8,uint256)" + } + }, + "src": "3934:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5432, + "nodeType": "ExpressionStatement", + "src": "3934:35:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 5436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5434, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "3987:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783038", + "id": 5435, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3993:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "0x08" + }, + "src": "3987:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5433, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "3979:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3979:19:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5438, + "nodeType": "ExpressionStatement", + "src": "3979:19:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5439, + "name": "output_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5390, + "src": "4008:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5441, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5365, + "src": "4037:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5442, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "4046:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5440, + "name": "bytesToUint64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5298, + "src": "4023:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint64_$", + "typeString": "function (bytes memory,uint256) pure returns (uint64)" + } + }, + "id": 5443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4023:27:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "4008:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5445, + "nodeType": "ExpressionStatement", + "src": "4008:42:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5446, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "4060:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 5447, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "4067:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "4060:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5449, + "nodeType": "ExpressionStatement", + "src": "4060:9:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5450, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "4112:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 5451, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "4116:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5452, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4111:9:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", + "typeString": "tuple(uint8,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5454, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5365, + "src": "4133:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5455, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "4142:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5453, + "name": "getOpcode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "4123:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" + } + }, + "id": 5456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4123:23:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", + "typeString": "tuple(uint8,uint256)" + } + }, + "src": "4111:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5458, + "nodeType": "ExpressionStatement", + "src": "4111:35:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 5462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5460, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "4224:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783134", + "id": 5461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4230:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "0x14" + }, + "src": "4224:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5459, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "4216:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4216:19:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5464, + "nodeType": "ExpressionStatement", + "src": "4216:19:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5465, + "name": "destinationAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5384, + "src": "4245:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5467, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5365, + "src": "4286:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5468, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "4295:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5466, + "name": "readEthereumAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5553, + "src": "4266:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$", + "typeString": "function (bytes memory,uint256) pure returns (address)" + } + }, + "id": 5469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4266:33:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4245:54:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5471, + "nodeType": "ExpressionStatement", + "src": "4245:54:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5472, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "4309:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 5473, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "4316:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "4309:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5475, + "nodeType": "ExpressionStatement", + "src": "4309:9:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5476, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "4350:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 5477, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "4354:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5478, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4349:9:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", + "typeString": "tuple(uint8,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5480, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5365, + "src": "4371:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5481, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "4380:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5479, + "name": "getOpcode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "4361:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" + } + }, + "id": 5482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4361:23:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", + "typeString": "tuple(uint8,uint256)" + } + }, + "src": "4349:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5484, + "nodeType": "ExpressionStatement", + "src": "4349:35:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 5488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5486, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "4402:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783031", + "id": 5487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4408:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "0x01" + }, + "src": "4402:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5485, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "4394:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4394:19:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5490, + "nodeType": "ExpressionStatement", + "src": "4394:19:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5491, + "name": "precision", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5393, + "src": "4423:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5493, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5365, + "src": "4441:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5495, + "indexExpression": { + "argumentTypes": null, + "id": 5494, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "4449:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4441:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4435:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" + }, + "id": 5496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4435:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "4423:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 5498, + "nodeType": "ExpressionStatement", + "src": "4423:31:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5499, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "4464:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 5500, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "4471:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "4464:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5502, + "nodeType": "ExpressionStatement", + "src": "4464:9:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5503, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "4508:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 5504, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "4512:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5505, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4507:9:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", + "typeString": "tuple(uint8,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5507, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5365, + "src": "4529:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5508, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "4538:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5506, + "name": "getOpcode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "4519:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" + } + }, + "id": 5509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4519:23:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", + "typeString": "tuple(uint8,uint256)" + } + }, + "src": "4507:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5511, + "nodeType": "ExpressionStatement", + "src": "4507:35:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 5515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5513, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "4560:2:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783134", + "id": 5514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4566:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "0x14" + }, + "src": "4560:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5512, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "4552:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4552:19:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5517, + "nodeType": "ExpressionStatement", + "src": "4552:19:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5518, + "name": "erc20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5387, + "src": "4581:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5520, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5365, + "src": "4616:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5521, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5367, + "src": "4625:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5519, + "name": "readEthereumAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5553, + "src": "4596:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$", + "typeString": "function (bytes memory,uint256) pure returns (address)" + } + }, + "id": 5522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4596:33:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4581:48:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5524, + "nodeType": "ExpressionStatement", + "src": "4581:48:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5525, + "name": "output_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5390, + "src": "4647:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5526, + "name": "destinationAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5384, + "src": "4661:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5527, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5381, + "src": "4681:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 5528, + "name": "precision", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5393, + "src": "4692:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 5529, + "name": "erc20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5387, + "src": "4703:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 5530, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4646:70:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", + "typeString": "tuple(uint256,address,uint32,uint8,address)" + } + }, + "functionReturnParameters": 5379, + "id": 5531, + "nodeType": "Return", + "src": "4639:77:6" + } + ] + }, + "documentation": null, + "id": 5533, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "scanAssetDetails", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5365, + "name": "txBytes", + "nodeType": "VariableDeclaration", + "scope": 5533, + "src": "3419:20:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5364, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3419:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5367, + "name": "pos", + "nodeType": "VariableDeclaration", + "scope": 5533, + "src": "3441:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5366, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3441:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3418:32:6" + }, + "returnParameters": { + "id": 5379, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5370, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5533, + "src": "3498:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5369, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3498:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5372, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5533, + "src": "3504:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5371, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3504:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5374, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5533, + "src": "3513:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5373, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "3513:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5376, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5533, + "src": "3521:5:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 5375, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3521:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5378, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5533, + "src": "3528:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5377, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3528:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3497:39:6" + }, + "scope": 7851, + "src": "3393:1330:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5552, + "nodeType": "Block", + "src": "4881:151:6", + "statements": [ + { + "assignments": [ + 5543 + ], + "declarations": [ + { + "constant": false, + "id": 5543, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 5552, + "src": "4891:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5542, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4891:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5544, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4891:12:6" + }, + { + "externalReferences": [ + { + "data": { + "declaration": 5543, + "isOffset": false, + "isSlot": false, + "src": "4936:4:6", + "valueSize": 1 + } + }, + { + "txBytes": { + "declaration": 5535, + "isOffset": false, + "isSlot": false, + "src": "4958:7:6", + "valueSize": 1 + } + }, + { + "pos": { + "declaration": 5537, + "isOffset": false, + "isSlot": false, + "src": "4972:3:6", + "valueSize": 1 + } + } + ], + "id": 5545, + "nodeType": "InlineAssembly", + "operations": "{\n data := mload(add(add(txBytes, 20), pos))\n}", + "src": "4913:74:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5548, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5543, + "src": "5019:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5547, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5011:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": "uint160" + }, + "id": 5549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5011:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 5546, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5003:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5003:22:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 5541, + "id": 5551, + "nodeType": "Return", + "src": "4996:29:6" + } + ] + }, + "documentation": null, + "id": 5553, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readEthereumAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5538, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5535, + "name": "txBytes", + "nodeType": "VariableDeclaration", + "scope": 5553, + "src": "4817:20:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5534, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4817:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5537, + "name": "pos", + "nodeType": "VariableDeclaration", + "scope": 5553, + "src": "4839:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5536, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4839:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4816:32:6" + }, + "returnParameters": { + "id": 5541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5540, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5553, + "src": "4872:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5539, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4872:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4871:9:6" + }, + "scope": 7851, + "src": "4788:244:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5581, + "nodeType": "Block", + "src": "5160:93:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5565, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5557, + "src": "5178:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5566, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "5184:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5184:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5178:20:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5564, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "5170:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5170:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5570, + "nodeType": "ExpressionStatement", + "src": "5170:29:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5572, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "5223:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5574, + "indexExpression": { + "argumentTypes": null, + "id": 5573, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5557, + "src": "5231:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5223:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5217:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" + }, + "id": 5575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5217:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5576, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5557, + "src": "5238:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5244:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5238:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5579, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5216:30:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", + "typeString": "tuple(uint8,uint256)" + } + }, + "functionReturnParameters": 5563, + "id": 5580, + "nodeType": "Return", + "src": "5209:37:6" + } + ] + }, + "documentation": null, + "id": 5582, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getOpcode", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5555, + "name": "txBytes", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "5093:20:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5554, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5093:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5557, + "name": "pos", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "5115:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5556, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5115:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5092:32:6" + }, + "returnParameters": { + "id": 5563, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5560, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "5147:5:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 5559, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "5147:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5562, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "5154:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5561, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5154:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5146:13:6" + }, + "scope": 7851, + "src": "5074:179:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 5747, + "nodeType": "Block", + "src": "5342:1540:6", + "statements": [ + { + "assignments": [ + 5592 + ], + "declarations": [ + { + "constant": false, + "id": 5592, + "name": "n_inputs", + "nodeType": "VariableDeclaration", + "scope": 5747, + "src": "5352:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5591, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5352:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5593, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "5352:13:6" + }, + { + "assignments": [ + 5595 + ], + "declarations": [ + { + "constant": false, + "id": 5595, + "name": "script_len", + "nodeType": "VariableDeclaration", + "scope": 5747, + "src": "5375:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5594, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5375:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5596, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "5375:15:6" + }, + { + "assignments": [ + 5598 + ], + "declarations": [ + { + "constant": false, + "id": 5598, + "name": "output_value", + "nodeType": "VariableDeclaration", + "scope": 5747, + "src": "5400:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5597, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5400:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5599, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "5400:17:6" + }, + { + "assignments": [ + 5601 + ], + "declarations": [ + { + "constant": false, + "id": 5601, + "name": "n_outputs", + "nodeType": "VariableDeclaration", + "scope": 5747, + "src": "5427:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5600, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5427:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5602, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "5427:14:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5603, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "5453:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5604, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "5463:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5605, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "5452:15:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5607, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "5482:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5608, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "5491:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5606, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "5470:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 5609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5470:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "5452:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5611, + "nodeType": "ExpressionStatement", + "src": "5452:43:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5612, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "5574:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783030", + "id": 5613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5586:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "src": "5574:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5641, + "nodeType": "IfStatement", + "src": "5571:320:6", + "trueBody": { + "id": 5640, + "nodeType": "Block", + "src": "5591:300:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5615, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "5606:8:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5616, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "5616:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5617, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "5605:15:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5619, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "5635:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "src": "2587:146:6", + { + "argumentTypes": null, + "id": 5620, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "5644:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5618, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "5623:11:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { + "id": 5621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5623:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "5605:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5623, + "nodeType": "ExpressionStatement", + "src": "5605:43:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 5235, + "id": 5627, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5224, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2749:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5228, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5225, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2755:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2761:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "2755:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2749:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2743:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2743:21:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2736:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2736:29:6", + "id": 5625, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "5678:8:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "*", + "operator": "!=", "rightExpression": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2767:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3332", - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2770:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "2767:5:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - } - ], - "id": 5234, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2766:7:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "2736:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "2587:186:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 5250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5239, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2789:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5243, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5240, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2795:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2801:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "2795:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2789:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2783:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 5244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2783:21:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5237, + "hexValue": "30783030", + "id": 5626, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2776:6:6", + "nodeType": "Literal", + "src": "5690:4:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "typeName": "uint64" + "value": "0x00" }, - "id": 5245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2776:29:6", + "src": "5678:16:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1099511627776_by_1", - "typeString": "int_const 1099511627776" - }, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2807:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3430", - "id": 5247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2810:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_40_by_1", - "typeString": "int_const 40" - }, - "value": "40" - }, - "src": "2807:5:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_1099511627776_by_1", - "typeString": "int_const 1099511627776" - } - } - ], - "id": 5249, + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20556e65787065637465642064756d6d792f666c6167", + "id": 5628, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": true, + "kind": "string", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2806:7:6", + "nodeType": "Literal", + "src": "5696:61:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_1099511627776_by_1", - "typeString": "int_const 1099511627776" + "typeIdentifier": "t_stringliteral_87181e032d4a1acada6b6177d3084aa5fe59d5c32942655c4d95935a3af75a15", + "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag\"" + }, + "value": "#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_87181e032d4a1acada6b6177d3084aa5fe59d5c32942655c4d95935a3af75a15", + "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag\"" } - }, - "src": "2776:37:6", + ], + "id": 5624, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "5670:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "src": "2587:226:6", + "id": 5629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5670:88:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { + "id": 5630, + "nodeType": "ExpressionStatement", + "src": "5670:88:6" + }, + { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 5265, + "id": 5638, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, - "arguments": [ + "components": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5254, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2829:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5258, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5255, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2835:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2841:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2835:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2829:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2823:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2823:21:6", + "id": 5631, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "5838:8:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5632, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "5848:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2816:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": "uint64" - }, - "id": 5260, + "id": 5633, "isConstant": false, - "isLValue": false, + "isInlineArray": false, + "isLValue": true, "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2816:29:6", + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "5837:15:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "components": [ + "arguments": [ { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_281474976710656_by_1", - "typeString": "int_const 281474976710656" - }, - "id": 5263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2847:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3438", - "id": 5262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2850:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "src": "2847:5:6", + "id": 5635, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "5867:7:6", "typeDescriptions": { - "typeIdentifier": "t_rational_281474976710656_by_1", - "typeString": "int_const 281474976710656" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5636, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "5876:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], - "id": 5264, + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5634, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "5855:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 5637, "isConstant": false, - "isInlineArray": false, "isLValue": false, - "isPure": true, + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2846:7:6", + "names": [], + "nodeType": "FunctionCall", + "src": "5855:25:6", "typeDescriptions": { - "typeIdentifier": "t_rational_281474976710656_by_1", - "typeString": "int_const 281474976710656" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "src": "2816:37:6", + "src": "5837:43:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "src": "2587:266:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { + "id": 5639, + "nodeType": "ExpressionStatement", + "src": "5837:43:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 5278, + "id": 5645, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5269, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5160, - "src": "2869:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5271, - "indexExpression": { - "argumentTypes": null, - "id": 5270, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5162, - "src": "2875:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2869:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2863:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 5272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2863:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "id": 5643, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "5908:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 5644, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5919:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "5908:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f696e70757473", + "id": 5646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5924:66:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c90bf983bb53134a57fc740a1ff772d56cd4f80ffc5496430ec08e32e493245", + "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs\"" + }, + "value": "#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6c90bf983bb53134a57fc740a1ff772d56cd4f80ffc5496430ec08e32e493245", + "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs\"" + } + ], + "id": 5642, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "5900:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5900:91:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5648, + "nodeType": "ExpressionStatement", + "src": "5900:91:6" + }, + { + "body": { + "id": 5678, + "nodeType": "Block", + "src": "6038:171:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5659, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6052:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5267, + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3336", + "id": 5660, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2856:6:6", + "nodeType": "Literal", + "src": "6059:2:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" + "typeIdentifier": "t_rational_36_by_1", + "typeString": "int_const 36" }, - "typeName": "uint64" + "value": "36" }, - "id": 5273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2856:25:6", + "src": "6052:9:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { + "id": 5662, + "nodeType": "ExpressionStatement", + "src": "6052:9:6" + }, + { + "expression": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_72057594037927936_by_1", - "typeString": "int_const 72057594037927936" + "id": 5670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5663, + "name": "script_len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5595, + "src": "6094:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "id": 5276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { + { "argumentTypes": null, - "hexValue": "32", - "id": 5274, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2883:1:6", - "subdenomination": null, + "id": 5664, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6106:3:6", "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5665, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6093:17:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5667, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "6125:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { + { "argumentTypes": null, - "hexValue": "3536", - "id": 5275, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2886:2:6", - "subdenomination": null, + "id": 5668, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6134:3:6", "typeDescriptions": { - "typeIdentifier": "t_rational_56_by_1", - "typeString": "int_const 56" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" }, - "value": "56" - }, - "src": "2883:5:6", + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5666, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "6113:11:6", "typeDescriptions": { - "typeIdentifier": "t_rational_72057594037927936_by_1", - "typeString": "int_const 72057594037927936" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } + }, + "id": 5669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6113:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } - ], - "id": 5277, + }, + "src": "6093:45:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5671, + "nodeType": "ExpressionStatement", + "src": "6093:45:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5676, "isConstant": false, - "isInlineArray": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2882:7:6", + "leftHandSide": { + "argumentTypes": null, + "id": 5672, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6152:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5673, + "name": "script_len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5595, + "src": "6159:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "34", + "id": 5674, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6172:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "6159:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6152:21:6", "typeDescriptions": { - "typeIdentifier": "t_rational_72057594037927936_by_1", - "typeString": "int_const 72057594037927936" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "2856:33:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "2587:302:6", + "id": 5677, + "nodeType": "ExpressionStatement", + "src": "6152:21:6" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5653, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5650, + "src": "6019:1:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 5654, + "name": "n_inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "6023:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "2578:311:6", + "src": "6019:12:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 5281, - "nodeType": "ExpressionStatement", - "src": "2578:311:6" - } - ] - }, - "documentation": null, - "id": 5283, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "bytesToUint64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5163, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5160, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 5283, - "src": "2502:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "id": 5679, + "initializationExpression": { + "assignments": [ + 5650 + ], + "declarations": [ + { + "constant": false, + "id": 5650, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5679, + "src": "6007:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5649, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6007:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5652, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6016:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "6007:10:6" }, - "typeName": { - "id": 5159, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2502:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6033:3:6", + "subExpression": { + "argumentTypes": null, + "id": 5656, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5650, + "src": "6033:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5658, + "nodeType": "ExpressionStatement", + "src": "6033:3:6" }, - "value": null, - "visibility": "internal" + "nodeType": "ForStatement", + "src": "6002:207:6" }, - { - "constant": false, - "id": 5162, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 5283, - "src": "2522:8:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5161, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2522:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2501:30:6" - }, - "returnParameters": { - "id": 5166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5165, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 5283, - "src": "2553:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 5164, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2553:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2552:15:6" - }, - "scope": 7493, - "src": "2479:417:6", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5347, - "nodeType": "Block", - "src": "2991:168:6", - "statements": [ { "expression": { "argumentTypes": null, - "id": 5345, + "id": 5687, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5292, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5290, - "src": "3001:6:6", + "components": [ + { + "argumentTypes": null, + "id": 5680, + "name": "n_outputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5601, + "src": "6228:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5681, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6239:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5682, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6227:16:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "arguments": [ + { + "argumentTypes": null, + "id": 5684, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "6258:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5685, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6267:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5683, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "6246:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } }, - "id": 5344, + "id": 5686, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftExpression": { + "names": [], + "nodeType": "FunctionCall", + "src": "6246:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "6227:44:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5688, + "nodeType": "ExpressionStatement", + "src": "6227:44:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 5331, + "id": 5692, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "id": 5690, + "name": "n_outputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5601, + "src": "6289:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 5691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6301:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" }, - "id": 5316, + "value": "10" + }, + "src": "6289:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f6f757470757473", + "id": 5693, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6305:67:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8e7c1f79badc3990449febc249d27022f625ff9ad5f427f84ed94755a6fe6cf5", + "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_outputs\"" + }, + "value": "#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_outputs" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8e7c1f79badc3990449febc249d27022f625ff9ad5f427f84ed94755a6fe6cf5", + "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_outputs\"" + } + ], + "id": 5689, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "6281:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6281:92:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5695, + "nodeType": "ExpressionStatement", + "src": "6281:92:6" + }, + { + "body": { + "id": 5741, + "nodeType": "Block", + "src": "6420:381:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5708, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5295, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5285, - "src": "3023:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5299, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5296, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5287, - "src": "3029:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5297, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3033:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3029:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3023:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5294, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3017:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 5300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3017:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5293, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3010:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 5301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3010:27:6", + "id": 5706, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6434:3:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5315, + "hexValue": "38", + "id": 5707, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5304, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5285, - "src": "3053:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5308, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5305, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5287, - "src": "3059:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3065:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "3059:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3053:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3047:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3047:21:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3040:6:6", + "nodeType": "Literal", + "src": "6441:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "6434:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5709, + "nodeType": "ExpressionStatement", + "src": "6434:8:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5710, + "name": "script_len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5595, + "src": "6479:10:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "id": 5310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3040:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + { + "argumentTypes": null, + "id": 5711, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6491:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "id": 5313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3071:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 5312, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3074:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "3071:4:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - } + ], + "id": 5712, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6478:17:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5714, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "6510:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5715, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6519:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 5314, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3070:6:6", + "id": 5713, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "6498:11:6", "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "src": "3040:36:6", + "id": 5716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6498:25:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "src": "3010:66:6", + "src": "6478:45:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { + "id": 5718, + "nodeType": "ExpressionStatement", + "src": "6478:45:6" + }, + { + "condition": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5330, + "id": 5723, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6540:25:6", + "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5319, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5285, - "src": "3092:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5323, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5320, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5287, - "src": "3098:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3104:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3098:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3092:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3086:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 5324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3086:21:6", + "id": 5720, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5584, + "src": "6552:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5721, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6561:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 5317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3079:6:6", + "id": 5719, + "name": "isOpReturn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5173, + "src": "6541:10:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes memory,uint256) pure returns (bool)" + } }, - "id": 5325, + "id": 5722, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "typeConversion", + "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3079:29:6", + "src": "6541:24:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5734, + "nodeType": "IfStatement", + "src": "6537:172:6", + "trueBody": { + "id": 5733, + "nodeType": "Block", + "src": "6566:143:6", + "statements": [ + { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_65536_by_1", - "typeString": "int_const 65536" + "id": 5726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5724, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6617:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 5725, + "name": "script_len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5595, + "src": "6624:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "id": 5328, + "src": "6617:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5727, + "nodeType": "ExpressionStatement", + "src": "6617:17:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5730, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, - "hexValue": "32", - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3110:1:6", - "subdenomination": null, + "id": 5728, + "name": "output_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5598, + "src": "6652:12:6", "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "hexValue": "3136", - "id": 5327, + "hexValue": "30", + "id": 5729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3113:2:6", + "src": "6667:1:6", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "value": "16" + "value": "0" }, - "src": "3110:5:6", + "src": "6652:16:6", "typeDescriptions": { - "typeIdentifier": "t_rational_65536_by_1", - "typeString": "int_const 65536" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - } - ], - "id": 5329, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3109:7:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_65536_by_1", - "typeString": "int_const 65536" + }, + "id": 5731, + "nodeType": "ExpressionStatement", + "src": "6652:16:6" + }, + { + "id": 5732, + "nodeType": "Continue", + "src": "6686:8:6" } - }, - "src": "3079:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "3010:106:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + ] } }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + { + "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5334, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5285, - "src": "3132:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5336, - "indexExpression": { - "argumentTypes": null, - "id": 5335, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5287, - "src": "3138:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3132:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3126:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 5337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3126:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "id": 5737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5735, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6758:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5332, + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 5736, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3119:6:6", + "nodeType": "Literal", + "src": "6765:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, - "typeName": "uint32" + "value": "1" }, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3119:25:6", + "src": "6758:8:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5738, + "nodeType": "ExpressionStatement", + "src": "6758:8:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5739, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5586, + "src": "6787:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_16777216_by_1", - "typeString": "int_const 16777216" - }, - "id": 5341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3146:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3234", - "id": 5340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3149:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_24_by_1", - "typeString": "int_const 24" - }, - "value": "24" - }, - "src": "3146:5:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_16777216_by_1", - "typeString": "int_const 16777216" - } - } - ], - "id": 5342, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3145:7:6", + "functionReturnParameters": 5590, + "id": 5740, + "nodeType": "Return", + "src": "6780:10:6" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5700, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5697, + "src": "6400:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 5701, + "name": "n_outputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5601, + "src": "6404:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6400:13:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5742, + "initializationExpression": { + "assignments": [ + 5697 + ], + "declarations": [ + { + "constant": false, + "id": 5697, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5742, + "src": "6388:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5696, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6388:4:6", "typeDescriptions": { - "typeIdentifier": "t_rational_16777216_by_1", - "typeString": "int_const 16777216" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "3119:33:6", + "value": null, + "visibility": "internal" + } + ], + "id": 5699, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5698, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6397:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "6388:10:6" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6415:3:6", + "subExpression": { + "argumentTypes": null, + "id": 5703, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5697, + "src": "6415:1:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "3010:142:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5705, + "nodeType": "ExpressionStatement", + "src": "6415:3:6" + }, + "nodeType": "ForStatement", + "src": "6383:418:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a204e6f204f7052657475726e20666f756e64", + "id": 5744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6817:57:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8f08c133cfd6a95f1bec750e238b3e2cb8d0b1ff0795b1fc381b8fde65ba6bc5", + "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): No OpReturn found\"" + }, + "value": "#SyscoinSuperblocks getOpReturnPos(): No OpReturn found" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8f08c133cfd6a95f1bec750e238b3e2cb8d0b1ff0795b1fc381b8fde65ba6bc5", + "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): No OpReturn found\"" + } + ], + "id": 5743, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11103, + 11104 + ], + "referencedDeclaration": 11104, + "src": "6810:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" } }, - "src": "3001:151:6", + "id": 5745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6810:65:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 5346, + "id": 5746, "nodeType": "ExpressionStatement", - "src": "3001:151:6" + "src": "6810:65:6" } ] }, "documentation": null, - "id": 5348, + "id": 5748, "implemented": true, "kind": "function", "modifiers": [], - "name": "bytesToUint32", + "name": "getOpReturnPos", "nodeType": "FunctionDefinition", "parameters": { - "id": 5288, + "id": 5587, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5285, - "name": "input", + "id": 5584, + "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 5348, - "src": "2925:18:6", + "scope": 5748, + "src": "5283:20:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -40085,10 +50290,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5284, + "id": 5583, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2925:5:6", + "src": "5283:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -40099,11 +50304,11 @@ }, { "constant": false, - "id": 5287, + "id": 5586, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 5348, - "src": "2945:8:6", + "scope": 5748, + "src": "5305:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40111,10 +50316,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5286, + "id": 5585, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2945:4:6", + "src": "5305:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40124,65 +50329,65 @@ "visibility": "internal" } ], - "src": "2924:30:6" + "src": "5282:32:6" }, "returnParameters": { - "id": 5291, + "id": 5590, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5290, - "name": "result", + "id": 5589, + "name": "", "nodeType": "VariableDeclaration", - "scope": 5348, - "src": "2976:13:6", + "scope": 5748, + "src": "5336:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 5289, - "name": "uint32", + "id": 5588, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2976:6:6", + "src": "5336:4:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "2975:15:6" + "src": "5335:6:6" }, - "scope": 7493, - "src": "2902:257:6", + "scope": 7851, + "src": "5259:1623:6", "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5517, + "id": 5809, "nodeType": "Block", - "src": "3413:1182:6", + "src": "7197:718:6", "statements": [ { "assignments": [ - 5366 + 5758 ], "declarations": [ { "constant": false, - "id": 5366, - "name": "assetGUID", + "id": 5758, + "name": "version", "nodeType": "VariableDeclaration", - "scope": 5517, - "src": "3423:16:6", + "scope": 5809, + "src": "7207:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40190,10 +50395,10 @@ "typeString": "uint32" }, "typeName": { - "id": 5365, + "id": 5757, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3423:6:6", + "src": "7207:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -40203,99 +50408,23 @@ "visibility": "internal" } ], - "id": 5367, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "3423:16:6" - }, - { - "assignments": [ - 5369 - ], - "declarations": [ - { - "constant": false, - "id": 5369, - "name": "destinationAddress", - "nodeType": "VariableDeclaration", - "scope": 5517, - "src": "3449:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5368, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3449:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5370, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "3449:26:6" - }, - { - "assignments": [ - 5372 - ], - "declarations": [ - { - "constant": false, - "id": 5372, - "name": "erc20Address", - "nodeType": "VariableDeclaration", - "scope": 5517, - "src": "3485:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5371, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3485:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5373, + "id": 5759, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3485:20:6" + "src": "7207:14:6" }, { "assignments": [ - 5375 + 5761 ], "declarations": [ { "constant": false, - "id": 5375, - "name": "output_value", + "id": 5761, + "name": "pos", "nodeType": "VariableDeclaration", - "scope": 5517, - "src": "3515:17:6", + "scope": 5809, + "src": "7231:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40303,10 +50432,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5374, + "id": 5760, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3515:4:6", + "src": "7231:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40316,134 +50445,47 @@ "visibility": "internal" } ], - "id": 5376, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "3515:17:6" - }, - { - "assignments": [ - 5378 - ], - "declarations": [ - { - "constant": false, - "id": 5378, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 5517, - "src": "3542:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5377, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3542:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5379, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "3542:15:6" - }, - { - "assignments": [ - 5381 - ], - "declarations": [ - { - "constant": false, - "id": 5381, - "name": "op", - "nodeType": "VariableDeclaration", - "scope": 5517, - "src": "3567:8:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5380, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3567:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5382, - "initialValue": null, + "id": 5763, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7242:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, "nodeType": "VariableDeclarationStatement", - "src": "3567:8:6" + "src": "7231:12:6" }, { "expression": { "argumentTypes": null, - "id": 5390, + "id": 5769, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5383, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3606:2:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5384, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3610:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5385, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3605:9:6", + "id": 5764, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5758, + "src": "7253:7:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", - "typeString": "tuple(uint8,uint256)" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "nodeType": "Assignment", @@ -40453,12 +50495,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5387, + "id": 5766, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "3627:7:6", + "referencedDeclaration": 5750, + "src": "7284:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -40466,12 +50508,12 @@ }, { "argumentTypes": null, - "id": 5388, + "id": 5767, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3636:3:6", + "referencedDeclaration": 5761, + "src": "7293:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40489,18 +50531,18 @@ "typeString": "uint256" } ], - "id": 5386, - "name": "getOpcode", + "id": 5765, + "name": "bytesToUint32Flipped", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "3617:9:6", + "referencedDeclaration": 4839, + "src": "7263:20:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", + "typeString": "function (bytes memory,uint256) pure returns (uint32)" } }, - "id": 5389, + "id": 5768, "isConstant": false, "isLValue": false, "isPure": false, @@ -40508,135 +50550,148 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3617:23:6", + "src": "7263:34:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", - "typeString": "tuple(uint8,uint256)" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "src": "3605:35:6", + "src": "7253:44:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 5391, + "id": 5770, "nodeType": "ExpressionStatement", - "src": "3605:35:6" + "src": "7253:44:6" }, { - "expression": { + "condition": { "argumentTypes": null, - "arguments": [ + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 5773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5771, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5758, + "src": "7310:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 5772, + "name": "SYSCOIN_TX_VERSION_ALLOCATION_MINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5024, + "src": "7321:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "7310:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5779, + "nodeType": "IfStatement", + "src": "7307:117:6", + "trueBody": { + "id": 5778, + "nodeType": "Block", + "src": "7356:68:6", + "statements": [ { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 5395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5393, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3699:2:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + "expression": { "argumentTypes": null, - "hexValue": "30783034", - "id": 5394, + "components": [ + { + "argumentTypes": null, + "id": 5774, + "name": "ERR_PARSE_TX_SYS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5018, + "src": "7378:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5775, + "name": "bridgeTransferId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5755, + "src": "7396:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "id": 5776, "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", + "isInlineArray": false, + "isLValue": false, + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "3705:4:6", - "subdenomination": null, + "nodeType": "TupleExpression", + "src": "7377:36:6", "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "0x04" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$", + "typeString": "tuple(uint256,uint32)" + } }, - "src": "3699:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5392, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "3691:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" + "functionReturnParameters": 5756, + "id": 5777, + "nodeType": "Return", + "src": "7370:43:6" } - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3691:19:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5397, - "nodeType": "ExpressionStatement", - "src": "3691:19:6" + ] + } }, { "expression": { "argumentTypes": null, - "id": 5403, + "id": 5785, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5398, - "name": "assetGUID", + "id": 5780, + "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5366, - "src": "3720:9:6", + "referencedDeclaration": 5761, + "src": "7433:3:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "Assignment", @@ -40646,12 +50701,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5400, + "id": 5782, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "3746:7:6", + "referencedDeclaration": 5750, + "src": "7454:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -40659,16 +50714,21 @@ }, { "argumentTypes": null, - "id": 5401, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3755:3:6", + "hexValue": "34", + "id": 5783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7463:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" } ], "expression": { @@ -40678,22 +50738,22 @@ "typeString": "bytes memory" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" } ], - "id": 5399, - "name": "bytesToUint32", + "id": 5781, + "name": "getOpReturnPos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5348, - "src": "3732:13:6", + "referencedDeclaration": 5748, + "src": "7439:14:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", - "typeString": "function (bytes memory,uint256) pure returns (uint32)" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256)" } }, - "id": 5402, + "id": 5784, "isConstant": false, "isLValue": false, "isPure": false, @@ -40701,38 +50761,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3732:27:6", + "src": "7439:26:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "3720:39:6", + "src": "7433:32:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 5404, + "id": 5786, "nodeType": "ExpressionStatement", - "src": "3720:39:6" + "src": "7433:32:6" }, { "expression": { "argumentTypes": null, - "id": 5407, + "id": 5789, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5405, + "id": 5787, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3769:3:6", + "referencedDeclaration": 5761, + "src": "7475:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40742,76 +50802,105 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 5406, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3776:2:6", + "hexValue": "33", + "id": 5788, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7482:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" }, - "src": "3769:9:6", + "src": "7475:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5408, + "id": 5790, "nodeType": "ExpressionStatement", - "src": "3769:9:6" + "src": "7475:8:6" + }, + { + "assignments": [ + 5792 + ], + "declarations": [ + { + "constant": false, + "id": 5792, + "name": "tokenFreezeTopic", + "nodeType": "VariableDeclaration", + "scope": 5809, + "src": "7597:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5791, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7597:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5794, + "initialValue": { + "argumentTypes": null, + "hexValue": "307861616261623164623439653530346235313536656466336639393034326165656362393630376130386633393235383935373163643439373433616162613864", + "id": 5793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7624:66:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_77223045334317777536692534302873667443928780219506944139266675433817424706189_by_1", + "typeString": "int_const 7722...(69 digits omitted)...6189" + }, + "value": "0xaabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d" + }, + "nodeType": "VariableDeclarationStatement", + "src": "7597:93:6" }, { "expression": { "argumentTypes": null, - "id": 5416, + "id": 5807, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5409, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3807:2:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5410, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3811:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5411, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3806:9:6", + "id": 5795, + "name": "bridgeTransferId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5755, + "src": "7700:16:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", - "typeString": "tuple(uint8,uint256)" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "nodeType": "Assignment", @@ -40821,25 +50910,154 @@ "arguments": [ { "argumentTypes": null, - "id": 5413, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "3828:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5414, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3837:3:6", + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5800, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5750, + "src": "7835:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5801, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5761, + "src": "7844:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5799, + "name": "getEthReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6068, + "src": "7821:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,uint256) view returns (bytes memory)" + } + }, + "id": 5802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7821:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 5803, + "name": "tokenFreezeTopic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5792, + "src": "7850:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5798, + "name": "getLogValuesForTopic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6317, + "src": "7779:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,bytes32) pure returns (bytes memory)" + } + }, + "id": 5804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7779:105:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5797, + "name": "getBridgeTransactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6330, + "src": "7739:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 5805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7739:159:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40848,163 +51066,271 @@ ], "expression": { "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], - "id": 5412, - "name": "getOpcode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "3818:9:6", + "id": 5796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7719:6:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" - } + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": "uint32" }, - "id": 5415, + "id": 5806, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3818:23:6", + "src": "7719:189:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", - "typeString": "tuple(uint8,uint256)" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "src": "3806:35:6", + "src": "7700:208:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 5417, + "id": 5808, "nodeType": "ExpressionStatement", - "src": "3806:35:6" + "src": "7700:208:6" + } + ] + }, + "documentation": "@dev Parse syscoin mint transaction to recover bridgeTransferId\n@param txBytes syscoin raw transaction\n@return errorCode, bridgeTransferId", + "id": 5810, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "parseMintTx", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5750, + "name": "txBytes", + "nodeType": "VariableDeclaration", + "scope": 5810, + "src": "7085:20:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5749, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7085:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7084:22:6" + }, + "returnParameters": { + "id": 5756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5753, + "name": "errorCode", + "nodeType": "VariableDeclaration", + "scope": 5810, + "src": "7152:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5752, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7152:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" }, { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5419, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3859:2:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783038", - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3865:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "0x08" - }, - "src": "3859:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "constant": false, + "id": 5755, + "name": "bridgeTransferId", + "nodeType": "VariableDeclaration", + "scope": 5810, + "src": "7168:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5754, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "7168:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7151:41:6" + }, + "scope": 7851, + "src": "7064:851:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5896, + "nodeType": "Block", + "src": "8313:713:6", + "statements": [ + { + "assignments": [ + 5822 + ], + "declarations": [ + { + "constant": false, + "id": 5822, + "name": "version", + "nodeType": "VariableDeclaration", + "scope": 5896, + "src": "8323:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5821, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "8323:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" } - ], - "id": 5418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "3851:7:6", + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5823, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8323:14:6" + }, + { + "assignments": [ + 5825 + ], + "declarations": [ + { + "constant": false, + "id": 5825, + "name": "pos", + "nodeType": "VariableDeclaration", + "scope": 5896, + "src": "8347:8:6", + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5422, + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5824, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8347:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5827, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5826, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "number", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3851:19:6", + "nodeType": "Literal", + "src": "8358:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - "id": 5423, - "nodeType": "ExpressionStatement", - "src": "3851:19:6" + "nodeType": "VariableDeclarationStatement", + "src": "8347:12:6" }, { "expression": { "argumentTypes": null, - "id": 5429, + "id": 5833, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5424, - "name": "output_value", + "id": 5828, + "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5375, - "src": "3880:12:6", + "referencedDeclaration": 5822, + "src": "8369:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "nodeType": "Assignment", @@ -41014,12 +51340,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5426, + "id": 5830, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "3909:7:6", + "referencedDeclaration": 5812, + "src": "8400:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -41027,12 +51353,12 @@ }, { "argumentTypes": null, - "id": 5427, + "id": 5831, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3918:3:6", + "referencedDeclaration": 5825, + "src": "8409:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41050,18 +51376,18 @@ "typeString": "uint256" } ], - "id": 5425, - "name": "bytesToUint64", + "id": 5829, + "name": "bytesToUint32Flipped", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5283, - "src": "3895:13:6", + "referencedDeclaration": 4839, + "src": "8379:20:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint64_$", - "typeString": "function (bytes memory,uint256) pure returns (uint64)" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", + "typeString": "function (bytes memory,uint256) pure returns (uint32)" } }, - "id": 5428, + "id": 5832, "isConstant": false, "isLValue": false, "isPure": false, @@ -41069,500 +51395,288 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3895:27:6", + "src": "8379:34:6", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "src": "3880:42:6", + "src": "8369:44:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 5430, + "id": 5834, "nodeType": "ExpressionStatement", - "src": "3880:42:6" + "src": "8369:44:6" }, { - "expression": { + "condition": { "argumentTypes": null, - "id": 5433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5431, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3932:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5432, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3939:2:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "src": "3932:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5434, - "nodeType": "ExpressionStatement", - "src": "3932:9:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5442, + "id": 5841, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5435, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "3984:2:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5436, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "3988:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5437, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 5837, "isConstant": false, - "isInlineArray": false, - "isLValue": true, + "isLValue": false, "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3983:9:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", - "typeString": "tuple(uint8,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5439, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "4005:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5440, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4014:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5438, - "name": "getOpcode", + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5835, + "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "3995:9:6", + "referencedDeclaration": 5822, + "src": "8426:7:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 5441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3995:23:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", - "typeString": "tuple(uint8,uint256)" - } - }, - "src": "3983:35:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5443, - "nodeType": "ExpressionStatement", - "src": "3983:35:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 5447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5445, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4096:2:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783134", - "id": 5446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4102:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "0x14" - }, - "src": "4096:10:6", + "id": 5836, + "name": "SYSCOIN_TX_VERSION_ASSET_ACTIVATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5089, + "src": "8437:33:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } - ], - "id": 5444, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "4088:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4088:19:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5449, - "nodeType": "ExpressionStatement", - "src": "4088:19:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5450, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5369, - "src": "4117:18:6", + }, + "src": "8426:44:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5452, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "4158:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5453, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4167:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 5840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5838, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5822, + "src": "8474:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5451, - "name": "readEthereumAddress", + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 5839, + "name": "SYSCOIN_TX_VERSION_ASSET_UPDATE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5538, - "src": "4138:19:6", + "referencedDeclaration": 5092, + "src": "8485:31:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$", - "typeString": "function (bytes memory,uint256) pure returns (address)" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4138:33:6", + "src": "8474:42:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "src": "4117:54:6", + "src": "8426:90:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 5456, - "nodeType": "ExpressionStatement", - "src": "4117:54:6" + "falseBody": null, + "id": 5850, + "nodeType": "IfStatement", + "src": "8423:159:6", + "trueBody": { + "id": 5849, + "nodeType": "Block", + "src": "8517:65:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5842, + "name": "ERR_PARSE_TX_SYS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5018, + "src": "8539:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 5843, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8557:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5845, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8568:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8560:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8560:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "id": 5847, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8538:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$_t_address_payable_$", + "typeString": "tuple(uint256,int_const 0,address payable)" + } + }, + "functionReturnParameters": 5820, + "id": 5848, + "nodeType": "Return", + "src": "8531:40:6" + } + ] + } }, { "expression": { "argumentTypes": null, - "id": 5459, + "id": 5856, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5457, + "id": 5851, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4181:3:6", + "referencedDeclaration": 5825, + "src": "8591:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5458, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4188:2:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "4181:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5460, - "nodeType": "ExpressionStatement", - "src": "4181:9:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5461, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4222:2:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5462, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4226:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5463, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4221:9:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", - "typeString": "tuple(uint8,uint256)" - } - }, - "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5465, + "id": 5853, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "4243:7:6", + "referencedDeclaration": 5812, + "src": "8612:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -41570,16 +51684,21 @@ }, { "argumentTypes": null, - "id": 5466, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4252:3:6", + "hexValue": "34", + "id": 5854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8621:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" } ], "expression": { @@ -41589,22 +51708,22 @@ "typeString": "bytes memory" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" } ], - "id": 5464, - "name": "getOpcode", + "id": 5852, + "name": "getOpReturnPos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "4233:9:6", + "referencedDeclaration": 5748, + "src": "8597:14:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256)" } }, - "id": 5467, + "id": 5855, "isConstant": false, "isLValue": false, "isPure": false, @@ -41612,243 +51731,151 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4233:23:6", + "src": "8597:26:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", - "typeString": "tuple(uint8,uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "4221:35:6", + "src": "8591:32:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 5469, + "id": 5857, "nodeType": "ExpressionStatement", - "src": "4221:35:6" + "src": "8591:32:6" }, { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 5473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5471, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4274:2:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783031", - "id": 5472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4280:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "0x01" - }, - "src": "4274:10:6", + "assignments": [ + 5859 + ], + "declarations": [ + { + "constant": false, + "id": 5859, + "name": "pushDataOp", + "nodeType": "VariableDeclaration", + "scope": 5896, + "src": "8633:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 5858, + "name": "byte", + "nodeType": "ElementaryTypeName", + "src": "8633:4:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" } - ], - "id": 5470, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "4266:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4266:19:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + }, + "value": null, + "visibility": "internal" } - }, - "id": 5475, - "nodeType": "ExpressionStatement", - "src": "4266:19:6" - }, - { - "expression": { + ], + "id": 5865, + "initialValue": { "argumentTypes": null, - "id": 5482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { + "baseExpression": { "argumentTypes": null, - "id": 5476, - "name": "precision", + "id": 5860, + "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5378, - "src": "4295:9:6", + "referencedDeclaration": 5812, + "src": "8651:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "id": 5864, + "indexExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5478, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "4313:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5480, - "indexExpression": { - "argumentTypes": null, - "id": 5479, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4321:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4313:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5861, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5825, + "src": "8659:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5477, + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5862, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4307:5:6", + "nodeType": "Literal", + "src": "8663:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, - "typeName": "uint8" + "value": "1" }, - "id": 5481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4307:19:6", + "src": "8659:5:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "4295:31:6", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8651:14:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" } }, - "id": 5483, - "nodeType": "ExpressionStatement", - "src": "4295:31:6" + "nodeType": "VariableDeclarationStatement", + "src": "8633:32:6" }, { "expression": { "argumentTypes": null, - "id": 5486, + "id": 5868, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5484, + "id": 5866, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4336:3:6", + "referencedDeclaration": 5825, + "src": "8675:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41858,269 +51885,178 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 5485, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4343:2:6", + "hexValue": "32", + "id": 5867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8682:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" }, - "src": "4336:9:6", + "src": "8675:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5487, + "id": 5869, "nodeType": "ExpressionStatement", - "src": "4336:9:6" + "src": "8675:8:6" }, { - "expression": { + "condition": { "argumentTypes": null, - "id": 5495, + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 5872, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5488, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4380:2:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5489, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4384:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5490, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4379:9:6", + "id": 5870, + "name": "pushDataOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "8758:10:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", - "typeString": "tuple(uint8,uint256)" + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5492, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "4401:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5493, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4410:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5491, - "name": "getOpcode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "4391:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint8,uint256)" - } - }, - "id": 5494, + "hexValue": "30783464", + "id": 5871, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "number", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4391:23:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", - "typeString": "tuple(uint8,uint256)" - } - }, - "src": "4379:35:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5496, - "nodeType": "ExpressionStatement", - "src": "4379:35:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 5500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5498, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5381, - "src": "4432:2:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783134", - "id": 5499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4438:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "0x14" - }, - "src": "4432:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5497, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "4424:7:6", + "nodeType": "Literal", + "src": "8772:4:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } + "typeIdentifier": "t_rational_77_by_1", + "typeString": "int_const 77" + }, + "value": "0x4d" }, - "id": 5501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4424:19:6", + "src": "8758:18:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 5502, - "nodeType": "ExpressionStatement", - "src": "4424:19:6" + "falseBody": null, + "id": 5877, + "nodeType": "IfStatement", + "src": "8755:100:6", + "trueBody": { + "id": 5876, + "nodeType": "Block", + "src": "8777:78:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8791:5:6", + "subExpression": { + "argumentTypes": null, + "id": 5873, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5825, + "src": "8791:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5875, + "nodeType": "ExpressionStatement", + "src": "8791:5:6" + } + ] + } }, { "expression": { "argumentTypes": null, - "id": 5508, + "id": 5885, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5503, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5372, - "src": "4453:12:6", + "components": [ + { + "argumentTypes": null, + "id": 5878, + "name": "assetGuid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5817, + "src": "8866:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 5879, + "name": "erc20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5819, + "src": "8877:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 5880, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "8865:25:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_tuple$_t_uint32_$_t_address_$", + "typeString": "tuple(uint32,address)" } }, "nodeType": "Assignment", @@ -42130,12 +52066,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5505, + "id": 5882, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5350, - "src": "4488:7:6", + "referencedDeclaration": 5812, + "src": "8905:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -42143,12 +52079,12 @@ }, { "argumentTypes": null, - "id": 5506, + "id": 5883, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5352, - "src": "4497:3:6", + "referencedDeclaration": 5825, + "src": "8914:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42166,18 +52102,18 @@ "typeString": "uint256" } ], - "id": 5504, - "name": "readEthereumAddress", + "id": 5881, + "name": "scanAssetTx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5538, - "src": "4468:19:6", + "referencedDeclaration": 6215, + "src": "8893:11:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$", - "typeString": "function (bytes memory,uint256) pure returns (address)" + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$_t_address_$", + "typeString": "function (bytes memory,uint256) view returns (uint32,address)" } }, - "id": 5507, + "id": 5884, "isConstant": false, "isLValue": false, "isPure": false, @@ -42185,516 +52121,196 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4468:33:6", + "src": "8893:25:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_tuple$_t_uint32_$_t_address_$", + "typeString": "tuple(uint32,address)" } }, - "src": "4453:48:6", + "src": "8865:53:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 5509, + "id": 5886, "nodeType": "ExpressionStatement", - "src": "4453:48:6" + "src": "8865:53:6" }, { "expression": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5510, - "name": "output_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5375, - "src": "4519:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5511, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5369, - "src": "4533:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5512, - "name": "assetGUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5366, - "src": "4553:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 5513, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5378, - "src": "4564:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, + "arguments": [ { "argumentTypes": null, - "id": 5514, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5372, - "src": "4575:12:6", - "typeDescriptions": { + "commonType": { "typeIdentifier": "t_address", "typeString": "address" - } - } - ], - "id": 5515, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4518:70:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", - "typeString": "tuple(uint256,address,uint32,uint8,address)" - } - }, - "functionReturnParameters": 5364, - "id": 5516, - "nodeType": "Return", - "src": "4511:77:6" - } - ] - }, - "documentation": null, - "id": 5518, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "scanAssetDetails", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5350, - "name": "txBytes", - "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3291:20:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5349, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3291:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5352, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3313:8:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5351, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3313:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3290:32:6" - }, - "returnParameters": { - "id": 5364, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5355, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3370:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5354, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3370:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5357, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3376:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5356, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3376:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5359, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3385:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5358, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "3385:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5361, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3393:5:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5360, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3393:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5363, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "3400:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5362, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3400:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3369:39:6" - }, - "scope": 7493, - "src": "3265:1330:6", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 5537, - "nodeType": "Block", - "src": "4753:151:6", - "statements": [ - { - "assignments": [ - 5528 - ], - "declarations": [ - { - "constant": false, - "id": 5528, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 5537, - "src": "4763:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4763:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5529, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4763:12:6" - }, - { - "externalReferences": [ - { - "data": { - "declaration": 5528, - "isOffset": false, - "isSlot": false, - "src": "4808:4:6", - "valueSize": 1 - } - }, - { - "txBytes": { - "declaration": 5520, - "isOffset": false, - "isSlot": false, - "src": "4830:7:6", - "valueSize": 1 - } - }, - { - "pos": { - "declaration": 5522, - "isOffset": false, - "isSlot": false, - "src": "4844:3:6", - "valueSize": 1 - } - } - ], - "id": 5530, - "nodeType": "InlineAssembly", - "operations": "{\n data := mload(add(add(txBytes, 20), pos))\n}", - "src": "4785:74:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5533, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5528, - "src": "4891:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + }, + "id": 5892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5888, + "name": "erc20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5819, + "src": "8936:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "expression": { - "argumentTypes": [ + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "argumentTypes": null, + "hexValue": "30", + "id": 5890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8960:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } ], - "id": 5532, + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8952:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5891, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4883:7:6", + "names": [], + "nodeType": "FunctionCall", + "src": "8952:10:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": "uint160" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } }, - "id": 5534, + "src": "8936:26:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "70617273654173736574547828293a206572633230416464726573732063616e6e6f7420626520656d707479", + "id": 5893, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "typeConversion", + "isPure": true, + "kind": "string", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4883:13:6", + "nodeType": "Literal", + "src": "8972:46:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } + "typeIdentifier": "t_stringliteral_536b360c6e06d2c4192c6ba24b0c3bc60468b3ba8f3933f24a800b60fe251351", + "typeString": "literal_string \"parseAssetTx(): erc20Address cannot be empty\"" + }, + "value": "parseAssetTx(): erc20Address cannot be empty" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint160", - "typeString": "uint160" + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_536b360c6e06d2c4192c6ba24b0c3bc60468b3ba8f3933f24a800b60fe251351", + "typeString": "literal_string \"parseAssetTx(): erc20Address cannot be empty\"" } ], - "id": 5531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4875:7:6", + "id": 5887, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "8928:7:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } }, - "id": 5535, + "id": 5894, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "typeConversion", + "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4875:22:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "src": "8928:91:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "functionReturnParameters": 5526, - "id": 5536, - "nodeType": "Return", - "src": "4868:29:6" + "id": 5895, + "nodeType": "ExpressionStatement", + "src": "8928:91:6" } ] }, - "documentation": null, - "id": 5538, + "documentation": "@dev Parse syscoin asset transaction to recover asset guid and contract, for purposes of updating asset registry in erc20manager\n@param txBytes syscoin raw transaction\n@return errorCode, assetGuid, erc20Address", + "id": 5897, "implemented": true, "kind": "function", "modifiers": [], - "name": "readEthereumAddress", + "name": "parseAssetTx", "nodeType": "FunctionDefinition", "parameters": { - "id": 5523, + "id": 5813, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5520, + "id": 5812, "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 5538, - "src": "4689:20:6", + "scope": 5897, + "src": "8186:20:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -42702,10 +52318,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5519, + "id": 5811, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4689:5:6", + "src": "8186:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -42713,14 +52329,21 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "8185:22:6" + }, + "returnParameters": { + "id": 5820, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 5522, - "name": "pos", + "id": 5815, + "name": "errorCode", "nodeType": "VariableDeclaration", - "scope": 5538, - "src": "4711:8:6", + "scope": 5897, + "src": "8253:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42728,10 +52351,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5521, + "id": 5814, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4711:4:6", + "src": "8253:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42739,21 +52362,40 @@ }, "value": null, "visibility": "internal" - } - ], - "src": "4688:32:6" - }, - "returnParameters": { - "id": 5526, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 5525, - "name": "", + "id": 5817, + "name": "assetGuid", + "nodeType": "VariableDeclaration", + "scope": 5897, + "src": "8269:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5816, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "8269:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5819, + "name": "erc20Address", "nodeType": "VariableDeclaration", - "scope": 5538, - "src": "4744:7:6", + "scope": 5897, + "src": "8287:20:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42761,10 +52403,10 @@ "typeString": "address" }, "typeName": { - "id": 5524, + "id": 5818, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4744:7:6", + "src": "8287:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -42775,194 +52417,194 @@ "visibility": "internal" } ], - "src": "4743:9:6" + "src": "8252:56:6" }, - "scope": 7493, - "src": "4660:244:6", - "stateMutability": "pure", + "scope": 7851, + "src": "8164:862:6", + "stateMutability": "view", "superFunction": null, - "visibility": "internal" + "visibility": "public" }, { "body": { - "id": 5566, + "id": 5931, "nodeType": "Block", - "src": "5032:93:6", + "src": "9121:88:6", "statements": [ { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5550, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5542, - "src": "5050:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5551, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5540, - "src": "5056:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5056:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5050:20:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5549, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "5042:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5554, + "id": 5929, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5042:29:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5555, - "nodeType": "ExpressionStatement", - "src": "5042:29:6" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { + "leftHandSide": { + "argumentTypes": null, + "id": 5906, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5904, + "src": "9131:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "id": 5928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5557, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5540, - "src": "5095:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5909, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5899, + "src": "9153:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5913, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5910, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5901, + "src": "9159:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9163:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9159:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9153:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } } - }, - "id": 5559, - "indexExpression": { - "argumentTypes": null, - "id": 5558, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5542, - "src": "5103:3:6", + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9147:5:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" }, + "id": 5914, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5095:12:6", + "names": [], + "nodeType": "FunctionCall", + "src": "9147:19:6", "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } ], - "id": 5556, + "id": 5907, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5089:5:6", + "src": "9140:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" }, - "typeName": "uint8" + "typeName": "uint16" }, - "id": 5560, + "id": 5915, "isConstant": false, "isLValue": false, "isPure": false, @@ -42970,101 +52612,257 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5089:19:6", + "src": "9140:27:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, - { + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint16", + "typeString": "uint16" }, - "id": 5563, + "id": 5927, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5561, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5542, - "src": "5110:3:6", + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5918, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5899, + "src": "9183:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5920, + "indexExpression": { + "argumentTypes": null, + "id": 5919, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5901, + "src": "9189:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9183:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 5917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9177:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": "uint8" + }, + "id": 5921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9177:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 5916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9170:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": "uint16" + }, + "id": 5922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9170:25:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, "nodeType": "BinaryOperation", - "operator": "+", + "operator": "*", "rightExpression": { "argumentTypes": null, - "hexValue": "31", - "id": 5562, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "id": 5925, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9197:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "38", + "id": 5924, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9200:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "9197:4:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } + } + ], + "id": 5926, "isConstant": false, + "isInlineArray": false, "isLValue": false, "isPure": true, - "kind": "number", "lValueRequested": false, - "nodeType": "Literal", - "src": "5116:1:6", - "subdenomination": null, + "nodeType": "TupleExpression", + "src": "9196:6:6", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } }, - "src": "5110:7:6", + "src": "9170:32:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } + }, + "src": "9140:62:6", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" } - ], - "id": 5564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5088:30:6", + }, + "src": "9131:71:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint8_$_t_uint256_$", - "typeString": "tuple(uint8,uint256)" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, - "functionReturnParameters": 5548, - "id": 5565, - "nodeType": "Return", - "src": "5081:37:6" + "id": 5930, + "nodeType": "ExpressionStatement", + "src": "9131:71:6" } ] }, "documentation": null, - "id": 5567, + "id": 5932, "implemented": true, "kind": "function", "modifiers": [], - "name": "getOpcode", + "name": "bytesToUint16", "nodeType": "FunctionDefinition", "parameters": { - "id": 5543, + "id": 5902, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5540, - "name": "txBytes", + "id": 5899, + "name": "input", "nodeType": "VariableDeclaration", - "scope": 5567, - "src": "4965:20:6", + "scope": 5932, + "src": "9055:18:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -43072,10 +52870,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5539, + "id": 5898, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4965:5:6", + "src": "9055:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -43083,230 +52881,194 @@ }, "value": null, "visibility": "internal" - }, - { - "constant": false, - "id": 5542, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 5567, - "src": "4987:8:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5541, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4987:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4964:32:6" - }, - "returnParameters": { - "id": 5548, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 5545, - "name": "", + "id": 5901, + "name": "pos", "nodeType": "VariableDeclaration", - "scope": 5567, - "src": "5019:5:6", + "scope": 5932, + "src": "9075:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 5544, - "name": "uint8", + "id": 5900, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5019:5:6", + "src": "9075:4:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" - }, + } + ], + "src": "9054:30:6" + }, + "returnParameters": { + "id": 5905, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 5547, - "name": "", + "id": 5904, + "name": "result", "nodeType": "VariableDeclaration", - "scope": 5567, - "src": "5026:4:6", + "scope": 5932, + "src": "9106:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint16", + "typeString": "uint16" }, "typeName": { - "id": 5546, - "name": "uint", + "id": 5903, + "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "5026:4:6", + "src": "9106:6:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, "value": null, "visibility": "internal" } ], - "src": "5018:13:6" + "src": "9105:15:6" }, - "scope": 7493, - "src": "4946:179:6", + "scope": 7851, + "src": "9032:177:6", "stateMutability": "pure", "superFunction": null, - "visibility": "private" + "visibility": "public" }, { "body": { - "id": 5732, + "id": 6067, "nodeType": "Block", - "src": "5214:1540:6", + "src": "9549:1340:6", "statements": [ { "assignments": [ - 5577 + 5942 ], "declarations": [ { "constant": false, - "id": 5577, - "name": "n_inputs", + "id": 5942, + "name": "ethTxReceipt", "nodeType": "VariableDeclaration", - "scope": 5732, - "src": "5224:13:6", + "scope": 6067, + "src": "9559:25:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 5576, - "name": "uint", + "id": 5941, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5224:4:6", + "src": "9559:5:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], - "id": 5578, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "5224:13:6" - }, - { - "assignments": [ - 5580 - ], - "declarations": [ - { - "constant": false, - "id": 5580, - "name": "script_len", - "nodeType": "VariableDeclaration", - "scope": 5732, - "src": "5247:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5579, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5247:4:6", + "id": 5947, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9597:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5581, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "5247:15:6" - }, - { - "assignments": [ - 5583 - ], - "declarations": [ - { - "constant": false, - "id": 5583, - "name": "output_value", - "nodeType": "VariableDeclaration", - "scope": 5732, - "src": "5272:17:6", - "stateVariable": false, - "storageLocation": "default", + ], + "id": 5944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "9587:9:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", + "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { - "id": 5582, - "name": "uint", + "id": 5943, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5272:4:6", + "src": "9591:5:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } - }, - "value": null, - "visibility": "internal" + } + }, + "id": 5946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9587:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" } - ], - "id": 5584, - "initialValue": null, + }, "nodeType": "VariableDeclarationStatement", - "src": "5272:17:6" + "src": "9559:40:6" }, { "assignments": [ - 5586 + 5949 ], "declarations": [ { "constant": false, - "id": 5586, - "name": "n_outputs", + "id": 5949, + "name": "bytesToRead", "nodeType": "VariableDeclaration", - "scope": 5732, - "src": "5299:14:6", + "scope": 6067, + "src": "9609:16:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43314,10 +53076,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5585, + "id": 5948, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5299:4:6", + "src": "9609:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43327,15 +53089,15 @@ "visibility": "internal" } ], - "id": 5587, + "id": 5950, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "5299:14:6" + "src": "9609:16:6" }, { "expression": { "argumentTypes": null, - "id": 5595, + "id": 5958, "isConstant": false, "isLValue": false, "isPure": false, @@ -43345,12 +53107,12 @@ "components": [ { "argumentTypes": null, - "id": 5588, - "name": "n_inputs", + "id": 5951, + "name": "bytesToRead", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5325:8:6", + "referencedDeclaration": 5949, + "src": "9663:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43358,26 +53120,26 @@ }, { "argumentTypes": null, - "id": 5589, + "id": 5952, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5335:3:6", + "referencedDeclaration": 5936, + "src": "9676:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5590, + "id": 5953, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "5324:15:6", + "src": "9662:18:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -43390,12 +53152,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5592, + "id": 5955, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "5354:7:6", + "referencedDeclaration": 5934, + "src": "9695:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -43403,12 +53165,12 @@ }, { "argumentTypes": null, - "id": 5593, + "id": 5956, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5363:3:6", + "referencedDeclaration": 5936, + "src": "9704:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43426,18 +53188,18 @@ "typeString": "uint256" } ], - "id": 5591, + "id": 5954, "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "5342:11:6", + "referencedDeclaration": 4783, + "src": "9683:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 5594, + "id": 5957, "isConstant": false, "isLValue": false, "isPure": false, @@ -43445,987 +53207,422 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5342:25:6", + "src": "9683:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "5324:43:6", + "src": "9662:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5596, + "id": 5959, "nodeType": "ExpressionStatement", - "src": "5324:43:6" + "src": "9662:46:6" }, { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5599, + "id": 5962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, - "id": 5597, - "name": "n_inputs", + "id": 5960, + "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5446:8:6", + "referencedDeclaration": 5936, + "src": "9718:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { "argumentTypes": null, - "hexValue": "30783030", - "id": 5598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5458:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x00" - }, - "src": "5446:16:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5626, - "nodeType": "IfStatement", - "src": "5443:320:6", - "trueBody": { - "id": 5625, - "nodeType": "Block", - "src": "5463:300:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5600, - "name": "n_inputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5478:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5601, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5488:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5602, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "5477:15:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5604, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "5507:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5605, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5516:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5603, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "5495:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5495:25:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "5477:43:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5608, - "nodeType": "ExpressionStatement", - "src": "5477:43:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5610, - "name": "n_inputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5550:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30783030", - "id": 5611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5562:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x00" - }, - "src": "5550:16:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20556e65787065637465642064756d6d792f666c6167", - "id": 5613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5568:61:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_87181e032d4a1acada6b6177d3084aa5fe59d5c32942655c4d95935a3af75a15", - "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag\"" - }, - "value": "#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_87181e032d4a1acada6b6177d3084aa5fe59d5c32942655c4d95935a3af75a15", - "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Unexpected dummy/flag\"" - } - ], - "id": 5609, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10188, - "src": "5542:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5542:88:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5615, - "nodeType": "ExpressionStatement", - "src": "5542:88:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5616, - "name": "n_inputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5710:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5617, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5720:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5618, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "5709:15:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5620, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "5739:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5621, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5748:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5619, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "5727:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5727:25:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "5709:43:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5624, - "nodeType": "ExpressionStatement", - "src": "5709:43:6" + "id": 5961, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "9725:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ] - } + }, + "src": "9718:18:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5963, + "nodeType": "ExpressionStatement", + "src": "9718:18:6" }, { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "id": 5971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { "argumentTypes": null, - "id": 5628, - "name": "n_inputs", + "id": 5964, + "name": "bytesToRead", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5780:8:6", + "referencedDeclaration": 5949, + "src": "9780:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { + { "argumentTypes": null, - "hexValue": "313030", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5791:3:6", - "subdenomination": null, + "id": 5965, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "9793:3:6", "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "5780:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - }, - { - "argumentTypes": null, - "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f696e70757473", - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5796:66:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6c90bf983bb53134a57fc740a1ff772d56cd4f80ffc5496430ec08e32e493245", - "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs\"" - }, - "value": "#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs" + ], + "id": 5966, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "9779:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } - ], - "expression": { - "argumentTypes": [ + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ { - "typeIdentifier": "t_bool", - "typeString": "bool" + "argumentTypes": null, + "id": 5968, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "9812:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } }, { - "typeIdentifier": "t_stringliteral_6c90bf983bb53134a57fc740a1ff772d56cd4f80ffc5496430ec08e32e493245", - "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_inputs\"" + "argumentTypes": null, + "id": 5969, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "9821:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], - "id": 5627, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10188, - "src": "5772:7:6", + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5967, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "9800:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 5970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9800:25:6", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "id": 5632, + "src": "9779:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5972, + "nodeType": "ExpressionStatement", + "src": "9779:46:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 5975, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5772:91:6", + "leftHandSide": { + "argumentTypes": null, + "id": 5973, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "9835:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 5974, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "9842:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9835:18:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 5633, + "id": 5976, "nodeType": "ExpressionStatement", - "src": "5772:91:6" + "src": "9835:18:6" }, { - "body": { - "id": 5663, - "nodeType": "Block", - "src": "5910:171:6", - "statements": [ - { - "expression": { + "expression": { + "argumentTypes": null, + "id": 5984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { "argumentTypes": null, - "id": 5646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5644, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5924:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3336", - "id": 5645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5931:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_36_by_1", - "typeString": "int_const 36" - }, - "value": "36" - }, - "src": "5924:9:6", + "id": 5977, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "9890:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5647, - "nodeType": "ExpressionStatement", - "src": "5924:9:6" - }, - { - "expression": { + { "argumentTypes": null, - "id": 5655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5648, - "name": "script_len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5580, - "src": "5966:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5649, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "5978:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5650, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "5965:17:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5652, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "5997:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5653, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6006:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5651, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "5985:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5985:25:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "5965:45:6", + "id": 5978, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "9903:3:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5979, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "9889:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5981, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "9922:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "id": 5656, - "nodeType": "ExpressionStatement", - "src": "5965:45:6" - }, - { - "expression": { + { "argumentTypes": null, - "id": 5661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5657, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6024:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5658, - "name": "script_len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5580, - "src": "6031:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 5659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6044:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "6031:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6024:21:6", + "id": 5982, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "9931:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "id": 5662, - "nodeType": "ExpressionStatement", - "src": "6024:21:6" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5980, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "9910:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 5983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9910:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } - ] + }, + "src": "9889:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } }, - "condition": { + "id": 5985, + "nodeType": "ExpressionStatement", + "src": "9889:46:6" + }, + { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5640, + "id": 5988, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5638, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5635, - "src": "5891:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { + "leftHandSide": { "argumentTypes": null, - "id": 5639, - "name": "n_inputs", + "id": 5986, + "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "5895:8:6", + "referencedDeclaration": 5936, + "src": "9945:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5891:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5664, - "initializationExpression": { - "assignments": [ - 5635 - ], - "declarations": [ - { - "constant": false, - "id": 5635, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 5664, - "src": "5879:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5634, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5879:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5637, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5888:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5879:10:6" - }, - "loopExpression": { - "expression": { + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { "argumentTypes": null, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5905:3:6", - "subExpression": { - "argumentTypes": null, - "id": 5641, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5635, - "src": "5905:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "id": 5987, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "9952:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5643, - "nodeType": "ExpressionStatement", - "src": "5905:3:6" + "src": "9945:18:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "nodeType": "ForStatement", - "src": "5874:207:6" + "id": 5989, + "nodeType": "ExpressionStatement", + "src": "9945:18:6" }, { "expression": { "argumentTypes": null, - "id": 5672, + "id": 5997, "isConstant": false, "isLValue": false, "isPure": false, @@ -44435,12 +53632,12 @@ "components": [ { "argumentTypes": null, - "id": 5665, - "name": "n_outputs", + "id": 5990, + "name": "bytesToRead", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5586, - "src": "6100:9:6", + "referencedDeclaration": 5949, + "src": "10000:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44448,26 +53645,26 @@ }, { "argumentTypes": null, - "id": 5666, + "id": 5991, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6111:3:6", + "referencedDeclaration": 5936, + "src": "10013:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5667, + "id": 5992, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "6099:16:6", + "src": "9999:18:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -44480,12 +53677,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5669, + "id": 5994, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "6130:7:6", + "referencedDeclaration": 5934, + "src": "10032:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -44493,12 +53690,12 @@ }, { "argumentTypes": null, - "id": 5670, + "id": 5995, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6139:3:6", + "referencedDeclaration": 5936, + "src": "10041:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44516,18 +53713,18 @@ "typeString": "uint256" } ], - "id": 5668, + "id": 5993, "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "6118:11:6", + "referencedDeclaration": 4783, + "src": "10020:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 5671, + "id": 5996, "isConstant": false, "isLValue": false, "isPure": false, @@ -44535,160 +53732,529 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6118:25:6", + "src": "10020:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "6099:44:6", + "src": "9999:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5673, + "id": 5998, "nodeType": "ExpressionStatement", - "src": "6099:44:6" + "src": "9999:46:6" }, { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "id": 6001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5999, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10055:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 6000, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "10062:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10055:18:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6002, + "nodeType": "ExpressionStatement", + "src": "10055:18:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { "argumentTypes": null, - "id": 5675, - "name": "n_outputs", + "id": 6003, + "name": "bytesToRead", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5586, - "src": "6161:9:6", + "referencedDeclaration": 5949, + "src": "10115:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { + { "argumentTypes": null, - "hexValue": "3130", - "id": 5676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6173:2:6", - "subdenomination": null, + "id": 6004, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10128:3:6", "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "6161:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - }, - { - "argumentTypes": null, - "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f6f757470757473", - "id": 5678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6177:67:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8e7c1f79badc3990449febc249d27022f625ff9ad5f427f84ed94755a6fe6cf5", - "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_outputs\"" - }, - "value": "#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_outputs" + ], + "id": 6005, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10114:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } - ], - "expression": { - "argumentTypes": [ + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ { - "typeIdentifier": "t_bool", - "typeString": "bool" + "argumentTypes": null, + "id": 6007, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "10147:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } }, { - "typeIdentifier": "t_stringliteral_8e7c1f79badc3990449febc249d27022f625ff9ad5f427f84ed94755a6fe6cf5", - "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): Incorrect size of n_outputs\"" + "argumentTypes": null, + "id": 6008, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10156:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], - "id": 5674, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10188, - "src": "6153:7:6", + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6006, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "10135:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 6009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10135:25:6", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6153:92:6", + "src": "10114:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5680, + "id": 6011, "nodeType": "ExpressionStatement", - "src": "6153:92:6" + "src": "10114:46:6" }, { - "body": { - "id": 5726, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6012, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "10291:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 6013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10306:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "10291:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6063, + "nodeType": "Block", + "src": "10767:87:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6053, + "name": "ethTxReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5942, + "src": "10781:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6055, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "10807:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 6056, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10816:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6057, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10821:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 6058, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "10825:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10821:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6054, + "name": "sliceArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4999, + "src": "10796:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,uint256,uint256) view returns (bytes memory)" + } + }, + "id": 6060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10796:41:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "10781:56:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6062, + "nodeType": "ExpressionStatement", + "src": "10781:56:6" + } + ] + }, + "id": 6064, + "nodeType": "IfStatement", + "src": "10288:566:6", + "trueBody": { + "id": 6052, "nodeType": "Block", - "src": "6292:381:6", + "src": "10308:334:6", "statements": [ + { + "assignments": [ + 6016 + ], + "declarations": [ + { + "constant": false, + "id": 6016, + "name": "positionOfValue", + "nodeType": "VariableDeclaration", + "scope": 6052, + "src": "10322:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 6015, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "10322:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6021, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6018, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "10361:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 6019, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10370:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6017, + "name": "bytesToUint16", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5932, + "src": "10347:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint16_$", + "typeString": "function (bytes memory,uint256) pure returns (uint16)" + } + }, + "id": 6020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10347:27:6", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10322:52:6" + }, { "expression": { "argumentTypes": null, - "id": 5693, + "id": 6024, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5691, + "id": 6022, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6306:3:6", + "referencedDeclaration": 5936, + "src": "10388:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44698,36 +54264,31 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "hexValue": "38", - "id": 5692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6313:1:6", - "subdenomination": null, + "id": 6023, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "10395:11:6", "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "src": "6306:8:6", + "src": "10388:18:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5694, + "id": 6025, "nodeType": "ExpressionStatement", - "src": "6306:8:6" + "src": "10388:18:6" }, { "expression": { "argumentTypes": null, - "id": 5702, + "id": 6033, "isConstant": false, "isLValue": false, "isPure": false, @@ -44737,12 +54298,12 @@ "components": [ { "argumentTypes": null, - "id": 5695, - "name": "script_len", + "id": 6026, + "name": "bytesToRead", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5580, - "src": "6351:10:6", + "referencedDeclaration": 5949, + "src": "10462:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44750,26 +54311,26 @@ }, { "argumentTypes": null, - "id": 5696, + "id": 6027, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6363:3:6", + "referencedDeclaration": 5936, + "src": "10475:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5697, + "id": 6028, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "6350:17:6", + "src": "10461:18:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -44782,12 +54343,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5699, + "id": 6030, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "6382:7:6", + "referencedDeclaration": 5934, + "src": "10494:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -44795,12 +54356,12 @@ }, { "argumentTypes": null, - "id": 5700, + "id": 6031, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6391:3:6", + "referencedDeclaration": 5936, + "src": "10503:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44818,18 +54379,18 @@ "typeString": "uint256" } ], - "id": 5698, + "id": 6029, "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "6370:11:6", + "referencedDeclaration": 4783, + "src": "10482:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 5701, + "id": 6032, "isConstant": false, "isLValue": false, "isPure": false, @@ -44837,45 +54398,102 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6370:25:6", + "src": "10482:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "6350:45:6", + "src": "10461:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5703, + "id": 6034, "nodeType": "ExpressionStatement", - "src": "6350:45:6" + "src": "10461:46:6" }, { - "condition": { + "expression": { "argumentTypes": null, - "id": 5708, + "id": 6037, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6412:25:6", - "subExpression": { + "leftHandSide": { + "argumentTypes": null, + "id": 6035, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5936, + "src": "10521:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 6036, + "name": "positionOfValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6016, + "src": "10528:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "10521:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6038, + "nodeType": "ExpressionStatement", + "src": "10521:22:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6039, + "name": "ethTxReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5942, + "src": "10557:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5705, + "id": 6041, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "6424:7:6", + "referencedDeclaration": 5934, + "src": "10583:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -44883,464 +54501,204 @@ }, { "argumentTypes": null, - "id": 5706, + "id": 6042, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6433:3:6", + "referencedDeclaration": 5936, + "src": "10592:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { + }, + { + "argumentTypes": null, + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" - } - ], - "id": 5704, - "name": "isOpReturn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5158, - "src": "6413:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,uint256) pure returns (bool)" - } - }, - "id": 5707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6413:24:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5719, - "nodeType": "IfStatement", - "src": "6409:172:6", - "trueBody": { - "id": 5718, - "nodeType": "Block", - "src": "6438:143:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5711, + }, + "id": 6048, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, - "id": 5709, + "id": 6043, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6489:3:6", + "referencedDeclaration": 5936, + "src": "10597:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { "argumentTypes": null, - "id": 5710, - "name": "script_len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5580, - "src": "6496:10:6", + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6044, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5949, + "src": "10602:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 6045, + "name": "positionOfValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6016, + "src": "10614:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "10602:27:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6047, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10601:29:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6489:17:6", + "src": "10597:33:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "id": 5712, - "nodeType": "ExpressionStatement", - "src": "6489:17:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5713, - "name": "output_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "6524:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5714, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6539:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "src": "6524:16:6", - "typeDescriptions": { + { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "id": 5716, - "nodeType": "ExpressionStatement", - "src": "6524:16:6" + ], + "id": 6040, + "name": "sliceArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4999, + "src": "10572:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,uint256,uint256) view returns (bytes memory)" + } }, - { - "id": 5717, - "nodeType": "Continue", - "src": "6558:8:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5720, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6630:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 5721, + "id": 6049, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Literal", - "src": "6637:1:6", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "10572:59:6", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } }, - "src": "6630:8:6", + "src": "10557:74:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "id": 5723, + "id": 6051, "nodeType": "ExpressionStatement", - "src": "6630:8:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5724, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "src": "6659:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5575, - "id": 5725, - "nodeType": "Return", - "src": "6652:10:6" + "src": "10557:74:6" } ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5685, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5682, - "src": "6272:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5686, - "name": "n_outputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5586, - "src": "6276:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6272:13:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5727, - "initializationExpression": { - "assignments": [ - 5682 - ], - "declarations": [ - { - "constant": false, - "id": 5682, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 5727, - "src": "6260:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5681, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6260:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5684, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6269:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6260:10:6" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6287:3:6", - "subExpression": { - "argumentTypes": null, - "id": 5688, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5682, - "src": "6287:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5690, - "nodeType": "ExpressionStatement", - "src": "6287:3:6" - }, - "nodeType": "ForStatement", - "src": "6255:418:6" + } }, { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a204e6f204f7052657475726e20666f756e64", - "id": 5729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6689:57:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8f08c133cfd6a95f1bec750e238b3e2cb8d0b1ff0795b1fc381b8fde65ba6bc5", - "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): No OpReturn found\"" - }, - "value": "#SyscoinSuperblocks getOpReturnPos(): No OpReturn found" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8f08c133cfd6a95f1bec750e238b3e2cb8d0b1ff0795b1fc381b8fde65ba6bc5", - "typeString": "literal_string \"#SyscoinSuperblocks getOpReturnPos(): No OpReturn found\"" - } - ], - "id": 5728, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10189, - 10190 - ], - "referencedDeclaration": 10190, - "src": "6682:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 5730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6682:65:6", + "id": 6065, + "name": "ethTxReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5942, + "src": "10870:12:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "id": 5731, - "nodeType": "ExpressionStatement", - "src": "6682:65:6" + "functionReturnParameters": 5940, + "id": 6066, + "nodeType": "Return", + "src": "10863:19:6" } ] }, - "documentation": null, - "id": 5733, + "documentation": "Parse txBytes and returns ethereum tx receipt\n@param txBytes syscoin raw transaction\n@param pos position at where to start parsing\n@return ethTxReceipt ethereum tx receipt", + "id": 6068, "implemented": true, "kind": "function", "modifiers": [], - "name": "getOpReturnPos", + "name": "getEthReceipt", "nodeType": "FunctionDefinition", "parameters": { - "id": 5572, + "id": 5937, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5569, + "id": 5934, "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 5733, - "src": "5155:20:6", + "scope": 6068, + "src": "9454:20:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -45348,10 +54706,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5568, + "id": 5933, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5155:5:6", + "src": "9454:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -45362,11 +54720,11 @@ }, { "constant": false, - "id": 5571, + "id": 5936, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 5733, - "src": "5177:8:6", + "scope": 6068, + "src": "9476:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45374,10 +54732,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5570, + "id": 5935, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5177:4:6", + "src": "9476:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45387,65 +54745,65 @@ "visibility": "internal" } ], - "src": "5154:32:6" + "src": "9453:32:6" }, "returnParameters": { - "id": 5575, + "id": 5940, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5574, + "id": 5939, "name": "", "nodeType": "VariableDeclaration", - "scope": 5733, - "src": "5208:4:6", + "scope": 6068, + "src": "9531:12:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 5573, - "name": "uint", + "id": 5938, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5208:4:6", + "src": "9531:5:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], - "src": "5207:6:6" + "src": "9530:14:6" }, - "scope": 7493, - "src": "5131:1623:6", - "stateMutability": "pure", + "scope": 7851, + "src": "9431:1458:6", + "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5794, + "id": 6214, "nodeType": "Block", - "src": "7069:717:6", + "src": "11305:1410:6", "statements": [ { "assignments": [ - 5743 + 6080 ], "declarations": [ { "constant": false, - "id": 5743, - "name": "version", + "id": 6080, + "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 5794, - "src": "7079:14:6", + "scope": 6214, + "src": "11315:16:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45453,10 +54811,10 @@ "typeString": "uint32" }, "typeName": { - "id": 5742, + "id": 6079, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "7079:6:6", + "src": "11315:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -45466,23 +54824,61 @@ "visibility": "internal" } ], - "id": 5744, + "id": 6081, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "7079:14:6" + "src": "11315:16:6" }, { "assignments": [ - 5746 + 6083 ], "declarations": [ { "constant": false, - "id": 5746, - "name": "pos", + "id": 6083, + "name": "erc20Address", + "nodeType": "VariableDeclaration", + "scope": 6214, + "src": "11341:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11341:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6084, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "11341:20:6" + }, + { + "assignments": [ + 6086 + ], + "declarations": [ + { + "constant": false, + "id": 6086, + "name": "bytesToRead", "nodeType": "VariableDeclaration", - "scope": 5794, - "src": "7103:8:6", + "scope": 6214, + "src": "11371:16:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45490,10 +54886,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5745, + "id": 6085, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7103:4:6", + "src": "11371:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45503,47 +54899,60 @@ "visibility": "internal" } ], - "id": 5748, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7114:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, + "id": 6087, + "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "7103:12:6" + "src": "11371:16:6" }, { "expression": { "argumentTypes": null, - "id": 5754, + "id": 6095, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5749, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5743, - "src": "7125:7:6", + "components": [ + { + "argumentTypes": null, + "id": 6088, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "11425:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6089, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11438:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6090, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "11424:18:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, "nodeType": "Assignment", @@ -45553,12 +54962,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5751, + "id": 6092, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5735, - "src": "7156:7:6", + "referencedDeclaration": 6070, + "src": "11457:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -45566,12 +54975,12 @@ }, { "argumentTypes": null, - "id": 5752, + "id": 6093, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5746, - "src": "7165:3:6", + "referencedDeclaration": 6072, + "src": "11466:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45589,18 +54998,18 @@ "typeString": "uint256" } ], - "id": 5750, - "name": "bytesToUint32Flipped", + "id": 6091, + "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4830, - "src": "7135:20:6", + "referencedDeclaration": 4783, + "src": "11445:11:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", - "typeString": "function (bytes memory,uint256) pure returns (uint32)" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 5753, + "id": 6094, "isConstant": false, "isLValue": false, "isPure": false, @@ -45608,163 +55017,153 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7135:34:6", + "src": "11445:25:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "src": "7125:44:6", + "src": "11424:46:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 5755, + "id": 6096, "nodeType": "ExpressionStatement", - "src": "7125:44:6" + "src": "11424:46:6" }, { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 5758, + "id": 6099, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, - "id": 5756, - "name": "version", + "id": 6097, + "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5743, - "src": "7182:7:6", + "referencedDeclaration": 6072, + "src": "11480:3:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { "argumentTypes": null, - "id": 5757, - "name": "SYSCOIN_TX_VERSION_ALLOCATION_MINT", + "id": 6098, + "name": "bytesToRead", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5015, - "src": "7193:34:6", + "referencedDeclaration": 6086, + "src": "11487:11:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "7182:45:6", + "src": "11480:18:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "falseBody": null, - "id": 5764, - "nodeType": "IfStatement", - "src": "7179:117:6", - "trueBody": { - "id": 5763, - "nodeType": "Block", - "src": "7228:68:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5759, - "name": "ERR_PARSE_TX_SYS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5009, - "src": "7250:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5760, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5740, - "src": "7268:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "id": 5761, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7249:36:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$", - "typeString": "tuple(uint256,uint32)" - } - }, - "functionReturnParameters": 5741, - "id": 5762, - "nodeType": "Return", - "src": "7242:43:6" - } - ] - } + "id": 6100, + "nodeType": "ExpressionStatement", + "src": "11480:18:6" }, { "expression": { "argumentTypes": null, - "id": 5770, + "id": 6103, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5765, + "id": 6101, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5746, - "src": "7305:3:6", + "referencedDeclaration": 6072, + "src": "11531:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 6102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11538:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "11531:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6104, + "nodeType": "ExpressionStatement", + "src": "11531:9:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6105, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6080, + "src": "11572:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5767, + "id": 6107, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5735, - "src": "7326:7:6", + "referencedDeclaration": 6070, + "src": "11605:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -45772,21 +55171,16 @@ }, { "argumentTypes": null, - "hexValue": "34", - "id": 5768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7335:1:6", - "subdenomination": null, + "id": 6108, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11614:3:6", "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], "expression": { @@ -45796,22 +55190,22 @@ "typeString": "bytes memory" }, { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 5766, - "name": "getOpReturnPos", + "id": 6106, + "name": "bytesToUint32Flipped", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5733, - "src": "7311:14:6", + "referencedDeclaration": 4839, + "src": "11584:20:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256)" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", + "typeString": "function (bytes memory,uint256) pure returns (uint32)" } }, - "id": 5769, + "id": 6109, "isConstant": false, "isLValue": false, "isPure": false, @@ -45819,38 +55213,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7311:26:6", + "src": "11584:34:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "src": "7305:32:6", + "src": "11572:46:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - "id": 5771, + "id": 6111, "nodeType": "ExpressionStatement", - "src": "7305:32:6" + "src": "11572:46:6" }, { "expression": { "argumentTypes": null, - "id": 5774, + "id": 6114, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5772, + "id": 6112, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5746, - "src": "7347:3:6", + "referencedDeclaration": 6072, + "src": "11628:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45860,105 +55254,81 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "hexValue": "33", - "id": 5773, + "hexValue": "34", + "id": 6113, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7354:1:6", + "src": "11635:1:6", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" }, - "value": "3" + "value": "4" }, - "src": "7347:8:6", + "src": "11628:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5775, + "id": 6115, "nodeType": "ExpressionStatement", - "src": "7347:8:6" - }, - { - "assignments": [ - 5777 - ], - "declarations": [ - { - "constant": false, - "id": 5777, - "name": "tokenFreezeTopic", - "nodeType": "VariableDeclaration", - "scope": 5794, - "src": "7468:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5776, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7468:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5779, - "initialValue": { - "argumentTypes": null, - "hexValue": "307861616261623164623439653530346235313536656466336639393034326165656362393630376130386633393235383935373163643439373433616162613864", - "id": 5778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7495:66:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_77223045334317777536692534302873667443928780219506944139266675433817424706189_by_1", - "typeString": "int_const 7722...(69 digits omitted)...6189" - }, - "value": "0xaabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d" - }, - "nodeType": "VariableDeclarationStatement", - "src": "7468:93:6" + "src": "11628:8:6" }, { "expression": { "argumentTypes": null, - "id": 5792, + "id": 6123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5780, - "name": "bridgeTransferId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5740, - "src": "7571:16:6", + "components": [ + { + "argumentTypes": null, + "id": 6116, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "11673:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6117, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11686:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6118, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "11672:18:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, "nodeType": "Assignment", @@ -45968,154 +55338,25 @@ "arguments": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5785, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5735, - "src": "7706:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5786, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5746, - "src": "7715:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5784, - "name": "getEthReceipt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5966, - "src": "7692:13:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256) view returns (bytes memory)" - } - }, - "id": 5787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7692:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5788, - "name": "tokenFreezeTopic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5777, - "src": "7721:16:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5783, - "name": "getLogValuesForTopic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6068, - "src": "7650:20:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,bytes32) pure returns (bytes memory)" - } - }, - "id": 5789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7650:105:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5782, - "name": "getBridgeTransactionId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6081, - "src": "7610:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory) pure returns (uint256)" - } - }, - "id": 5790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7610:159:6", + "id": 6120, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6070, + "src": "11705:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 6121, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11714:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46124,969 +55365,768 @@ ], "expression": { "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], - "id": 5781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7590:6:6", + "id": 6119, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "11693:11:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } }, - "id": 5791, + "id": 6122, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "typeConversion", + "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7590:189:6", + "src": "11693:25:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "src": "7571:208:6", + "src": "11672:46:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 5793, + "id": 6124, "nodeType": "ExpressionStatement", - "src": "7571:208:6" - } - ] - }, - "documentation": "@dev Parse syscoin mint transaction to recover bridgeTransferId\n@param txBytes syscoin raw transaction\n@return errorCode, bridgeTransferId", - "id": 5795, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "parseMintTx", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5736, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5735, - "name": "txBytes", - "nodeType": "VariableDeclaration", - "scope": 5795, - "src": "6957:20:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5734, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6957:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6956:22:6" - }, - "returnParameters": { - "id": 5741, - "nodeType": "ParameterList", - "parameters": [ + "src": "11672:46:6" + }, { - "constant": false, - "id": 5738, - "name": "errorCode", - "nodeType": "VariableDeclaration", - "scope": 5795, - "src": "7024:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5737, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7024:4:6", + "expression": { + "argumentTypes": null, + "id": 6127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6125, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11728:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 6126, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "11735:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11728:18:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "value": null, - "visibility": "internal" + "id": 6128, + "nodeType": "ExpressionStatement", + "src": "11728:18:6" }, - { - "constant": false, - "id": 5740, - "name": "bridgeTransferId", - "nodeType": "VariableDeclaration", - "scope": 5795, - "src": "7040:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5739, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "7040:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7023:41:6" - }, - "scope": 7493, - "src": "6936:850:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5829, - "nodeType": "Block", - "src": "7881:88:6", - "statements": [ { "expression": { "argumentTypes": null, - "id": 5827, + "id": 6131, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5804, - "name": "result", + "id": 6129, + "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5802, - "src": "7891:6:6", + "referencedDeclaration": 6072, + "src": "11796:3:6", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 5826, + "hexValue": "31", + "id": 6130, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5807, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "7913:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5811, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5808, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "7919:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5809, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7923:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7919:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7913:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7907:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 5812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7907:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7900:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 5813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7900:27:6", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } + "nodeType": "Literal", + "src": "11803:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "id": 5825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "value": "1" + }, + "src": "11796:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6132, + "nodeType": "ExpressionStatement", + "src": "11796:8:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5816, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "7943:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5818, - "indexExpression": { - "argumentTypes": null, - "id": 5817, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5799, - "src": "7949:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7943:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 5815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7937:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 5819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7937:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7930:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": "uint16" - }, - "id": 5820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7930:25:6", + "id": 6133, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "11864:11:6", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { + { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "id": 5823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7957:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 5822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7960:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "7957:4:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - } - } - ], - "id": 5824, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7956:6:6", + "id": 6134, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11877:3:6", "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6135, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "11863:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6137, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6070, + "src": "11896:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "src": "7930:32:6", + { + "argumentTypes": null, + "id": 6138, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11905:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6136, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "11884:11:6", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "src": "7900:62:6", + "id": 6139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11884:25:6", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "src": "7891:71:6", + "src": "11863:46:6", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 5828, + "id": 6141, "nodeType": "ExpressionStatement", - "src": "7891:71:6" - } - ] - }, - "documentation": null, - "id": 5830, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "bytesToUint16", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5800, - "nodeType": "ParameterList", - "parameters": [ + "src": "11863:46:6" + }, { - "constant": false, - "id": 5797, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 5830, - "src": "7815:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5796, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7815:5:6", + "expression": { + "argumentTypes": null, + "id": 6144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6142, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11919:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 6143, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "11926:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11919:18:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "value": null, - "visibility": "internal" + "id": 6145, + "nodeType": "ExpressionStatement", + "src": "11919:18:6" }, { - "constant": false, - "id": 5799, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 5830, - "src": "7835:8:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5798, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7835:4:6", + "expression": { + "argumentTypes": null, + "id": 6148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6146, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "11995:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 6147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12002:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "11995:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "value": null, - "visibility": "internal" - } - ], - "src": "7814:30:6" - }, - "returnParameters": { - "id": 5803, - "nodeType": "ParameterList", - "parameters": [ + "id": 6149, + "nodeType": "ExpressionStatement", + "src": "11995:8:6" + }, { - "constant": false, - "id": 5802, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 5830, - "src": "7866:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 5801, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "7866:6:6", + "expression": { + "argumentTypes": null, + "id": 6157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 6150, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "12071:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6151, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12084:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6152, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "12070:18:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6154, + "name": "txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6070, + "src": "12103:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 6155, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12112:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6153, + "name": "parseVarInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "12091:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + } + }, + "id": 6156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12091:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "12070:46:6", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "value": null, - "visibility": "internal" - } - ], - "src": "7865:15:6" - }, - "scope": 7493, - "src": "7792:177:6", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5965, - "nodeType": "Block", - "src": "8309:1340:6", - "statements": [ + "id": 6158, + "nodeType": "ExpressionStatement", + "src": "12070:46:6" + }, { - "assignments": [ - 5840 - ], - "declarations": [ - { - "constant": false, - "id": 5840, - "name": "ethTxReceipt", - "nodeType": "VariableDeclaration", - "scope": 5965, - "src": "8319:25:6", - "stateVariable": false, - "storageLocation": "memory", + "expression": { + "argumentTypes": null, + "id": 6161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6159, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12126:3:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5839, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8319:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 6160, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "12133:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12126:18:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "id": 5845, - "initialValue": { + }, + "id": 6162, + "nodeType": "ExpressionStatement", + "src": "12126:18:6" + }, + { + "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8357:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "id": 6165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6163, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12179:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5842, + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "38", + "id": 6164, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "NewExpression", - "src": "8347:9:6", + "nodeType": "Literal", + "src": "12186:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" }, - "typeName": { - "id": 5841, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8351:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } + "value": "8" }, - "id": 5844, + "src": "12179:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6166, + "nodeType": "ExpressionStatement", + "src": "12179:8:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6169, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "functionCall", + "isPure": false, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8347:12:6", + "leftHandSide": { + "argumentTypes": null, + "id": 6167, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12226:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "38", + "id": 6168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12233:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "12226:8:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "8319:40:6" + "id": 6170, + "nodeType": "ExpressionStatement", + "src": "12226:8:6" }, { - "assignments": [ - 5847 - ], - "declarations": [ - { - "constant": false, - "id": 5847, - "name": "bytesToRead", - "nodeType": "VariableDeclaration", - "scope": 5965, - "src": "8369:16:6", - "stateVariable": false, - "storageLocation": "default", + "expression": { + "argumentTypes": null, + "id": 6173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6171, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12271:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "38", + "id": 6172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12278:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" }, - "typeName": { - "id": 5846, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8369:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" + "value": "8" + }, + "src": "12271:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "id": 5848, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8369:16:6" + }, + "id": 6174, + "nodeType": "ExpressionStatement", + "src": "12271:8:6" }, { "expression": { "argumentTypes": null, - "id": 5856, + "id": 6177, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5849, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8423:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5850, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8436:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5851, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8422:18:6", + "id": 6175, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "12313:3:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5853, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "8455:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5854, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8464:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5852, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "8443:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5855, + "hexValue": "34", + "id": 6176, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "number", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8443:25:6", + "nodeType": "Literal", + "src": "12320:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" }, - "src": "8422:46:6", + "src": "12313:8:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 5857, + "id": 6178, "nodeType": "ExpressionStatement", - "src": "8422:46:6" + "src": "12313:8:6" }, { "expression": { "argumentTypes": null, - "id": 5860, + "id": 6181, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5858, + "id": 6179, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8478:3:6", + "referencedDeclaration": 6072, + "src": "12360:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47096,31 +56136,87 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 5859, - "name": "bytesToRead", + "hexValue": "31", + "id": 6180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12367:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12360:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6182, + "nodeType": "ExpressionStatement", + "src": "12360:8:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6183, + "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8485:11:6", + "referencedDeclaration": 6072, + "src": "12405:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8478:18:6", + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 6184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12412:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12405:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5861, + "id": 6186, "nodeType": "ExpressionStatement", - "src": "8478:18:6" + "src": "12405:8:6" }, { "expression": { "argumentTypes": null, - "id": 5869, + "id": 6194, "isConstant": false, "isLValue": false, "isPure": false, @@ -47130,12 +56226,12 @@ "components": [ { "argumentTypes": null, - "id": 5862, + "id": 6187, "name": "bytesToRead", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8540:11:6", + "referencedDeclaration": 6086, + "src": "12451:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47143,26 +56239,26 @@ }, { "argumentTypes": null, - "id": 5863, + "id": 6188, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8553:3:6", + "referencedDeclaration": 6072, + "src": "12464:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 5864, + "id": 6189, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "8539:18:6", + "src": "12450:18:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -47175,12 +56271,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5866, + "id": 6191, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "8572:7:6", + "referencedDeclaration": 6070, + "src": "12483:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -47188,12 +56284,12 @@ }, { "argumentTypes": null, - "id": 5867, + "id": 6192, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8581:3:6", + "referencedDeclaration": 6072, + "src": "12492:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47211,18 +56307,18 @@ "typeString": "uint256" } ], - "id": 5865, + "id": 6190, "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "8560:11:6", + "referencedDeclaration": 4783, + "src": "12471:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 5868, + "id": 6193, "isConstant": false, "isLValue": false, "isPure": false, @@ -47230,117 +56326,157 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8560:25:6", + "src": "12471:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "8539:46:6", + "src": "12450:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5870, + "id": 6195, "nodeType": "ExpressionStatement", - "src": "8539:46:6" + "src": "12450:46:6" }, { "expression": { "argumentTypes": null, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5871, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8595:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6197, + "name": "bytesToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6086, + "src": "12514:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783134", + "id": 6198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12529:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "0x14" + }, + "src": "12514:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "7363616e4173736574547828293a20496e76616c6964206e756d626572206f66206279746573207265616420666f7220636f6e7472616374206669656c64", + "id": 6200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12543:64:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_65cf841cdffcf46d89089af7928257f58c0f7491e64b6baf8ad16ca54da601bb", + "typeString": "literal_string \"scanAssetTx(): Invalid number of bytes read for contract field\"" + }, + "value": "scanAssetTx(): Invalid number of bytes read for contract field" } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5872, - "name": "bytesToRead", + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_65cf841cdffcf46d89089af7928257f58c0f7491e64b6baf8ad16ca54da601bb", + "typeString": "literal_string \"scanAssetTx(): Invalid number of bytes read for contract field\"" + } + ], + "id": 6196, + "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8602:11:6", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11102, + "src": "12506:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "src": "8595:18:6", + "id": 6201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12506:102:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 5874, + "id": 6202, "nodeType": "ExpressionStatement", - "src": "8595:18:6" + "src": "12506:102:6" }, { "expression": { "argumentTypes": null, - "id": 5882, + "id": 6208, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5875, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8650:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5876, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8663:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5877, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8649:18:6", + "id": 6203, + "name": "erc20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6083, + "src": "12618:12:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "Assignment", @@ -47350,12 +56486,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5879, + "id": 6205, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "8682:7:6", + "referencedDeclaration": 6070, + "src": "12653:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -47363,12 +56499,12 @@ }, { "argumentTypes": null, - "id": 5880, + "id": 6206, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8691:3:6", + "referencedDeclaration": 6072, + "src": "12662:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47386,18 +56522,18 @@ "typeString": "uint256" } ], - "id": 5878, - "name": "parseVarInt", + "id": 6204, + "name": "readEthereumAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "8670:11:6", + "referencedDeclaration": 5553, + "src": "12633:19:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$", + "typeString": "function (bytes memory,uint256) pure returns (address)" } }, - "id": 5881, + "id": 6207, "isConstant": false, "isLValue": false, "isPure": false, @@ -47405,630 +56541,953 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8670:25:6", + "src": "12633:33:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "12618:48:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6209, + "nodeType": "ExpressionStatement", + "src": "12618:48:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 6210, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6080, + "src": "12684:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 6211, + "name": "erc20Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6083, + "src": "12695:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 6212, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12683:25:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint32_$_t_address_$", + "typeString": "tuple(uint32,address)" + } + }, + "functionReturnParameters": 6078, + "id": 6213, + "nodeType": "Return", + "src": "12676:32:6" + } + ] + }, + "documentation": "Parse txBytes and returns assetguid + contract address\n@param txBytes syscoin raw transaction\n@param pos position at where to start parsing\n@return asset guid (uint32) and erc20 address linked to the asset guid to update registry in erc20manager", + "id": 6215, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "scanAssetTx", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6073, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6070, + "name": "txBytes", + "nodeType": "VariableDeclaration", + "scope": 6215, + "src": "11207:20:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6069, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11207:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6072, + "name": "pos", + "nodeType": "VariableDeclaration", + "scope": 6215, + "src": "11229:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6071, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11229:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11206:32:6" + }, + "returnParameters": { + "id": 6078, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6075, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6215, + "src": "11284:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 6074, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "11284:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6077, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6215, + "src": "11292:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6076, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11292:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11283:17:6" + }, + "scope": 7851, + "src": "11186:1529:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6230, + "nodeType": "Block", + "src": "13192:134:6", + "statements": [ + { + "assignments": [ + 6225 + ], + "declarations": [ + { + "constant": false, + "id": 6225, + "name": "out", + "nodeType": "VariableDeclaration", + "scope": 6230, + "src": "13202:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6224, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13202:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6226, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "13202:11:6" + }, + { + "externalReferences": [ + { + "out": { + "declaration": 6225, + "isOffset": false, + "isSlot": false, + "src": "13246:3:6", + "valueSize": 1 + } + }, + { + "_rawBytes": { + "declaration": 6217, + "isOffset": false, + "isSlot": false, + "src": "13267:9:6", + "valueSize": 1 } }, - "src": "8649:46:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + { + "pos": { + "declaration": 6219, + "isOffset": false, + "isSlot": false, + "src": "13285:3:6", + "valueSize": 1 + } } - }, - "id": 5883, - "nodeType": "ExpressionStatement", - "src": "8649:46:6" + ], + "id": 6227, + "nodeType": "InlineAssembly", + "operations": "{\n out := mload(add(add(_rawBytes, 0x20), pos))\n}", + "src": "13223:77:6" }, { "expression": { "argumentTypes": null, - "id": 5886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5884, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8705:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5885, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8712:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8705:18:6", + "id": 6228, + "name": "out", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6225, + "src": "13316:3:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 6223, + "id": 6229, + "nodeType": "Return", + "src": "13309:10:6" + } + ] + }, + "documentation": null, + "id": 6231, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bytesToBytes32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6217, + "name": "_rawBytes", + "nodeType": "VariableDeclaration", + "scope": 6231, + "src": "13128:22:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6216, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13128:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6219, + "name": "pos", + "nodeType": "VariableDeclaration", + "scope": 6231, + "src": "13152:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6218, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13152:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5887, - "nodeType": "ExpressionStatement", - "src": "8705:18:6" - }, + "value": null, + "visibility": "internal" + } + ], + "src": "13127:34:6" + }, + "returnParameters": { + "id": 6223, + "nodeType": "ParameterList", + "parameters": [ { - "expression": { - "argumentTypes": null, - "id": 5895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5888, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8760:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5889, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8773:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5890, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8759:18:6", + "constant": false, + "id": 6222, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6231, + "src": "13183:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6221, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13183:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13182:9:6" + }, + "scope": 7851, + "src": "13104:222:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6316, + "nodeType": "Block", + "src": "13632:620:6", + "statements": [ + { + "assignments": [ + 6244 + ], + "declarations": [ + { + "constant": false, + "id": 6244, + "name": "ethTxReceiptList", + "nodeType": "VariableDeclaration", + "scope": 6316, + "src": "13642:43:6", + "stateVariable": false, + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5892, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "8792:7:6", + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 6242, + "name": "RLPReader.RLPItem", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 10404, + "src": "13642:17:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_struct$_RLPItem_$10404_storage_ptr", + "typeString": "struct RLPReader.RLPItem" } }, - { - "argumentTypes": null, - "id": 5893, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8801:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "id": 6243, + "length": null, + "nodeType": "ArrayTypeName", + "src": "13642:19:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_storage_$dyn_storage_ptr", + "typeString": "struct RLPReader.RLPItem[]" } - ], + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6250, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 6245, + "name": "ethTxReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6233, + "src": "13688:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "id": 6246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toRlpItem", + "nodeType": "MemberAccess", + "referencedDeclaration": 10487, + "src": "13688:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_RLPItem_$10404_memory_ptr_$bound_to$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (struct RLPReader.RLPItem memory)" } - ], - "id": 5891, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "8780:11:6", + }, + "id": 6247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13688:24:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + "typeIdentifier": "t_struct$_RLPItem_$10404_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory" } }, - "id": 5894, + "id": 6248, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8780:25:6", + "memberName": "toList", + "nodeType": "MemberAccess", + "referencedDeclaration": 10622, + "src": "13688:31:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$10404_memory_ptr_$returns$_t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr_$bound_to$_t_struct$_RLPItem_$10404_memory_ptr_$", + "typeString": "function (struct RLPReader.RLPItem memory) pure returns (struct RLPReader.RLPItem memory[] memory)" } }, - "src": "8759:46:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5896, - "nodeType": "ExpressionStatement", - "src": "8759:46:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5899, + "id": 6249, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5897, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8815:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5898, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8822:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8815:18:6", + "names": [], + "nodeType": "FunctionCall", + "src": "13688:33:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" } }, - "id": 5900, - "nodeType": "ExpressionStatement", - "src": "8815:18:6" + "nodeType": "VariableDeclarationStatement", + "src": "13642:79:6" }, { - "expression": { - "argumentTypes": null, - "id": 5908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5901, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "8875:11:6", + "assignments": [ + 6255 + ], + "declarations": [ + { + "constant": false, + "id": 6255, + "name": "logsList", + "nodeType": "VariableDeclaration", + "scope": 6316, + "src": "13731:35:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 6253, + "name": "RLPReader.RLPItem", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 10404, + "src": "13731:17:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_RLPItem_$10404_storage_ptr", + "typeString": "struct RLPReader.RLPItem" } }, - { - "argumentTypes": null, - "id": 5902, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8888:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "id": 6254, + "length": null, + "nodeType": "ArrayTypeName", + "src": "13731:19:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_storage_$dyn_storage_ptr", + "typeString": "struct RLPReader.RLPItem[]" } - ], - "id": 5903, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8874:18:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6261, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "id": 5905, - "name": "txBytes", + "id": 6256, + "name": "ethTxReceiptList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "8907:7:6", + "referencedDeclaration": 6244, + "src": "13769:16:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" } }, - { + "id": 6258, + "indexExpression": { "argumentTypes": null, - "id": 5906, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "8916:3:6", + "hexValue": "33", + "id": 6257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13786:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5904, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "8895:11:6", + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13769:19:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" + "typeIdentifier": "t_struct$_RLPItem_$10404_memory", + "typeString": "struct RLPReader.RLPItem memory" } }, - "id": 5907, + "id": 6259, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8895:25:6", + "memberName": "toList", + "nodeType": "MemberAccess", + "referencedDeclaration": 10622, + "src": "13769:26:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$10404_memory_ptr_$returns$_t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr_$bound_to$_t_struct$_RLPItem_$10404_memory_ptr_$", + "typeString": "function (struct RLPReader.RLPItem memory) pure returns (struct RLPReader.RLPItem memory[] memory)" } }, - "src": "8874:46:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5909, - "nodeType": "ExpressionStatement", - "src": "8874:46:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5912, + "id": 6260, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5910, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "9051:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9066:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9051:16:6", + "names": [], + "nodeType": "FunctionCall", + "src": "13769:28:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" } }, - "falseBody": { - "id": 5961, + "nodeType": "VariableDeclarationStatement", + "src": "13731:66:6" + }, + { + "body": { + "id": 6310, "nodeType": "Block", - "src": "9527:87:6", + "src": "13853:358:6", "statements": [ { - "expression": { - "argumentTypes": null, - "id": 5959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "ethTxReceipt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5840, - "src": "9541:12:6", + "assignments": [ + 6277 + ], + "declarations": [ + { + "constant": false, + "id": 6277, + "name": "log", + "nodeType": "VariableDeclaration", + "scope": 6310, + "src": "13867:30:6", + "stateVariable": false, + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 6275, + "name": "RLPReader.RLPItem", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 10404, + "src": "13867:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RLPItem_$10404_storage_ptr", + "typeString": "struct RLPReader.RLPItem" + } + }, + "id": 6276, + "length": null, + "nodeType": "ArrayTypeName", + "src": "13867:19:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_storage_$dyn_storage_ptr", + "typeString": "struct RLPReader.RLPItem[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6283, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "id": 5953, - "name": "txBytes", + "id": 6278, + "name": "logsList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "9567:7:6", + "referencedDeclaration": 6255, + "src": "13900:8:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" } }, - { + "id": 6280, + "indexExpression": { "argumentTypes": null, - "id": 5954, - "name": "pos", + "id": 6279, + "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9576:3:6", + "referencedDeclaration": 6263, + "src": "13909:1:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13900:11:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RLPItem_$10404_memory", + "typeString": "struct RLPReader.RLPItem memory" + } + }, + "id": 6281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "toList", + "nodeType": "MemberAccess", + "referencedDeclaration": 10622, + "src": "13900:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$10404_memory_ptr_$returns$_t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr_$bound_to$_t_struct$_RLPItem_$10404_memory_ptr_$", + "typeString": "function (struct RLPReader.RLPItem memory) pure returns (struct RLPReader.RLPItem memory[] memory)" + } + }, + "id": 6282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13900:20:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13867:53:6" + }, + { + "assignments": [ + 6285 + ], + "declarations": [ + { + "constant": false, + "id": 6285, + "name": "rawTopic", + "nodeType": "VariableDeclaration", + "scope": 6310, + "src": "13934:21:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6284, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13934:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6291, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5957, + "id": 6286, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6277, + "src": "13958:3:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" + } + }, + "id": 6288, + "indexExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 6287, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5955, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9581:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5956, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "9585:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9581:15:6", + "nodeType": "Literal", + "src": "13962:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5952, - "name": "sliceArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "9556:10:6", + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13958:6:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256,uint256) view returns (bytes memory)" + "typeIdentifier": "t_struct$_RLPItem_$10404_memory", + "typeString": "struct RLPReader.RLPItem memory" } }, - "id": 5958, + "id": 6289, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9556:41:6", + "memberName": "toBytes", + "nodeType": "MemberAccess", + "referencedDeclaration": 10869, + "src": "13958:14:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$10404_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_struct$_RLPItem_$10404_memory_ptr_$", + "typeString": "function (struct RLPReader.RLPItem memory) pure returns (bytes memory)" } }, - "src": "9541:56:6", + "id": 6290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13958:16:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5960, - "nodeType": "ExpressionStatement", - "src": "9541:56:6" - } - ] - }, - "id": 5962, - "nodeType": "IfStatement", - "src": "9048:566:6", - "trueBody": { - "id": 5950, - "nodeType": "Block", - "src": "9068:334:6", - "statements": [ + "nodeType": "VariableDeclarationStatement", + "src": "13934:40:6" + }, { "assignments": [ - 5914 + 6293 ], "declarations": [ { "constant": false, - "id": 5914, - "name": "positionOfValue", + "id": 6293, + "name": "topic", "nodeType": "VariableDeclaration", - "scope": 5950, - "src": "9082:22:6", + "scope": 6310, + "src": "13988:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 5913, - "name": "uint16", + "id": 6292, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9082:6:6", + "src": "13988:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], - "id": 5919, + "id": 6298, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5916, - "name": "txBytes", + "id": 6295, + "name": "rawTopic", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "9121:7:6", + "referencedDeclaration": 6285, + "src": "14019:8:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -48036,16 +57495,21 @@ }, { "argumentTypes": null, - "id": 5917, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9130:3:6", + "hexValue": "31", + "id": 6296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14029:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" } ], "expression": { @@ -48055,22 +57519,22 @@ "typeString": "bytes memory" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" } ], - "id": 5915, - "name": "bytesToUint16", + "id": 6294, + "name": "bytesToBytes32", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5830, - "src": "9107:13:6", + "referencedDeclaration": 6231, + "src": "14004:14:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint16_$", - "typeString": "function (bytes memory,uint256) pure returns (uint16)" + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256) pure returns (bytes32)" } }, - "id": 5918, + "id": 6297, "isConstant": false, "isLValue": false, "isPure": false, @@ -48078,475 +57542,394 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9107:27:6", + "src": "14004:27:6", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "9082:52:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5920, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9148:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5921, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "9155:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9148:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5923, - "nodeType": "ExpressionStatement", - "src": "9148:18:6" + "src": "13988:43:6" }, { - "expression": { + "condition": { "argumentTypes": null, - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5924, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "9222:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5925, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9235:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5926, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9221:18:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5928, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "9254:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5929, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9263:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5927, - "name": "parseVarInt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "9242:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9242:25:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, - "src": "9221:46:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5932, - "nodeType": "ExpressionStatement", - "src": "9221:46:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5935, + "id": 6301, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, - "id": 5933, - "name": "pos", + "id": 6299, + "name": "topic", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9281:3:6", + "referencedDeclaration": 6293, + "src": "14083:5:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { "argumentTypes": null, - "id": 5934, - "name": "positionOfValue", + "id": 6300, + "name": "expectedTopic", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5914, - "src": "9288:15:6", + "referencedDeclaration": 6235, + "src": "14092:13:6", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "src": "9281:22:6", + "src": "14083:22:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 5936, - "nodeType": "ExpressionStatement", - "src": "9281:22:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5937, - "name": "ethTxReceipt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5840, - "src": "9317:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5939, - "name": "txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5832, - "src": "9343:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 5940, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9352:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { + "falseBody": null, + "id": 6309, + "nodeType": "IfStatement", + "src": "14079:122:6", + "trueBody": { + "id": 6308, + "nodeType": "Block", + "src": "14107:94:6", + "statements": [ + { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5941, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "9357:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5944, + "id": 6302, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6277, + "src": "14170:3:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" + } + }, + "id": 6304, + "indexExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 6303, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5942, - "name": "bytesToRead", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5847, - "src": "9362:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5943, - "name": "positionOfValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5914, - "src": "9374:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "src": "9362:27:6", + "nodeType": "Literal", + "src": "14174:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14170:6:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RLPItem_$10404_memory", + "typeString": "struct RLPReader.RLPItem memory" } - ], - "id": 5945, + }, + "id": 6305, "isConstant": false, - "isInlineArray": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9361:29:6", + "memberName": "toBytes", + "nodeType": "MemberAccess", + "referencedDeclaration": 10869, + "src": "14170:14:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$10404_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_struct$_RLPItem_$10404_memory_ptr_$", + "typeString": "function (struct RLPReader.RLPItem memory) pure returns (bytes memory)" } }, - "src": "9357:33:6", + "id": 6306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14170:16:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } - ], - "id": 5938, - "name": "sliceArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "9332:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256,uint256) view returns (bytes memory)" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9332:59:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + }, + "functionReturnParameters": 6239, + "id": 6307, + "nodeType": "Return", + "src": "14163:23:6" } - }, - "src": "9317:74:6", + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6266, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6263, + "src": "13827:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6267, + "name": "logsList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6255, + "src": "13831:8:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RLPItem_$10404_memory_$dyn_memory_ptr", + "typeString": "struct RLPReader.RLPItem memory[] memory" + } + }, + "id": 6268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13831:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13827:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6311, + "initializationExpression": { + "assignments": [ + 6263 + ], + "declarations": [ + { + "constant": false, + "id": 6263, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 6311, + "src": "13812:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13812:7:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 5949, - "nodeType": "ExpressionStatement", - "src": "9317:74:6" + "value": null, + "visibility": "internal" } - ] - } + ], + "id": 6265, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 6264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13824:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "13812:13:6" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 6271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "13848:3:6", + "subExpression": { + "argumentTypes": null, + "id": 6270, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6263, + "src": "13848:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6272, + "nodeType": "ExpressionStatement", + "src": "13848:3:6" + }, + "nodeType": "ForStatement", + "src": "13807:404:6" }, { "expression": { "argumentTypes": null, - "id": 5963, - "name": "ethTxReceipt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5840, - "src": "9630:12:6", + "arguments": [ + { + "argumentTypes": null, + "hexValue": "546f706963206e6f7420666f756e64", + "id": 6313, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14227:17:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cfc512e84ffdf7388e5788298a153cceb897abb7bc369ed2894442c817eecf31", + "typeString": "literal_string \"Topic not found\"" + }, + "value": "Topic not found" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cfc512e84ffdf7388e5788298a153cceb897abb7bc369ed2894442c817eecf31", + "typeString": "literal_string \"Topic not found\"" + } + ], + "id": 6312, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11103, + 11104 + ], + "referencedDeclaration": 11104, + "src": "14220:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 6314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14220:25:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "functionReturnParameters": 5838, - "id": 5964, - "nodeType": "Return", - "src": "9623:19:6" + "id": 6315, + "nodeType": "ExpressionStatement", + "src": "14220:25:6" } ] }, - "documentation": "Parse txBytes and returns ethereum tx receipt\n@param txBytes syscoin raw transaction\n@param pos position at where to start parsing\n@return ethTxReceipt ethereum tx receipt", - "id": 5966, + "documentation": "Return logs for given ethereum transaction receipt\n@param ethTxReceipt ethereum transaction receipt\n@return logs bloom", + "id": 6317, "implemented": true, "kind": "function", "modifiers": [], - "name": "getEthReceipt", + "name": "getLogValuesForTopic", "nodeType": "FunctionDefinition", "parameters": { - "id": 5835, + "id": 6236, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5832, - "name": "txBytes", + "id": 6233, + "name": "ethTxReceipt", "nodeType": "VariableDeclaration", - "scope": 5966, - "src": "8214:20:6", + "scope": 6317, + "src": "13519:25:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -48554,10 +57937,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5831, + "id": 6232, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8214:5:6", + "src": "13519:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -48568,44 +57951,44 @@ }, { "constant": false, - "id": 5834, - "name": "pos", + "id": 6235, + "name": "expectedTopic", "nodeType": "VariableDeclaration", - "scope": 5966, - "src": "8236:8:6", + "scope": 6317, + "src": "13546:21:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 5833, - "name": "uint", + "id": 6234, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8236:4:6", + "src": "13546:7:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], - "src": "8213:32:6" + "src": "13518:50:6" }, "returnParameters": { - "id": 5838, + "id": 6239, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5837, + "id": 6238, "name": "", "nodeType": "VariableDeclaration", - "scope": 5966, - "src": "8291:12:6", + "scope": 6317, + "src": "13614:12:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -48613,10 +57996,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5836, + "id": 6237, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8291:5:6", + "src": "13614:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -48626,131 +58009,129 @@ "visibility": "internal" } ], - "src": "8290:14:6" + "src": "13613:14:6" }, - "scope": 7493, - "src": "8191:1458:6", - "stateMutability": "view", + "scope": 7851, + "src": "13489:763:6", + "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5981, + "id": 6329, "nodeType": "Block", - "src": "10126:134:6", + "src": "14483:141:6", "statements": [ { "assignments": [ - 5976 + 6325 ], "declarations": [ { "constant": false, - "id": 5976, - "name": "out", + "id": 6325, + "name": "index", "nodeType": "VariableDeclaration", - "scope": 5981, - "src": "10136:11:6", + "scope": 6329, + "src": "14493:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, "typeName": { - "id": 5975, - "name": "bytes32", + "id": 6324, + "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10136:7:6", + "src": "14493:5:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "value": null, "visibility": "internal" } ], - "id": 5977, - "initialValue": null, + "id": 6327, + "initialValue": { + "argumentTypes": null, + "hexValue": "33", + "id": 6326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14507:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, "nodeType": "VariableDeclarationStatement", - "src": "10136:11:6" + "src": "14493:15:6" }, { "externalReferences": [ { - "out": { - "declaration": 5976, + "value": { + "declaration": 6322, "isOffset": false, "isSlot": false, - "src": "10180:3:6", + "src": "14562:5:6", "valueSize": 1 } }, { - "_rawBytes": { - "declaration": 5968, + "index": { + "declaration": 6325, "isOffset": false, "isSlot": false, - "src": "10201:9:6", + "src": "14600:5:6", "valueSize": 1 } }, { - "pos": { - "declaration": 5970, + "logValues": { + "declaration": 6319, "isOffset": false, "isSlot": false, - "src": "10219:3:6", + "src": "14581:9:6", "valueSize": 1 } } ], - "id": 5978, + "id": 6328, "nodeType": "InlineAssembly", - "operations": "{\n out := mload(add(add(_rawBytes, 0x20), pos))\n}", - "src": "10157:77:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 5979, - "name": "out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5976, - "src": "10250:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 5974, - "id": 5980, - "nodeType": "Return", - "src": "10243:10:6" + "operations": "{\n value := mload(add(logValues, mul(32, index)))\n}", + "src": "14539:79:6" } ] }, - "documentation": null, - "id": 5982, + "documentation": "Get bridgeTransactionId from logs bloom\n@param logValues log values\n@return bridgeTransactionId", + "id": 6330, "implemented": true, "kind": "function", "modifiers": [], - "name": "bytesToBytes32", + "name": "getBridgeTransactionId", "nodeType": "FunctionDefinition", "parameters": { - "id": 5971, + "id": 6320, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5968, - "name": "_rawBytes", + "id": 6319, + "name": "logValues", "nodeType": "VariableDeclaration", - "scope": 5982, - "src": "10062:22:6", + "scope": 6330, + "src": "14423:22:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -48758,10 +58139,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5967, + "id": 6318, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10062:5:6", + "src": "14423:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -48769,192 +58150,226 @@ }, "value": null, "visibility": "internal" - }, - { - "constant": false, - "id": 5970, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 5982, - "src": "10086:8:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5969, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10086:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" } ], - "src": "10061:34:6" + "src": "14422:24:6" }, "returnParameters": { - "id": 5974, + "id": 6323, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5973, - "name": "", + "id": 6322, + "name": "value", "nodeType": "VariableDeclaration", - "scope": 5982, - "src": "10117:7:6", + "scope": 6330, + "src": "14468:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 5972, - "name": "bytes32", + "id": 6321, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10117:7:6", + "src": "14468:7:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "10116:9:6" + "src": "14467:15:6" }, - "scope": 7493, - "src": "10038:222:6", + "scope": 7851, + "src": "14391:233:6", "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { - "id": 6067, + "id": 6462, "nodeType": "Block", - "src": "10566:620:6", + "src": "15545:950:6", "statements": [ { - "assignments": [ - 5995 - ], - "declarations": [ - { - "constant": false, - "id": 5995, - "name": "ethTxReceiptList", - "nodeType": "VariableDeclaration", - "scope": 6067, - "src": "10576:43:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 5993, - "name": "RLPReader.RLPItem", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9490, - "src": "10576:17:6", + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 6352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6350, + "name": "bestSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5030, + "src": "15563:14:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_storage_ptr", - "typeString": "struct RLPReader.RLPItem" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 5994, - "length": null, - "nodeType": "ArrayTypeName", - "src": "10576:19:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_storage_$dyn_storage_ptr", - "typeString": "struct RLPReader.RLPItem[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6001, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 5996, - "name": "ethTxReceipt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "src": "10622:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 5997, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6351, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "memberName": "toRlpItem", - "nodeType": "MemberAccess", - "referencedDeclaration": 9573, - "src": "10622:22:6", + "nodeType": "Literal", + "src": "15581:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_RLPItem_$9490_memory_ptr_$bound_to$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) pure returns (struct RLPReader.RLPItem memory)" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15563:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6349, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "15555:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15555:28:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6354, + "nodeType": "ExpressionStatement", + "src": "15555:28:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, - "id": 5998, + "id": 6358, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10622:24:6", + "leftExpression": { + "argumentTypes": null, + "id": 6356, + "name": "_parentId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6342, + "src": "15601:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15614:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15601:14:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory" + "typeIdentifier": "t_bool", + "typeString": "bool" } - }, - "id": 5999, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "toList", - "nodeType": "MemberAccess", - "referencedDeclaration": 9708, - "src": "10622:31:6", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6355, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "15593:7:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$9490_memory_ptr_$returns$_t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr_$bound_to$_t_struct$_RLPItem_$9490_memory_ptr_$", - "typeString": "function (struct RLPReader.RLPItem memory) pure returns (struct RLPReader.RLPItem memory[] memory)" + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" } }, - "id": 6000, + "id": 6359, "isConstant": false, "isLValue": false, "isPure": false, @@ -48962,125 +58377,170 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10622:33:6", + "src": "15593:23:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "10576:79:6" + "id": 6360, + "nodeType": "ExpressionStatement", + "src": "15593:23:6" }, { "assignments": [ - 6006 + 6362 ], "declarations": [ { "constant": false, - "id": 6006, - "name": "logsList", + "id": 6362, + "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 6067, - "src": "10665:35:6", + "scope": 6462, + "src": "15627:22:6", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem[]" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "baseType": { - "contractScope": null, - "id": 6004, - "name": "RLPReader.RLPItem", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9490, - "src": "10665:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_storage_ptr", - "typeString": "struct RLPReader.RLPItem" - } - }, - "id": 6005, - "length": null, - "nodeType": "ArrayTypeName", - "src": "10665:19:6", + "id": 6361, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15627:7:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_storage_$dyn_storage_ptr", - "typeString": "struct RLPReader.RLPItem[]" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], - "id": 6012, + "id": 6371, "initialValue": { "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { + "arguments": [ + { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6007, - "name": "ethTxReceiptList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "10703:16:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" - } - }, - "id": 6009, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 6008, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10720:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10703:19:6", + "id": 6364, + "name": "_blocksMerkleRoot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6332, + "src": "15671:17:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_memory", - "typeString": "struct RLPReader.RLPItem memory" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 6010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "toList", - "nodeType": "MemberAccess", - "referencedDeclaration": 9708, - "src": "10703:26:6", + { + "argumentTypes": null, + "id": 6365, + "name": "_timestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6334, + "src": "15690:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6366, + "name": "_mtpTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6336, + "src": "15702:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6367, + "name": "_lastHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6338, + "src": "15717:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6368, + "name": "_lastBits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6340, + "src": "15728:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 6369, + "name": "_parentId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6342, + "src": "15739:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6363, + "name": "calcSuperblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7672, + "src": "15652:18:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$9490_memory_ptr_$returns$_t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr_$bound_to$_t_struct$_RLPItem_$9490_memory_ptr_$", - "typeString": "function (struct RLPReader.RLPItem memory) pure returns (struct RLPReader.RLPItem memory[] memory)" + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,uint256,uint256,bytes32,uint32,bytes32) pure returns (bytes32)" } }, - "id": 6011, + "id": 6370, "isConstant": false, "isLValue": false, "isPure": false, @@ -49088,705 +58548,1012 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10703:28:6", + "src": "15652:97:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "10665:66:6" + "src": "15627:122:6" }, { - "body": { - "id": 6061, - "nodeType": "Block", - "src": "10787:358:6", - "statements": [ - { - "assignments": [ - 6028 - ], - "declarations": [ - { - "constant": false, - "id": 6028, - "name": "log", - "nodeType": "VariableDeclaration", - "scope": 6061, - "src": "10801:30:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6026, - "name": "RLPReader.RLPItem", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9490, - "src": "10801:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_storage_ptr", - "typeString": "struct RLPReader.RLPItem" - } - }, - "id": 6027, - "length": null, - "nodeType": "ArrayTypeName", - "src": "10801:19:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_storage_$dyn_storage_ptr", - "typeString": "struct RLPReader.RLPItem[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6034, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6029, - "name": "logsList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6006, - "src": "10834:8:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" - } - }, - "id": 6031, - "indexExpression": { - "argumentTypes": null, - "id": 6030, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6014, - "src": "10843:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10834:11:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_memory", - "typeString": "struct RLPReader.RLPItem memory" - } - }, - "id": 6032, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "toList", - "nodeType": "MemberAccess", - "referencedDeclaration": 9708, - "src": "10834:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$9490_memory_ptr_$returns$_t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr_$bound_to$_t_struct$_RLPItem_$9490_memory_ptr_$", - "typeString": "function (struct RLPReader.RLPItem memory) pure returns (struct RLPReader.RLPItem memory[] memory)" - } - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10834:20:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10801:53:6" + "assignments": [ + 6373 + ], + "declarations": [ + { + "constant": false, + "id": 6373, + "name": "superblock", + "nodeType": "VariableDeclaration", + "scope": 6462, + "src": "15759:33:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, - { - "assignments": [ - 6036 - ], - "declarations": [ - { - "constant": false, - "id": 6036, - "name": "rawTopic", - "nodeType": "VariableDeclaration", - "scope": 6061, - "src": "10868:21:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6035, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10868:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6042, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6037, - "name": "log", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6028, - "src": "10892:3:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" - } - }, - "id": 6039, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10896:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10892:6:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_memory", - "typeString": "struct RLPReader.RLPItem memory" - } - }, - "id": 6040, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "toBytes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9955, - "src": "10892:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$9490_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_struct$_RLPItem_$9490_memory_ptr_$", - "typeString": "function (struct RLPReader.RLPItem memory) pure returns (bytes memory)" - } - }, - "id": 6041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10892:16:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10868:40:6" + "typeName": { + "contractScope": null, + "id": 6372, + "name": "SuperblockInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8137, + "src": "15759:14:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" + } }, + "value": null, + "visibility": "internal" + } + ], + "id": 6377, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6374, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "15795:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 6376, + "indexExpression": { + "argumentTypes": null, + "id": 6375, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6362, + "src": "15807:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15795:27:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15759:63:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ { - "assignments": [ - 6044 - ], - "declarations": [ - { - "constant": false, - "id": 6044, - "name": "topic", - "nodeType": "VariableDeclaration", - "scope": 6061, - "src": "10922:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6043, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10922:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6049, - "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + }, + "id": 6383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6046, - "name": "rawTopic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6036, - "src": "10953:8:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 6047, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10963:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 6045, - "name": "bytesToBytes32", + "argumentTypes": null, + "id": 6379, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5982, - "src": "10938:14:6", + "referencedDeclaration": 6373, + "src": "15841:10:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (bytes memory,uint256) pure returns (bytes32)" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6048, + "id": 6380, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10938:27:6", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "15841:17:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, - "nodeType": "VariableDeclarationStatement", - "src": "10922:43:6" - }, - { - "condition": { + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 6052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6050, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6044, - "src": "11017:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + "expression": { "argumentTypes": null, - "id": 6051, - "name": "expectedTopic", + "id": 6381, + "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5986, - "src": "11026:13:6", + "referencedDeclaration": 8118, + "src": "15862:6:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "src": "11017:22:6", + "id": 6382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Uninitialized", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15862:20:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, - "falseBody": null, - "id": 6060, - "nodeType": "IfStatement", - "src": "11013:122:6", - "trueBody": { - "id": 6059, - "nodeType": "Block", - "src": "11041:94:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6053, - "name": "log", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6028, - "src": "11104:3:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" - } - }, - "id": 6055, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11108:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11104:6:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RLPItem_$9490_memory", - "typeString": "struct RLPReader.RLPItem memory" - } - }, - "id": 6056, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "toBytes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9955, - "src": "11104:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_RLPItem_$9490_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_struct$_RLPItem_$9490_memory_ptr_$", - "typeString": "function (struct RLPReader.RLPItem memory) pure returns (bytes memory)" - } - }, - "id": 6057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11104:16:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 5990, - "id": 6058, - "nodeType": "Return", - "src": "11097:23:6" - } - ] + "src": "15841:41:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } } - ] + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6378, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 11101, + 11102 + ], + "referencedDeclaration": 11101, + "src": "15833:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15833:50:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } }, - "condition": { + "id": 6385, + "nodeType": "ExpressionStatement", + "src": "15833:50:6" + }, + { + "expression": { "argumentTypes": null, - "commonType": { + "id": 6390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6386, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6373, + "src": "15894:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6388, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "blocksMerkleRoot", + "nodeType": "MemberAccess", + "referencedDeclaration": 8120, + "src": "15894:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6389, + "name": "_blocksMerkleRoot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6332, + "src": "15924:17:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "15894:47:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6391, + "nodeType": "ExpressionStatement", + "src": "15894:47:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6392, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6373, + "src": "15951:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6394, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8122, + "src": "15951:20:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6395, + "name": "_timestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6334, + "src": "15974:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15951:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6397, + "nodeType": "ExpressionStatement", + "src": "15951:33:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6398, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6373, + "src": "15994:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6400, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "mtpTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8124, + "src": "15994:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6401, + "name": "_mtpTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6336, + "src": "16020:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15994:39:6", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" + } + }, + "id": 6403, + "nodeType": "ExpressionStatement", + "src": "15994:39:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6404, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6373, + "src": "16043:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6406, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "lastHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 8126, + "src": "16043:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6407, + "name": "_lastHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6338, + "src": "16065:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, - "id": 6020, + "src": "16043:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6409, + "nodeType": "ExpressionStatement", + "src": "16043:31:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6414, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6410, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6373, + "src": "16084:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6412, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "parentId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8128, + "src": "16084:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6413, + "name": "_parentId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6342, + "src": "16106:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16084:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6415, + "nodeType": "ExpressionStatement", + "src": "16084:31:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { "argumentTypes": null, - "id": 6017, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6014, - "src": "10761:1:6", + "expression": { + "argumentTypes": null, + "id": 6416, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6373, + "src": "16125:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6418, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "submitter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8130, + "src": "16125:20:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6018, - "name": "logsList", + "id": 6419, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6006, - "src": "10765:8:6", + "referencedDeclaration": 11098, + "src": "16148:3:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RLPItem_$9490_memory_$dyn_memory_ptr", - "typeString": "struct RLPReader.RLPItem memory[] memory" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - "id": 6019, + "id": 6420, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "length", + "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10765:15:6", + "src": "16148:10:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "10761:19:6", + "src": "16125:33:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 6062, - "initializationExpression": { - "assignments": [ - 6014 - ], - "declarations": [ - { - "constant": false, - "id": 6014, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 6062, - "src": "10746:9:6", - "stateVariable": false, - "storageLocation": "default", + "id": 6422, + "nodeType": "ExpressionStatement", + "src": "16125:33:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6423, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6373, + "src": "16168:10:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10746:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6425, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "height", + "nodeType": "MemberAccess", + "referencedDeclaration": 8134, + "src": "16168:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" } - ], - "id": 6016, - "initialValue": { + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "hexValue": "30", - "id": 6015, + "hexValue": "31", + "id": 6426, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10758:1:6", + "src": "16188:1:6", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, - "value": "0" + "value": "1" }, - "nodeType": "VariableDeclarationStatement", - "src": "10746:13:6" + "src": "16168:21:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } }, - "loopExpression": { - "expression": { + "id": 6428, + "nodeType": "ExpressionStatement", + "src": "16168:21:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6429, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6373, + "src": "16199:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6431, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "lastBits", + "nodeType": "MemberAccess", + "referencedDeclaration": 8132, + "src": "16199:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6432, + "name": "_lastBits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6340, + "src": "16221:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "16199:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 6434, + "nodeType": "ExpressionStatement", + "src": "16199:31:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { "argumentTypes": null, - "id": 6022, + "expression": { + "argumentTypes": null, + "id": 6435, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6373, + "src": "16240:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6437, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "16240:17:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6438, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "16260:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6439, + "isConstant": false, + "isLValue": false, + "isPure": true, "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "10782:3:6", - "subExpression": { + "memberName": "Approved", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16260:15:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "src": "16240:35:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "id": 6441, + "nodeType": "ExpressionStatement", + "src": "16240:35:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 6021, - "name": "i", + "id": 6443, + "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6014, - "src": "10782:1:6", + "referencedDeclaration": 6362, + "src": "16305:14:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6444, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "16321:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16321:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 6442, + "name": "NewSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5038, + "src": "16291:13:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" } }, - "id": 6023, - "nodeType": "ExpressionStatement", - "src": "10782:3:6" + "id": 6446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16291:41:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } }, - "nodeType": "ForStatement", - "src": "10741:404:6" + "id": 6447, + "nodeType": "EmitStatement", + "src": "16286:46:6" }, { "expression": { + "argumentTypes": null, + "id": 6450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6448, + "name": "bestSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5030, + "src": "16343:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6449, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6362, + "src": "16360:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16343:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6451, + "nodeType": "ExpressionStatement", + "src": "16343:31:6" + }, + { + "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "hexValue": "546f706963206e6f7420666f756e64", - "id": 6064, + "id": 6453, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6362, + "src": "16408:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6454, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "16424:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6455, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "string", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "11161:17:6", - "subdenomination": null, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16424:10:6", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cfc512e84ffdf7388e5788298a153cceb897abb7bc369ed2894442c817eecf31", - "typeString": "literal_string \"Topic not found\"" - }, - "value": "Topic not found" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_stringliteral_cfc512e84ffdf7388e5788298a153cceb897abb7bc369ed2894442c817eecf31", - "typeString": "literal_string \"Topic not found\"" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "id": 6063, - "name": "revert", + "id": 6452, + "name": "ApprovedSuperblock", "nodeType": "Identifier", - "overloadedDeclarations": [ - 10189, - 10190 - ], - "referencedDeclaration": 10190, - "src": "11154:6:6", + "overloadedDeclarations": [], + "referencedDeclaration": 5044, + "src": "16389:18:6", "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" } }, - "id": 6065, + "id": 6456, "isConstant": false, "isLValue": false, "isPure": false, @@ -49794,50 +59561,203 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11154:25:6", + "src": "16389:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6066, - "nodeType": "ExpressionStatement", - "src": "11154:25:6" + "id": 6457, + "nodeType": "EmitStatement", + "src": "16384:51:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 6458, + "name": "ERR_SUPERBLOCK_OK", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4517, + "src": "16454:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6459, + "name": "superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6362, + "src": "16473:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6460, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16453:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", + "typeString": "tuple(uint256,bytes32)" + } + }, + "functionReturnParameters": 6348, + "id": 6461, + "nodeType": "Return", + "src": "16446:42:6" } ] }, - "documentation": "Return logs for given ethereum transaction receipt\n@param ethTxReceipt ethereum transaction receipt\n@return logs bloom", - "id": 6068, + "documentation": null, + "id": 6463, "implemented": true, "kind": "function", "modifiers": [], - "name": "getLogValuesForTopic", + "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 5987, + "id": 6343, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5984, - "name": "ethTxReceipt", + "id": 6332, + "name": "_blocksMerkleRoot", + "nodeType": "VariableDeclaration", + "scope": 6463, + "src": "15347:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6331, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15347:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6334, + "name": "_timestamp", + "nodeType": "VariableDeclaration", + "scope": 6463, + "src": "15382:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6333, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15382:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6336, + "name": "_mtpTimestamp", + "nodeType": "VariableDeclaration", + "scope": 6463, + "src": "15407:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6335, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15407:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6338, + "name": "_lastHash", + "nodeType": "VariableDeclaration", + "scope": 6463, + "src": "15435:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6337, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15435:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6340, + "name": "_lastBits", "nodeType": "VariableDeclaration", - "scope": 6068, - "src": "10453:25:6", + "scope": 6463, + "src": "15462:16:6", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, "typeName": { - "id": 5983, - "name": "bytes", + "id": 6339, + "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "10453:5:6", + "src": "15462:6:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "value": null, @@ -49845,11 +59765,11 @@ }, { "constant": false, - "id": 5986, - "name": "expectedTopic", + "id": 6342, + "name": "_parentId", "nodeType": "VariableDeclaration", - "scope": 6068, - "src": "10480:21:6", + "scope": 6463, + "src": "15488:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49857,10 +59777,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5985, + "id": 6341, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10480:7:6", + "src": "15488:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -49870,429 +59790,1072 @@ "visibility": "internal" } ], - "src": "10452:50:6" + "src": "15337:174:6" }, "returnParameters": { - "id": 5990, + "id": 6348, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5989, + "id": 6345, "name": "", "nodeType": "VariableDeclaration", - "scope": 6068, - "src": "10548:12:6", + "scope": 6463, + "src": "15530:4:6", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 5988, - "name": "bytes", + "id": 6344, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "10548:5:6", + "src": "15530:4:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6347, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6463, + "src": "15536:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6346, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15536:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], - "src": "10547:14:6" + "src": "15529:15:6" }, - "scope": 7493, - "src": "10423:763:6", - "stateMutability": "pure", + "scope": 7851, + "src": "15318:1177:6", + "stateMutability": "nonpayable", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": { - "id": 6080, + "id": 6644, "nodeType": "Block", - "src": "11417:141:6", + "src": "17399:1524:6", "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6484, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "17413:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "17413:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 6486, + "name": "trustedClaimManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5086, + "src": "17427:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17413:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6498, + "nodeType": "IfStatement", + "src": "17409:177:6", + "trueBody": { + "id": 6497, + "nodeType": "Block", + "src": "17448:138:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6489, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17483:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "id": 6490, + "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4601, + "src": "17486:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6488, + "name": "ErrorSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "17467:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 6491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17467:51:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6492, + "nodeType": "EmitStatement", + "src": "17462:56:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 6493, + "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4601, + "src": "17540:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 6494, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17573:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 6495, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "17539:36:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", + "typeString": "tuple(uint256,int_const 0)" + } + }, + "functionReturnParameters": 6483, + "id": 6496, + "nodeType": "Return", + "src": "17532:43:6" + } + ] + } + }, { "assignments": [ - 6076 + 6500 ], "declarations": [ { "constant": false, - "id": 6076, - "name": "index", + "id": 6500, + "name": "parent", "nodeType": "VariableDeclaration", - "scope": 6080, - "src": "11427:11:6", + "scope": 6644, + "src": "17596:29:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { - "id": 6075, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "11427:5:6", + "contractScope": null, + "id": 6499, + "name": "SuperblockInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8137, + "src": "17596:14:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, "value": null, "visibility": "internal" } ], - "id": 6078, + "id": 6504, "initialValue": { "argumentTypes": null, - "hexValue": "33", - "id": 6077, + "baseExpression": { + "argumentTypes": null, + "id": 6501, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "17628:11:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 6503, + "indexExpression": { + "argumentTypes": null, + "id": 6502, + "name": "_parentId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6475, + "src": "17640:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", + "isLValue": true, + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "11441:1:6", - "subdenomination": null, + "nodeType": "IndexAccess", + "src": "17628:22:6", "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } }, "nodeType": "VariableDeclarationStatement", - "src": "11427:15:6" + "src": "17596:54:6" }, { - "externalReferences": [ - { - "value": { - "declaration": 6073, - "isOffset": false, - "isSlot": false, - "src": "11496:5:6", - "valueSize": 1 - } + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" }, - { - "index": { - "declaration": 6076, - "isOffset": false, - "isSlot": false, - "src": "11534:5:6", - "valueSize": 1 + "id": 6515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + }, + "id": 6509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6505, + "name": "parent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6500, + "src": "17664:6:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6506, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "17664:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6507, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "17681:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "SemiApproved", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "17681:19:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "src": "17664:36:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - { - "logValues": { - "declaration": 6070, - "isOffset": false, - "isSlot": false, - "src": "11515:9:6", - "valueSize": 1 + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + }, + "id": 6514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6510, + "name": "parent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6500, + "src": "17704:6:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6511, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "17704:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6512, + "name": "Status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8118, + "src": "17721:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" + } + }, + "id": 6513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Approved", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "17721:15:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + }, + "src": "17704:32:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } - } - ], - "id": 6079, - "nodeType": "InlineAssembly", - "operations": "{\n value := mload(add(logValues, mul(32, index)))\n}", - "src": "11473:79:6" - } - ] - }, - "documentation": "Get bridgeTransactionId from logs bloom\n@param logValues log values\n@return bridgeTransactionId", - "id": 6081, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBridgeTransactionId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6071, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6070, - "name": "logValues", - "nodeType": "VariableDeclaration", - "scope": 6081, - "src": "11357:22:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6069, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11357:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11356:24:6" - }, - "returnParameters": { - "id": 6074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6073, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6081, - "src": "11402:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6072, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11402:7:6", + }, + "src": "17664:72:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "value": null, - "visibility": "internal" - } - ], - "src": "11401:15:6" - }, - "scope": 7493, - "src": "11325:233:6", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6213, - "nodeType": "Block", - "src": "12479:950:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ + "falseBody": null, + "id": 6536, + "nodeType": "IfStatement", + "src": "17660:256:6", + "trueBody": { + "id": 6535, + "nodeType": "Block", + "src": "17738:178:6", + "statements": [ { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 6103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "eventCall": { "argumentTypes": null, - "id": 6101, - "name": "bestSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "12497:14:6", + "arguments": [ + { + "argumentTypes": null, + "id": 6517, + "name": "_parentId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6475, + "src": "17773:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6518, + "name": "ERR_SUPERBLOCK_BAD_PARENT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4544, + "src": "17784:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6520, + "name": "parent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6500, + "src": "17817:6:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6521, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "17817:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + ], + "id": 6519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17812:4:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint" + }, + "id": 6522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17812:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17784:47:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6516, + "name": "ErrorSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "17757:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 6524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17757:75:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + "id": 6525, + "nodeType": "EmitStatement", + "src": "17752:80:6" + }, + { + "expression": { "argumentTypes": null, - "hexValue": "30", - "id": 6102, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6526, + "name": "ERR_SUPERBLOCK_BAD_PARENT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4544, + "src": "17854:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6528, + "name": "parent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6500, + "src": "17887:6:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6529, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 8136, + "src": "17887:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" + } + ], + "id": 6527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17882:4:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint" + }, + "id": 6530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17882:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17854:47:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 6532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17903:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 6533, "isConstant": false, + "isInlineArray": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "12515:1:6", - "subdenomination": null, + "nodeType": "TupleExpression", + "src": "17853:52:6", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", + "typeString": "tuple(uint256,int_const 0)" + } }, - "src": "12497:19:6", + "functionReturnParameters": 6483, + "id": 6534, + "nodeType": "Return", + "src": "17846:59:6" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6537, + "name": "parent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6500, + "src": "17930:6:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } + }, + "id": 6538, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "height", + "nodeType": "MemberAccess", + "referencedDeclaration": 8134, + "src": "17930:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6539, + "name": "getChainHeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7822, + "src": "17946:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" } - ], - "id": 6100, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "12489:7:6", + }, + "id": 6540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17946:16:6", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12489:28:6", + "src": "17930:32:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 6105, - "nodeType": "ExpressionStatement", - "src": "12489:28:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ + "falseBody": null, + "id": 6552, + "nodeType": "IfStatement", + "src": "17926:182:6", + "trueBody": { + "id": 6551, + "nodeType": "Block", + "src": "17964:144:6", + "statements": [ { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 6109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "eventCall": { "argumentTypes": null, - "id": 6107, - "name": "_parentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6093, - "src": "12535:9:6", + "arguments": [ + { + "argumentTypes": null, + "id": 6543, + "name": "_parentId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6475, + "src": "17999:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6544, + "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4637, + "src": "18010:30:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6542, + "name": "ErrorSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "17983:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 6545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17983:58:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + "id": 6546, + "nodeType": "EmitStatement", + "src": "17978:63:6" + }, + { + "expression": { "argumentTypes": null, - "hexValue": "30", - "id": 6108, + "components": [ + { + "argumentTypes": null, + "id": 6547, + "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4637, + "src": "18063:30:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 6548, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18095:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 6549, "isConstant": false, + "isInlineArray": false, "isLValue": false, "isPure": true, - "kind": "number", "lValueRequested": false, - "nodeType": "Literal", - "src": "12548:1:6", - "subdenomination": null, + "nodeType": "TupleExpression", + "src": "18062:35:6", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", + "typeString": "tuple(uint256,int_const 0)" + } }, - "src": "12535:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6106, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "12527:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12527:23:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6111, - "nodeType": "ExpressionStatement", - "src": "12527:23:6" + "functionReturnParameters": 6483, + "id": 6550, + "nodeType": "Return", + "src": "18055:42:6" + } + ] + } }, { "assignments": [ - 6113 + 6554 ], "declarations": [ { "constant": false, - "id": 6113, + "id": 6554, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 6213, - "src": "12561:22:6", + "scope": 6644, + "src": "18118:22:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -50300,10 +60863,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6112, + "id": 6553, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12561:7:6", + "src": "18118:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -50313,18 +60876,18 @@ "visibility": "internal" } ], - "id": 6122, + "id": 6563, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 6115, + "id": 6556, "name": "_blocksMerkleRoot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "12605:17:6", + "referencedDeclaration": 6465, + "src": "18162:17:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -50332,12 +60895,12 @@ }, { "argumentTypes": null, - "id": 6116, + "id": 6557, "name": "_timestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6085, - "src": "12624:10:6", + "referencedDeclaration": 6467, + "src": "18181:10:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -50345,12 +60908,12 @@ }, { "argumentTypes": null, - "id": 6117, + "id": 6558, "name": "_mtpTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6087, - "src": "12636:13:6", + "referencedDeclaration": 6469, + "src": "18193:13:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -50358,12 +60921,12 @@ }, { "argumentTypes": null, - "id": 6118, + "id": 6559, "name": "_lastHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6089, - "src": "12651:9:6", + "referencedDeclaration": 6471, + "src": "18208:9:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -50371,12 +60934,12 @@ }, { "argumentTypes": null, - "id": 6119, + "id": 6560, "name": "_lastBits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6091, - "src": "12662:9:6", + "referencedDeclaration": 6473, + "src": "18219:9:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -50384,12 +60947,12 @@ }, { "argumentTypes": null, - "id": 6120, + "id": 6561, "name": "_parentId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6093, - "src": "12673:9:6", + "referencedDeclaration": 6475, + "src": "18230:9:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -50423,18 +60986,18 @@ "typeString": "bytes32" } ], - "id": 6114, + "id": 6555, "name": "calcSuperblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7314, - "src": "12586:18:6", + "referencedDeclaration": 7672, + "src": "18143:18:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32,uint256,uint256,bytes32,uint32,bytes32) pure returns (bytes32)" } }, - "id": 6121, + "id": 6562, "isConstant": false, "isLValue": false, "isPure": false, @@ -50442,42 +61005,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12586:97:6", + "src": "18143:97:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "12561:122:6" + "src": "18118:122:6" }, { "assignments": [ - 6124 + 6565 ], "declarations": [ { "constant": false, - "id": 6124, + "id": 6565, "name": "superblock", "nodeType": "VariableDeclaration", - "scope": 6213, - "src": "12693:33:6", + "scope": 6644, + "src": "18250:33:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { "contractScope": null, - "id": 6123, + "id": 6564, "name": "SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "12693:14:6", + "referencedDeclaration": 8137, + "src": "18250:14:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -50485,31 +61048,31 @@ "visibility": "internal" } ], - "id": 6128, + "id": 6569, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6125, + "id": 6566, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "12729:11:6", + "referencedDeclaration": 5028, + "src": "18286:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 6127, + "id": 6568, "indexExpression": { "argumentTypes": null, - "id": 6126, + "id": 6567, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6113, - "src": "12741:14:6", + "referencedDeclaration": 6554, + "src": "18298:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -50520,450 +61083,596 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12729:27:6", + "src": "18286:27:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "12693:63:6" + "src": "18250:63:6" }, { - "expression": { + "condition": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6130, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "12775:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "12775:17:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6132, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "12796:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" - } - }, - "id": 6133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Uninitialized", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12796:20:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "src": "12775:41:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6129, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10187, - 10188 - ], - "referencedDeclaration": 10187, - "src": "12767:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } + "commonType": { + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12767:50:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6136, - "nodeType": "ExpressionStatement", - "src": "12767:50:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6141, + "id": 6574, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6137, + "id": 6570, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "12828:10:6", + "referencedDeclaration": 6565, + "src": "18327:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6139, + "id": 6571, "isConstant": false, "isLValue": true, "isPure": false, - "lValueRequested": true, - "memberName": "blocksMerkleRoot", + "lValueRequested": false, + "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7619, - "src": "12828:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6140, - "name": "_blocksMerkleRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "12858:17:6", + "referencedDeclaration": 8136, + "src": "18327:17:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "12828:47:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 6142, - "nodeType": "ExpressionStatement", - "src": "12828:47:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6143, - "name": "superblock", + "id": 6572, + "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "12885:10:6", + "referencedDeclaration": 8118, + "src": "18348:6:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6145, + "id": 6573, "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "timestamp", + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Uninitialized", "nodeType": "MemberAccess", - "referencedDeclaration": 7621, - "src": "12885:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6146, - "name": "_timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6085, - "src": "12908:10:6", + "referencedDeclaration": null, + "src": "18348:20:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "12885:33:6", + "src": "18327:41:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 6148, - "nodeType": "ExpressionStatement", - "src": "12885:33:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6149, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "12928:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } + "falseBody": null, + "id": 6621, + "nodeType": "IfStatement", + "src": "18323:405:6", + "trueBody": { + "id": 6620, + "nodeType": "Block", + "src": "18370:358:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6575, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "18384:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6577, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "blocksMerkleRoot", + "nodeType": "MemberAccess", + "referencedDeclaration": 8120, + "src": "18384:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6578, + "name": "_blocksMerkleRoot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6465, + "src": "18414:17:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "18384:47:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6580, + "nodeType": "ExpressionStatement", + "src": "18384:47:6" }, - "id": 6151, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "mtpTimestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7623, - "src": "12928:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6152, - "name": "_mtpTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6087, - "src": "12954:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12928:39:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6154, - "nodeType": "ExpressionStatement", - "src": "12928:39:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6155, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "12977:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } + { + "expression": { + "argumentTypes": null, + "id": 6585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6581, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "18445:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6583, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8122, + "src": "18445:20:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6584, + "name": "_timestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6467, + "src": "18468:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18445:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6586, + "nodeType": "ExpressionStatement", + "src": "18445:33:6" }, - "id": 6157, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 7625, - "src": "12977:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6158, - "name": "_lastHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6089, - "src": "12999:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "12977:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 6160, - "nodeType": "ExpressionStatement", - "src": "12977:31:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6161, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "13018:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } + { + "expression": { + "argumentTypes": null, + "id": 6591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6587, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "18492:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6589, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "mtpTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 8124, + "src": "18492:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6590, + "name": "_mtpTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6469, + "src": "18518:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18492:39:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6592, + "nodeType": "ExpressionStatement", + "src": "18492:39:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6593, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "18545:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6595, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "lastHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 8126, + "src": "18545:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6596, + "name": "_lastHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6471, + "src": "18567:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "18545:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6598, + "nodeType": "ExpressionStatement", + "src": "18545:31:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6599, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "18590:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6601, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "parentId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8128, + "src": "18590:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6602, + "name": "_parentId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6475, + "src": "18612:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "18590:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6604, + "nodeType": "ExpressionStatement", + "src": "18590:31:6" }, - "id": 6163, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "parentId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7627, - "src": "13018:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6164, - "name": "_parentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6093, - "src": "13040:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + { + "expression": { + "argumentTypes": null, + "id": 6612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6605, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "18635:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "height", + "nodeType": "MemberAccess", + "referencedDeclaration": 8134, + "src": "18635:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 6611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6608, + "name": "parent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6500, + "src": "18655:6:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6609, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "height", + "nodeType": "MemberAccess", + "referencedDeclaration": 8134, + "src": "18655:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 6610, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18671:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "18655:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "18635:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 6613, + "nodeType": "ExpressionStatement", + "src": "18635:37:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 6618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6614, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6565, + "src": "18686:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6616, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "lastBits", + "nodeType": "MemberAccess", + "referencedDeclaration": 8132, + "src": "18686:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6617, + "name": "_lastBits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6473, + "src": "18708:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "18686:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 6619, + "nodeType": "ExpressionStatement", + "src": "18686:31:6" } - }, - "src": "13018:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 6166, - "nodeType": "ExpressionStatement", - "src": "13018:31:6" + ] + } }, { "expression": { "argumentTypes": null, - "id": 6172, + "id": 6627, "isConstant": false, "isLValue": false, "isPure": false, @@ -50972,29 +61681,29 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6167, + "id": 6622, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "13059:10:6", + "referencedDeclaration": 6565, + "src": "18737:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6169, + "id": 6624, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberName": "submitter", + "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7629, - "src": "13059:20:6", + "referencedDeclaration": 8136, + "src": "18737:17:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, "nodeType": "Assignment", @@ -51003,112 +61712,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6170, - "name": "msg", + "id": 6625, + "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "13082:3:6", + "referencedDeclaration": 8118, + "src": "18757:6:6", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", + "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6171, + "id": 6626, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "memberName": "sender", + "memberName": "New", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13082:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13059:33:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6173, - "nodeType": "ExpressionStatement", - "src": "13059:33:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6174, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "13102:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "height", - "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "13102:17:6", + "src": "18757:10:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 6177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13122:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13102:21:6", + "src": "18737:30:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_enum$_Status_$8118", + "typeString": "enum SyscoinSuperblocksI.Status" } }, - "id": 6179, + "id": 6628, "nodeType": "ExpressionStatement", - "src": "13102:21:6" + "src": "18737:30:6" }, { "expression": { "argumentTypes": null, - "id": 6184, + "id": 6633, "isConstant": false, "isLValue": false, "isPure": false, @@ -51117,133 +61759,55 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6180, + "id": 6629, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "13133:10:6", + "referencedDeclaration": 6565, + "src": "18777:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6182, + "id": 6631, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberName": "lastBits", + "memberName": "submitter", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, - "src": "13133:19:6", + "referencedDeclaration": 8130, + "src": "18777:20:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6183, - "name": "_lastBits", + "id": 6632, + "name": "submitter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6091, - "src": "13155:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "13133:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 6185, - "nodeType": "ExpressionStatement", - "src": "13133:31:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6186, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6124, - "src": "13174:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "13174:17:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6189, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "13194:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" - } - }, - "id": 6190, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Approved", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13194:15:6", + "referencedDeclaration": 6477, + "src": "18800:9:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "13174:35:6", + "src": "18777:32:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 6192, + "id": 6634, "nodeType": "ExpressionStatement", - "src": "13174:35:6" + "src": "18777:32:6" }, { "eventCall": { @@ -51251,12 +61815,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6194, + "id": 6636, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6113, - "src": "13239:14:6", + "referencedDeclaration": 6554, + "src": "18838:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -51264,164 +61828,15 @@ }, { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6195, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "13255:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13255:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 6193, - "name": "NewSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5029, - "src": "13225:13:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 6197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13225:41:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6198, - "nodeType": "EmitStatement", - "src": "13220:46:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6199, - "name": "bestSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "13277:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6200, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6113, - "src": "13294:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13277:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 6202, - "nodeType": "ExpressionStatement", - "src": "13277:31:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6204, - "name": "superblockHash", + "id": 6637, + "name": "submitter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6113, - "src": "13342:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6205, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "13358:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13358:10:6", + "referencedDeclaration": 6477, + "src": "18854:9:6", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_address", + "typeString": "address" } } ], @@ -51432,22 +61847,22 @@ "typeString": "bytes32" }, { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 6203, - "name": "ApprovedSuperblock", + "id": 6635, + "name": "NewSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "13323:18:6", + "referencedDeclaration": 5038, + "src": "18824:13:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 6207, + "id": 6638, "isConstant": false, "isLValue": false, "isPure": false, @@ -51455,15 +61870,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13323:46:6", + "src": "18824:40:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6208, + "id": 6639, "nodeType": "EmitStatement", - "src": "13318:51:6" + "src": "18819:45:6" }, { "expression": { @@ -51471,12 +61886,12 @@ "components": [ { "argumentTypes": null, - "id": 6209, + "id": 6640, "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "13388:17:6", + "referencedDeclaration": 4517, + "src": "18882:17:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -51484,56 +61899,56 @@ }, { "argumentTypes": null, - "id": 6210, + "id": 6641, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6113, - "src": "13407:14:6", + "referencedDeclaration": 6554, + "src": "18901:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 6211, + "id": 6642, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13387:35:6", + "src": "18881:35:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", "typeString": "tuple(uint256,bytes32)" } }, - "functionReturnParameters": 6099, - "id": 6212, + "functionReturnParameters": 6483, + "id": 6643, "nodeType": "Return", - "src": "13380:42:6" + "src": "18874:42:6" } ] }, "documentation": null, - "id": 6214, + "id": 6645, "implemented": true, "kind": "function", "modifiers": [], - "name": "initialize", + "name": "propose", "nodeType": "FunctionDefinition", "parameters": { - "id": 6094, + "id": 6478, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6083, + "id": 6465, "name": "_blocksMerkleRoot", "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12281:25:6", + "scope": 6645, + "src": "17174:25:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51541,10 +61956,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6082, + "id": 6464, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12281:7:6", + "src": "17174:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -51555,11 +61970,11 @@ }, { "constant": false, - "id": 6085, + "id": 6467, "name": "_timestamp", "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12316:15:6", + "scope": 6645, + "src": "17209:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51567,10 +61982,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6084, + "id": 6466, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "12316:4:6", + "src": "17209:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -51581,11 +61996,11 @@ }, { "constant": false, - "id": 6087, + "id": 6469, "name": "_mtpTimestamp", "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12341:18:6", + "scope": 6645, + "src": "17234:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51593,10 +62008,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6086, + "id": 6468, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "12341:4:6", + "src": "17234:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -51607,11 +62022,11 @@ }, { "constant": false, - "id": 6089, + "id": 6471, "name": "_lastHash", "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12369:17:6", + "scope": 6645, + "src": "17262:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51619,10 +62034,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6088, + "id": 6470, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12369:7:6", + "src": "17262:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -51633,11 +62048,11 @@ }, { "constant": false, - "id": 6091, + "id": 6473, "name": "_lastBits", "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12396:16:6", + "scope": 6645, + "src": "17289:16:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51645,10 +62060,10 @@ "typeString": "uint32" }, "typeName": { - "id": 6090, + "id": 6472, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12396:6:6", + "src": "17289:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -51659,11 +62074,11 @@ }, { "constant": false, - "id": 6093, + "id": 6475, "name": "_parentId", "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12422:17:6", + "scope": 6645, + "src": "17315:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51671,10 +62086,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6092, + "id": 6474, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12422:7:6", + "src": "17315:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -51682,21 +62097,48 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 6477, + "name": "submitter", + "nodeType": "VariableDeclaration", + "scope": 6645, + "src": "17342:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17342:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "12271:174:6" + "src": "17164:201:6" }, "returnParameters": { - "id": 6099, + "id": 6483, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6096, + "id": 6480, "name": "", "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12464:4:6", + "scope": 6645, + "src": "17384:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51704,10 +62146,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6095, + "id": 6479, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "12464:4:6", + "src": "17384:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -51718,11 +62160,11 @@ }, { "constant": false, - "id": 6098, + "id": 6482, "name": "", "nodeType": "VariableDeclaration", - "scope": 6214, - "src": "12470:7:6", + "scope": 6645, + "src": "17390:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51730,10 +62172,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6097, + "id": 6481, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12470:7:6", + "src": "17390:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -51743,19 +62185,19 @@ "visibility": "internal" } ], - "src": "12463:15:6" + "src": "17383:15:6" }, - "scope": 7493, - "src": "12252:1177:6", + "scope": 7851, + "src": "17148:1775:6", "stateMutability": "nonpayable", - "superFunction": null, + "superFunction": 8158, "visibility": "external" }, { "body": { - "id": 6395, + "id": 6746, "nodeType": "Block", - "src": "14333:1524:6", + "src": "19415:1141:6", "statements": [ { "condition": { @@ -51764,7 +62206,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6238, + "id": 6657, "isConstant": false, "isLValue": false, "isPure": false, @@ -51773,18 +62215,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6235, + "id": 6654, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "14347:3:6", + "referencedDeclaration": 11098, + "src": "19429:3:6", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 6236, + "id": 6655, "isConstant": false, "isLValue": false, "isPure": false, @@ -51792,7 +62234,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14347:10:6", + "src": "19429:10:6", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -51802,31 +62244,31 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 6237, + "id": 6656, "name": "trustedClaimManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "14361:19:6", + "referencedDeclaration": 5086, + "src": "19443:19:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14347:33:6", + "src": "19429:33:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6249, + "id": 6666, "nodeType": "IfStatement", - "src": "14343:177:6", + "src": "19425:186:6", "trueBody": { - "id": 6248, + "id": 6665, "nodeType": "Block", - "src": "14382:138:6", + "src": "19464:147:6", "statements": [ { "eventCall": { @@ -51834,30 +62276,25 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "30", - "id": 6240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14417:1:6", - "subdenomination": null, + "id": 6659, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6647, + "src": "19499:15:6", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, { "argumentTypes": null, - "id": 6241, + "id": 6660, "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "14420:31:6", + "referencedDeclaration": 4601, + "src": "19516:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -51867,26 +62304,26 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], - "id": 6239, + "id": 6658, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "14401:15:6", + "referencedDeclaration": 5068, + "src": "19483:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6242, + "id": 6661, "isConstant": false, "isLValue": false, "isPure": false, @@ -51894,100 +62331,65 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14401:51:6", + "src": "19483:65:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6243, + "id": 6662, "nodeType": "EmitStatement", - "src": "14396:56:6" + "src": "19478:70:6" }, { "expression": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 6244, - "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "14474:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14507:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 6246, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14473:36:6", + "id": 6663, + "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4601, + "src": "19569:31:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", - "typeString": "tuple(uint256,int_const 0)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "functionReturnParameters": 6234, - "id": 6247, + "functionReturnParameters": 6653, + "id": 6664, "nodeType": "Return", - "src": "14466:43:6" + "src": "19562:38:6" } ] } }, { "assignments": [ - 6251 + 6668 ], "declarations": [ { "constant": false, - "id": 6251, - "name": "parent", + "id": 6668, + "name": "superblock", "nodeType": "VariableDeclaration", - "scope": 6395, - "src": "14530:29:6", + "scope": 6746, + "src": "19620:33:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { "contractScope": null, - "id": 6250, + "id": 6667, "name": "SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "14530:14:6", + "referencedDeclaration": 8137, + "src": "19620:14:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -51995,31 +62397,31 @@ "visibility": "internal" } ], - "id": 6255, + "id": 6672, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6252, + "id": 6669, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "14562:11:6", + "referencedDeclaration": 5028, + "src": "19656:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 6254, + "id": 6671, "indexExpression": { "argumentTypes": null, - "id": 6253, - "name": "_parentId", + "id": 6670, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6226, - "src": "14574:9:6", + "referencedDeclaration": 6647, + "src": "19668:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -52030,14 +62432,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14562:22:6", + "src": "19656:28:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14530:54:6" + "src": "19620:64:6" }, { "condition": { @@ -52046,7 +62448,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6266, + "id": 6683, "isConstant": false, "isLValue": false, "isPure": false, @@ -52054,10 +62456,10 @@ "leftExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6260, + "id": 6677, "isConstant": false, "isLValue": false, "isPure": false, @@ -52066,28 +62468,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6256, - "name": "parent", + "id": 6673, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "14598:6:6", + "referencedDeclaration": 6668, + "src": "19698:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6257, + "id": 6674, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "14598:13:6", + "referencedDeclaration": 8136, + "src": "19698:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -52097,32 +62499,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6258, + "id": 6675, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "14615:6:6", + "referencedDeclaration": 8118, + "src": "19719:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6259, + "id": 6676, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "SemiApproved", + "memberName": "New", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14615:19:6", + "src": "19719:10:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "14598:36:6", + "src": "19698:31:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -52133,10 +62535,10 @@ "rightExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6265, + "id": 6682, "isConstant": false, "isLValue": false, "isPure": false, @@ -52145,28 +62547,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6261, - "name": "parent", + "id": 6678, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "14638:6:6", + "referencedDeclaration": 6668, + "src": "19733:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6262, + "id": 6679, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "14638:13:6", + "referencedDeclaration": 8136, + "src": "19733:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -52176,51 +62578,51 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6263, + "id": 6680, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "14655:6:6", + "referencedDeclaration": 8118, + "src": "19754:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6264, + "id": 6681, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "Approved", + "memberName": "SemiApproved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14655:15:6", + "src": "19754:19:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "14638:32:6", + "src": "19733:40:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14598:72:6", + "src": "19698:75:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6287, + "id": 6692, "nodeType": "IfStatement", - "src": "14594:256:6", + "src": "19694:216:6", "trueBody": { - "id": 6286, + "id": 6691, "nodeType": "Block", - "src": "14672:178:6", + "src": "19775:135:6", "statements": [ { "eventCall": { @@ -52228,12 +62630,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6268, - "name": "_parentId", + "id": 6685, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6226, - "src": "14707:9:6", + "referencedDeclaration": 6647, + "src": "19810:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -52241,98 +62643,12 @@ }, { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6269, - "name": "ERR_SUPERBLOCK_BAD_PARENT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "14718:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6271, - "name": "parent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "14751:6:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6272, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "14751:13:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - ], - "id": 6270, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14746:4:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint" - }, - "id": 6273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14746:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14718:47:6", + "id": 6686, + "name": "ERR_SUPERBLOCK_BAD_STATUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4523, + "src": "19827:25:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -52350,18 +62666,18 @@ "typeString": "uint256" } ], - "id": 6267, + "id": 6684, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "14691:15:6", + "referencedDeclaration": 5068, + "src": "19794:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6275, + "id": 6687, "isConstant": false, "isLValue": false, "isPure": false, @@ -52369,155 +62685,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14691:75:6", + "src": "19794:59:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6276, + "id": 6688, "nodeType": "EmitStatement", - "src": "14686:80:6" + "src": "19789:64:6" }, { "expression": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6277, - "name": "ERR_SUPERBLOCK_BAD_PARENT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "14788:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6279, - "name": "parent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "14821:6:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "14821:13:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - ], - "id": 6278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14816:4:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint" - }, - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14816:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14788:47:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 6283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14837:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 6284, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14787:52:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", - "typeString": "tuple(uint256,int_const 0)" + "id": 6689, + "name": "ERR_SUPERBLOCK_BAD_STATUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4523, + "src": "19874:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "functionReturnParameters": 6234, - "id": 6285, + "functionReturnParameters": 6653, + "id": 6690, "nodeType": "Return", - "src": "14780:59:6" + "src": "19867:32:6" } ] } @@ -52529,7 +62724,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6292, + "id": 6697, "isConstant": false, "isLValue": false, "isPure": false, @@ -52538,50 +62733,50 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6288, - "name": "parent", + "id": 6693, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "14864:6:6", + "referencedDeclaration": 6668, + "src": "19924:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6289, + "id": 6694, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "height", "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "14864:13:6", + "referencedDeclaration": 8134, + "src": "19924:17:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "BinaryOperation", - "operator": "<", + "operator": "<=", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 6290, + "id": 6695, "name": "getChainHeight", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7464, - "src": "14880:14:6", + "referencedDeclaration": 7822, + "src": "19945:14:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 6291, + "id": 6696, "isConstant": false, "isLValue": false, "isPure": false, @@ -52589,26 +62784,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14880:16:6", + "src": "19945:16:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14864:32:6", + "src": "19924:37:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6303, + "id": 6706, "nodeType": "IfStatement", - "src": "14860:182:6", + "src": "19920:188:6", "trueBody": { - "id": 6302, + "id": 6705, "nodeType": "Block", - "src": "14898:144:6", + "src": "19963:145:6", "statements": [ { "eventCall": { @@ -52616,12 +62811,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6294, - "name": "_parentId", + "id": 6699, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6226, - "src": "14933:9:6", + "referencedDeclaration": 6647, + "src": "19998:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -52629,12 +62824,12 @@ }, { "argumentTypes": null, - "id": 6295, + "id": 6700, "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4628, - "src": "14944:30:6", + "referencedDeclaration": 4637, + "src": "20015:30:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -52652,18 +62847,18 @@ "typeString": "uint256" } ], - "id": 6293, + "id": 6698, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "14917:15:6", + "referencedDeclaration": 5068, + "src": "19982:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6296, + "id": 6701, "isConstant": false, "isLValue": false, "isPure": false, @@ -52671,270 +62866,65 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14917:58:6", + "src": "19982:64:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6297, + "id": 6702, "nodeType": "EmitStatement", - "src": "14912:63:6" + "src": "19977:69:6" }, { "expression": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 6298, - "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4628, - "src": "14997:30:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 6299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15029:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 6300, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14996:35:6", + "id": 6703, + "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4637, + "src": "20067:30:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$", - "typeString": "tuple(uint256,int_const 0)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "functionReturnParameters": 6234, - "id": 6301, + "functionReturnParameters": 6653, + "id": 6704, "nodeType": "Return", - "src": "14989:42:6" + "src": "20060:37:6" } ] } }, { "assignments": [ - 6305 - ], - "declarations": [ - { - "constant": false, - "id": 6305, - "name": "superblockHash", - "nodeType": "VariableDeclaration", - "scope": 6395, - "src": "15052:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6304, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15052:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6314, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6307, - "name": "_blocksMerkleRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6216, - "src": "15096:17:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6308, - "name": "_timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "15115:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6309, - "name": "_mtpTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6220, - "src": "15127:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6310, - "name": "_lastHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6222, - "src": "15142:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6311, - "name": "_lastBits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6224, - "src": "15153:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "argumentTypes": null, - "id": 6312, - "name": "_parentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6226, - "src": "15164:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 6306, - "name": "calcSuperblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7314, - "src": "15077:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32,uint256,uint256,bytes32,uint32,bytes32) pure returns (bytes32)" - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15077:97:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15052:122:6" - }, - { - "assignments": [ - 6316 + 6708 ], "declarations": [ { "constant": false, - "id": 6316, - "name": "superblock", + "id": 6708, + "name": "parent", "nodeType": "VariableDeclaration", - "scope": 6395, - "src": "15184:33:6", + "scope": 6746, + "src": "20118:29:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { "contractScope": null, - "id": 6315, + "id": 6707, "name": "SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "15184:14:6", + "referencedDeclaration": 8137, + "src": "20118:14:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -52942,31 +62932,47 @@ "visibility": "internal" } ], - "id": 6320, + "id": 6713, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6317, + "id": 6709, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "15220:11:6", + "referencedDeclaration": 5028, + "src": "20150:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 6319, + "id": 6712, "indexExpression": { "argumentTypes": null, - "id": 6318, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6305, - "src": "15232:14:6", + "expression": { + "argumentTypes": null, + "id": 6710, + "name": "superblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6668, + "src": "20162:10:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + } + }, + "id": 6711, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "parentId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8128, + "src": "20162:19:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -52977,23 +62983,23 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15220:27:6", + "src": "20150:32:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "15184:63:6" + "src": "20118:64:6" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6325, + "id": 6718, "isConstant": false, "isLValue": false, "isPure": false, @@ -53002,563 +63008,166 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6321, - "name": "superblock", + "id": 6714, + "name": "parent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15261:10:6", + "referencedDeclaration": 6708, + "src": "20196:6:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6322, + "id": 6715, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "15261:17:6", + "referencedDeclaration": 8136, + "src": "20196:13:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, "nodeType": "BinaryOperation", - "operator": "==", + "operator": "!=", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6323, + "id": 6716, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "15282:6:6", + "referencedDeclaration": 8118, + "src": "20213:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6324, + "id": 6717, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "Uninitialized", + "memberName": "Approved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15282:20:6", + "src": "20213:15:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "15261:41:6", + "src": "20196:32:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" - } - }, - "falseBody": null, - "id": 6372, - "nodeType": "IfStatement", - "src": "15257:405:6", - "trueBody": { - "id": 6371, - "nodeType": "Block", - "src": "15304:358:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6326, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15318:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6328, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "blocksMerkleRoot", - "nodeType": "MemberAccess", - "referencedDeclaration": 7619, - "src": "15318:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6329, - "name": "_blocksMerkleRoot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6216, - "src": "15348:17:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "15318:47:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 6331, - "nodeType": "ExpressionStatement", - "src": "15318:47:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6332, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15379:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6334, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7621, - "src": "15379:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6335, - "name": "_timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6218, - "src": "15402:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15379:33:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6337, - "nodeType": "ExpressionStatement", - "src": "15379:33:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6338, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15426:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6340, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "mtpTimestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7623, - "src": "15426:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6341, - "name": "_mtpTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6220, - "src": "15452:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15426:39:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6343, - "nodeType": "ExpressionStatement", - "src": "15426:39:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6344, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15479:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6346, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 7625, - "src": "15479:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6347, - "name": "_lastHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6222, - "src": "15501:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "15479:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 6349, - "nodeType": "ExpressionStatement", - "src": "15479:31:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6350, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15524:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6352, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "parentId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7627, - "src": "15524:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6353, - "name": "_parentId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6226, - "src": "15546:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "15524:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 6355, - "nodeType": "ExpressionStatement", - "src": "15524:31:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6356, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15569:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6358, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "height", - "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "15569:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 6362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + } + }, + "falseBody": null, + "id": 6727, + "nodeType": "IfStatement", + "src": "20192:173:6", + "trueBody": { + "id": 6726, + "nodeType": "Block", + "src": "20230:135:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6359, - "name": "parent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "15589:6:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6360, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "height", - "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "15589:13:6", + "id": 6720, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6647, + "src": "20265:15:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { + { "argumentTypes": null, - "hexValue": "31", - "id": 6361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15605:1:6", - "subdenomination": null, + "id": 6721, + "name": "ERR_SUPERBLOCK_BAD_PARENT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4544, + "src": "20282:25:6", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, - "value": "1" - }, - "src": "15589:17:6", + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6719, + "name": "ErrorSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "20249:15:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" } }, - "src": "15569:37:6", + "id": 6722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20249:59:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 6364, - "nodeType": "ExpressionStatement", - "src": "15569:37:6" + "id": 6723, + "nodeType": "EmitStatement", + "src": "20244:64:6" }, { "expression": { "argumentTypes": null, - "id": 6369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6365, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15620:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6367, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastBits", - "nodeType": "MemberAccess", - "referencedDeclaration": 7631, - "src": "15620:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6368, - "name": "_lastBits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6224, - "src": "15642:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "15620:31:6", + "id": 6724, + "name": "ERR_SUPERBLOCK_BAD_PARENT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4544, + "src": "20329:25:6", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 6370, - "nodeType": "ExpressionStatement", - "src": "15620:31:6" + "functionReturnParameters": 6653, + "id": 6725, + "nodeType": "Return", + "src": "20322:32:6" } ] } @@ -53566,7 +63175,7 @@ { "expression": { "argumentTypes": null, - "id": 6378, + "id": 6733, "isConstant": false, "isLValue": false, "isPure": false, @@ -53575,28 +63184,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6373, + "id": 6728, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15671:10:6", + "referencedDeclaration": 6668, + "src": "20375:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6375, + "id": 6730, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "15671:17:6", + "referencedDeclaration": 8136, + "src": "20375:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -53606,102 +63215,86 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6376, + "id": 6731, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "15691:6:6", + "referencedDeclaration": 8118, + "src": "20395:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6377, + "id": 6732, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "New", + "memberName": "Approved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15691:10:6", + "src": "20395:15:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "15671:30:6", + "src": "20375:35:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "id": 6379, + "id": 6734, "nodeType": "ExpressionStatement", - "src": "15671:30:6" + "src": "20375:35:6" }, { "expression": { "argumentTypes": null, - "id": 6384, + "id": 6737, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6380, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "15711:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6382, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 7629, - "src": "15711:20:6", + "id": 6735, + "name": "bestSuperblock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5030, + "src": "20420:14:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6383, - "name": "submitter", + "id": 6736, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6228, - "src": "15734:9:6", + "referencedDeclaration": 6647, + "src": "20437:15:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "src": "15711:32:6", + "src": "20420:32:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 6385, + "id": 6738, "nodeType": "ExpressionStatement", - "src": "15711:32:6" + "src": "20420:32:6" }, { "eventCall": { @@ -53709,12 +63302,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6387, - "name": "superblockHash", + "id": 6740, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6305, - "src": "15772:14:6", + "referencedDeclaration": 6647, + "src": "20487:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -53722,12 +63315,12 @@ }, { "argumentTypes": null, - "id": 6388, - "name": "submitter", + "id": 6741, + "name": "_validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6228, - "src": "15788:9:6", + "referencedDeclaration": 6649, + "src": "20504:10:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -53745,18 +63338,18 @@ "typeString": "address" } ], - "id": 6386, - "name": "NewSuperblock", + "id": 6739, + "name": "ApprovedSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5029, - "src": "15758:13:6", + "referencedDeclaration": 5044, + "src": "20468:18:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 6389, + "id": 6742, "isConstant": false, "isLValue": false, "isPure": false, @@ -53764,215 +63357,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15758:40:6", + "src": "20468:47:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6390, + "id": 6743, "nodeType": "EmitStatement", - "src": "15753:45:6" + "src": "20463:52:6" }, { "expression": { "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 6391, - "name": "ERR_SUPERBLOCK_OK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "15816:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6392, - "name": "superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6305, - "src": "15835:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 6393, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15815:35:6", + "id": 6744, + "name": "ERR_SUPERBLOCK_OK", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4517, + "src": "20532:17:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_bytes32_$", - "typeString": "tuple(uint256,bytes32)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "functionReturnParameters": 6234, - "id": 6394, + "functionReturnParameters": 6653, + "id": 6745, "nodeType": "Return", - "src": "15808:42:6" + "src": "20525:24:6" } ] }, "documentation": null, - "id": 6396, + "id": 6747, "implemented": true, "kind": "function", "modifiers": [], - "name": "propose", + "name": "confirm", "nodeType": "FunctionDefinition", "parameters": { - "id": 6229, + "id": 6650, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6216, - "name": "_blocksMerkleRoot", - "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14108:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6215, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14108:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6218, - "name": "_timestamp", - "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14143:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6217, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14143:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6220, - "name": "_mtpTimestamp", - "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14168:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6219, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14168:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6222, - "name": "_lastHash", - "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14196:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6221, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14196:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6224, - "name": "_lastBits", - "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14223:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 6223, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "14223:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6226, - "name": "_parentId", + "id": 6647, + "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14249:17:6", + "scope": 6747, + "src": "19346:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -53980,10 +63413,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6225, + "id": 6646, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14249:7:6", + "src": "19346:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -53994,11 +63427,11 @@ }, { "constant": false, - "id": 6228, - "name": "submitter", + "id": 6649, + "name": "_validator", "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14276:17:6", + "scope": 6747, + "src": "19371:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54006,10 +63439,10 @@ "typeString": "address" }, "typeName": { - "id": 6227, + "id": 6648, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14276:7:6", + "src": "19371:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -54020,19 +63453,19 @@ "visibility": "internal" } ], - "src": "14098:201:6" + "src": "19345:45:6" }, "returnParameters": { - "id": 6234, + "id": 6653, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6231, + "id": 6652, "name": "", "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14318:4:6", + "scope": 6747, + "src": "19409:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54040,10 +63473,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6230, + "id": 6651, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "14318:4:6", + "src": "19409:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54051,47 +63484,21 @@ }, "value": null, "visibility": "internal" - }, - { - "constant": false, - "id": 6233, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6396, - "src": "14324:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6232, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14324:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" } ], - "src": "14317:15:6" + "src": "19408:6:6" }, - "scope": 7493, - "src": "14082:1775:6", + "scope": 7851, + "src": "19329:1227:6", "stateMutability": "nonpayable", - "superFunction": 7657, + "superFunction": 8211, "visibility": "external" }, { "body": { - "id": 6497, + "id": 6822, "nodeType": "Block", - "src": "16349:1141:6", + "src": "20993:829:6", "statements": [ { "condition": { @@ -54100,7 +63507,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6408, + "id": 6759, "isConstant": false, "isLValue": false, "isPure": false, @@ -54109,18 +63516,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6405, + "id": 6756, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "16363:3:6", + "referencedDeclaration": 11098, + "src": "21007:3:6", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 6406, + "id": 6757, "isConstant": false, "isLValue": false, "isPure": false, @@ -54128,7 +63535,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16363:10:6", + "src": "21007:10:6", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -54138,31 +63545,31 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 6407, + "id": 6758, "name": "trustedClaimManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "16377:19:6", + "referencedDeclaration": 5086, + "src": "21021:19:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "16363:33:6", + "src": "21007:33:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6417, + "id": 6768, "nodeType": "IfStatement", - "src": "16359:186:6", + "src": "21003:186:6", "trueBody": { - "id": 6416, + "id": 6767, "nodeType": "Block", - "src": "16398:147:6", + "src": "21042:147:6", "statements": [ { "eventCall": { @@ -54170,12 +63577,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6410, + "id": 6761, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "16433:15:6", + "referencedDeclaration": 6749, + "src": "21077:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -54183,12 +63590,12 @@ }, { "argumentTypes": null, - "id": 6411, + "id": 6762, "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "16450:31:6", + "referencedDeclaration": 4601, + "src": "21094:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54206,18 +63613,18 @@ "typeString": "uint256" } ], - "id": 6409, + "id": 6760, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "16417:15:6", + "referencedDeclaration": 5068, + "src": "21061:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6412, + "id": 6763, "isConstant": false, "isLValue": false, "isPure": false, @@ -54225,65 +63632,65 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16417:65:6", + "src": "21061:65:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6413, + "id": 6764, "nodeType": "EmitStatement", - "src": "16412:70:6" + "src": "21056:70:6" }, { "expression": { "argumentTypes": null, - "id": 6414, + "id": 6765, "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "16503:31:6", + "referencedDeclaration": 4601, + "src": "21147:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6404, - "id": 6415, + "functionReturnParameters": 6755, + "id": 6766, "nodeType": "Return", - "src": "16496:38:6" + "src": "21140:38:6" } ] } }, { "assignments": [ - 6419 + 6770 ], "declarations": [ { "constant": false, - "id": 6419, + "id": 6770, "name": "superblock", "nodeType": "VariableDeclaration", - "scope": 6497, - "src": "16554:33:6", + "scope": 6822, + "src": "21198:33:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { "contractScope": null, - "id": 6418, + "id": 6769, "name": "SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "16554:14:6", + "referencedDeclaration": 8137, + "src": "21198:14:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -54291,31 +63698,31 @@ "visibility": "internal" } ], - "id": 6423, + "id": 6774, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6420, + "id": 6771, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "16590:11:6", + "referencedDeclaration": 5028, + "src": "21234:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 6422, + "id": 6773, "indexExpression": { "argumentTypes": null, - "id": 6421, + "id": 6772, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "16602:15:6", + "referencedDeclaration": 6749, + "src": "21246:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -54326,14 +63733,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16590:28:6", + "src": "21234:28:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "16554:64:6" + "src": "21198:64:6" }, { "condition": { @@ -54342,7 +63749,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6434, + "id": 6785, "isConstant": false, "isLValue": false, "isPure": false, @@ -54350,10 +63757,10 @@ "leftExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6428, + "id": 6779, "isConstant": false, "isLValue": false, "isPure": false, @@ -54362,28 +63769,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6424, + "id": 6775, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "16632:10:6", + "referencedDeclaration": 6770, + "src": "21276:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6425, + "id": 6776, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "16632:17:6", + "referencedDeclaration": 8136, + "src": "21276:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -54393,18 +63800,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6426, + "id": 6777, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "16653:6:6", + "referencedDeclaration": 8118, + "src": "21297:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6427, + "id": 6778, "isConstant": false, "isLValue": false, "isPure": true, @@ -54412,13 +63819,13 @@ "memberName": "New", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16653:10:6", + "src": "21297:10:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "16632:31:6", + "src": "21276:31:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -54429,10 +63836,10 @@ "rightExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6433, + "id": 6784, "isConstant": false, "isLValue": false, "isPure": false, @@ -54441,28 +63848,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6429, + "id": 6780, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "16667:10:6", + "referencedDeclaration": 6770, + "src": "21311:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6430, + "id": 6781, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "16667:17:6", + "referencedDeclaration": 8136, + "src": "21311:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -54472,51 +63879,51 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6431, + "id": 6782, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "16688:6:6", + "referencedDeclaration": 8118, + "src": "21332:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6432, + "id": 6783, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "SemiApproved", + "memberName": "InBattle", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16688:19:6", + "src": "21332:15:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "16667:40:6", + "src": "21311:36:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16632:75:6", + "src": "21276:71:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6443, + "id": 6794, "nodeType": "IfStatement", - "src": "16628:216:6", + "src": "21272:212:6", "trueBody": { - "id": 6442, + "id": 6793, "nodeType": "Block", - "src": "16709:135:6", + "src": "21349:135:6", "statements": [ { "eventCall": { @@ -54524,12 +63931,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6436, + "id": 6787, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "16744:15:6", + "referencedDeclaration": 6749, + "src": "21384:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -54537,193 +63944,12 @@ }, { "argumentTypes": null, - "id": 6437, + "id": 6788, "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "16761:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6435, - "name": "ErrorSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "16728:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 6438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16728:59:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6439, - "nodeType": "EmitStatement", - "src": "16723:64:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6440, - "name": "ERR_SUPERBLOCK_BAD_STATUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "16808:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6404, - "id": 6441, - "nodeType": "Return", - "src": "16801:32:6" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6444, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "16858:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "height", - "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "16858:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6446, - "name": "getChainHeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7464, - "src": "16879:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 6447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16879:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16858:37:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6457, - "nodeType": "IfStatement", - "src": "16854:188:6", - "trueBody": { - "id": 6456, - "nodeType": "Block", - "src": "16897:145:6", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6450, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "16932:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6451, - "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4628, - "src": "16949:30:6", + "referencedDeclaration": 4523, + "src": "21401:25:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54741,18 +63967,18 @@ "typeString": "uint256" } ], - "id": 6449, + "id": 6786, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "16916:15:6", + "referencedDeclaration": 5068, + "src": "21368:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6452, + "id": 6789, "isConstant": false, "isLValue": false, "isPure": false, @@ -54760,140 +63986,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16916:64:6", + "src": "21368:59:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6453, + "id": 6790, "nodeType": "EmitStatement", - "src": "16911:69:6" + "src": "21363:64:6" }, { "expression": { "argumentTypes": null, - "id": 6454, - "name": "ERR_SUPERBLOCK_BAD_BLOCKHEIGHT", + "id": 6791, + "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4628, - "src": "17001:30:6", + "referencedDeclaration": 4523, + "src": "21448:25:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6404, - "id": 6455, + "functionReturnParameters": 6755, + "id": 6792, "nodeType": "Return", - "src": "16994:37:6" + "src": "21441:32:6" } ] } }, - { - "assignments": [ - 6459 - ], - "declarations": [ - { - "constant": false, - "id": 6459, - "name": "parent", - "nodeType": "VariableDeclaration", - "scope": 6497, - "src": "17052:29:6", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" - }, - "typeName": { - "contractScope": null, - "id": 6458, - "name": "SuperblockInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "17052:14:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6464, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6460, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "17084:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" - } - }, - "id": 6463, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6461, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "17096:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6462, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "parentId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7627, - "src": "17096:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17084:32:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17052:64:6" - }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 6469, + "id": 6798, "isConstant": false, "isLValue": false, "isPure": false, @@ -54902,76 +64034,60 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6465, - "name": "parent", + "id": 6795, + "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6459, - "src": "17130:6:6", + "referencedDeclaration": 6770, + "src": "21496:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6466, + "id": 6796, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "status", + "memberName": "submitter", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "17130:13:6", + "referencedDeclaration": 8130, + "src": "21496:20:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "BinaryOperation", - "operator": "!=", + "operator": "==", "rightExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6467, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "17147:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" - } - }, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Approved", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17147:15:6", + "id": 6797, + "name": "_challenger", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6751, + "src": "21520:11:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "17130:32:6", + "src": "21496:35:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6478, + "id": 6807, "nodeType": "IfStatement", - "src": "17126:173:6", + "src": "21493:180:6", "trueBody": { - "id": 6477, + "id": 6806, "nodeType": "Block", - "src": "17164:135:6", + "src": "21532:141:6", "statements": [ { "eventCall": { @@ -54979,12 +64095,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6471, + "id": 6800, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "17199:15:6", + "referencedDeclaration": 6749, + "src": "21567:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -54992,12 +64108,12 @@ }, { "argumentTypes": null, - "id": 6472, - "name": "ERR_SUPERBLOCK_BAD_PARENT", + "id": 6801, + "name": "ERR_SUPERBLOCK_OWN_CHALLENGE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "17216:25:6", + "referencedDeclaration": 4559, + "src": "21584:28:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55015,18 +64131,18 @@ "typeString": "uint256" } ], - "id": 6470, + "id": 6799, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "17183:15:6", + "referencedDeclaration": 5068, + "src": "21551:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6473, + "id": 6802, "isConstant": false, "isLValue": false, "isPure": false, @@ -55034,34 +64150,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17183:59:6", + "src": "21551:62:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6474, + "id": 6803, "nodeType": "EmitStatement", - "src": "17178:64:6" + "src": "21546:67:6" }, { "expression": { "argumentTypes": null, - "id": 6475, - "name": "ERR_SUPERBLOCK_BAD_PARENT", + "id": 6804, + "name": "ERR_SUPERBLOCK_OWN_CHALLENGE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "17263:25:6", + "referencedDeclaration": 4559, + "src": "21634:28:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6404, - "id": 6476, + "functionReturnParameters": 6755, + "id": 6805, "nodeType": "Return", - "src": "17256:32:6" + "src": "21627:35:6" } ] } @@ -55069,7 +64185,7 @@ { "expression": { "argumentTypes": null, - "id": 6484, + "id": 6813, "isConstant": false, "isLValue": false, "isPure": false, @@ -55078,28 +64194,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6479, + "id": 6808, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "17309:10:6", + "referencedDeclaration": 6770, + "src": "21682:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6481, + "id": 6810, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "17309:17:6", + "referencedDeclaration": 8136, + "src": "21682:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -55109,86 +64225,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6482, + "id": 6811, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "17329:6:6", + "referencedDeclaration": 8118, + "src": "21702:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6483, + "id": 6812, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "Approved", + "memberName": "InBattle", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17329:15:6", + "src": "21702:15:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "17309:35:6", + "src": "21682:35:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "id": 6485, + "id": 6814, "nodeType": "ExpressionStatement", - "src": "17309:35:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6486, - "name": "bestSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "17354:14:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6487, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "17371:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "17354:32:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 6489, - "nodeType": "ExpressionStatement", - "src": "17354:32:6" + "src": "21682:35:6" }, { "eventCall": { @@ -55196,12 +64266,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6491, + "id": 6816, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6398, - "src": "17421:15:6", + "referencedDeclaration": 6749, + "src": "21752:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -55209,12 +64279,12 @@ }, { "argumentTypes": null, - "id": 6492, - "name": "_validator", + "id": 6817, + "name": "_challenger", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6400, - "src": "17438:10:6", + "referencedDeclaration": 6751, + "src": "21769:11:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -55232,18 +64302,18 @@ "typeString": "address" } ], - "id": 6490, - "name": "ApprovedSuperblock", + "id": 6815, + "name": "ChallengeSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "17402:18:6", + "referencedDeclaration": 5050, + "src": "21732:19:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 6493, + "id": 6818, "isConstant": false, "isLValue": false, "isPure": false, @@ -55251,55 +64321,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17402:47:6", + "src": "21732:49:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6494, + "id": 6819, "nodeType": "EmitStatement", - "src": "17397:52:6" + "src": "21727:54:6" }, { "expression": { "argumentTypes": null, - "id": 6495, + "id": 6820, "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "17466:17:6", + "referencedDeclaration": 4517, + "src": "21798:17:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6404, - "id": 6496, + "functionReturnParameters": 6755, + "id": 6821, "nodeType": "Return", - "src": "17459:24:6" + "src": "21791:24:6" } ] }, "documentation": null, - "id": 6498, + "id": 6823, "implemented": true, "kind": "function", "modifiers": [], - "name": "confirm", + "name": "challenge", "nodeType": "FunctionDefinition", "parameters": { - "id": 6401, + "id": 6752, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6398, + "id": 6749, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 6498, - "src": "16280:23:6", + "scope": 6823, + "src": "20923:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55307,10 +64377,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6397, + "id": 6748, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16280:7:6", + "src": "20923:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -55321,11 +64391,11 @@ }, { "constant": false, - "id": 6400, - "name": "_validator", + "id": 6751, + "name": "_challenger", "nodeType": "VariableDeclaration", - "scope": 6498, - "src": "16305:18:6", + "scope": 6823, + "src": "20948:19:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55333,10 +64403,10 @@ "typeString": "address" }, "typeName": { - "id": 6399, + "id": 6750, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16305:7:6", + "src": "20948:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -55347,19 +64417,19 @@ "visibility": "internal" } ], - "src": "16279:45:6" + "src": "20922:46:6" }, "returnParameters": { - "id": 6404, + "id": 6755, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6403, + "id": 6754, "name": "", "nodeType": "VariableDeclaration", - "scope": 6498, - "src": "16343:4:6", + "scope": 6823, + "src": "20987:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55367,10 +64437,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6402, + "id": 6753, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16343:4:6", + "src": "20987:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55380,19 +64450,19 @@ "visibility": "internal" } ], - "src": "16342:6:6" + "src": "20986:6:6" }, - "scope": 7493, - "src": "16263:1227:6", + "scope": 7851, + "src": "20904:918:6", "stateMutability": "nonpayable", - "superFunction": 7710, + "superFunction": 8220, "visibility": "external" }, { "body": { - "id": 6573, + "id": 6885, "nodeType": "Block", - "src": "17927:829:6", + "src": "22313:648:6", "statements": [ { "condition": { @@ -55401,7 +64471,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6510, + "id": 6835, "isConstant": false, "isLValue": false, "isPure": false, @@ -55410,18 +64480,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6507, + "id": 6832, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "17941:3:6", + "referencedDeclaration": 11098, + "src": "22327:3:6", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 6508, + "id": 6833, "isConstant": false, "isLValue": false, "isPure": false, @@ -55429,7 +64499,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17941:10:6", + "src": "22327:10:6", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -55439,31 +64509,31 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 6509, + "id": 6834, "name": "trustedClaimManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "17955:19:6", + "referencedDeclaration": 5086, + "src": "22341:19:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17941:33:6", + "src": "22327:33:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6519, + "id": 6844, "nodeType": "IfStatement", - "src": "17937:186:6", + "src": "22323:186:6", "trueBody": { - "id": 6518, + "id": 6843, "nodeType": "Block", - "src": "17976:147:6", + "src": "22362:147:6", "statements": [ { "eventCall": { @@ -55471,12 +64541,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6512, + "id": 6837, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6500, - "src": "18011:15:6", + "referencedDeclaration": 6825, + "src": "22397:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -55484,12 +64554,12 @@ }, { "argumentTypes": null, - "id": 6513, + "id": 6838, "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "18028:31:6", + "referencedDeclaration": 4601, + "src": "22414:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55507,18 +64577,18 @@ "typeString": "uint256" } ], - "id": 6511, + "id": 6836, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "17995:15:6", + "referencedDeclaration": 5068, + "src": "22381:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6514, + "id": 6839, "isConstant": false, "isLValue": false, "isPure": false, @@ -55526,65 +64596,65 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17995:65:6", + "src": "22381:65:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6515, + "id": 6840, "nodeType": "EmitStatement", - "src": "17990:70:6" + "src": "22376:70:6" }, { "expression": { "argumentTypes": null, - "id": 6516, + "id": 6841, "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "18081:31:6", + "referencedDeclaration": 4601, + "src": "22467:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6506, - "id": 6517, + "functionReturnParameters": 6831, + "id": 6842, "nodeType": "Return", - "src": "18074:38:6" + "src": "22460:38:6" } ] } }, { "assignments": [ - 6521 + 6846 ], "declarations": [ { "constant": false, - "id": 6521, + "id": 6846, "name": "superblock", "nodeType": "VariableDeclaration", - "scope": 6573, - "src": "18132:33:6", + "scope": 6885, + "src": "22518:33:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { "contractScope": null, - "id": 6520, + "id": 6845, "name": "SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "18132:14:6", + "referencedDeclaration": 8137, + "src": "22518:14:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -55592,31 +64662,31 @@ "visibility": "internal" } ], - "id": 6525, + "id": 6850, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6522, + "id": 6847, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "18168:11:6", + "referencedDeclaration": 5028, + "src": "22554:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 6524, + "id": 6849, "indexExpression": { "argumentTypes": null, - "id": 6523, + "id": 6848, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6500, - "src": "18180:15:6", + "referencedDeclaration": 6825, + "src": "22566:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -55627,14 +64697,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18168:28:6", + "src": "22554:28:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "18132:64:6" + "src": "22518:64:6" }, { "condition": { @@ -55643,7 +64713,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6536, + "id": 6861, "isConstant": false, "isLValue": false, "isPure": false, @@ -55651,10 +64721,10 @@ "leftExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6530, + "id": 6855, "isConstant": false, "isLValue": false, "isPure": false, @@ -55663,28 +64733,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6526, + "id": 6851, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6521, - "src": "18210:10:6", + "referencedDeclaration": 6846, + "src": "22597:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6527, + "id": 6852, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "18210:17:6", + "referencedDeclaration": 8136, + "src": "22597:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -55694,32 +64764,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6528, + "id": 6853, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "18231:6:6", + "referencedDeclaration": 8118, + "src": "22618:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6529, + "id": 6854, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "New", + "memberName": "InBattle", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18231:10:6", + "src": "22618:15:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "18210:31:6", + "src": "22597:36:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -55730,10 +64800,10 @@ "rightExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6535, + "id": 6860, "isConstant": false, "isLValue": false, "isPure": false, @@ -55742,28 +64812,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6531, + "id": 6856, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6521, - "src": "18245:10:6", + "referencedDeclaration": 6846, + "src": "22637:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6532, + "id": 6857, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "18245:17:6", + "referencedDeclaration": 8136, + "src": "22637:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -55773,51 +64843,51 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6533, + "id": 6858, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "18266:6:6", + "referencedDeclaration": 8118, + "src": "22658:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6534, + "id": 6859, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "InBattle", + "memberName": "New", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18266:15:6", + "src": "22658:10:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "18245:36:6", + "src": "22637:31:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18210:71:6", + "src": "22597:71:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6545, + "id": 6870, "nodeType": "IfStatement", - "src": "18206:212:6", + "src": "22593:212:6", "trueBody": { - "id": 6544, + "id": 6869, "nodeType": "Block", - "src": "18283:135:6", + "src": "22670:135:6", "statements": [ { "eventCall": { @@ -55825,12 +64895,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6538, + "id": 6863, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6500, - "src": "18318:15:6", + "referencedDeclaration": 6825, + "src": "22705:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -55838,12 +64908,12 @@ }, { "argumentTypes": null, - "id": 6539, + "id": 6864, "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "18335:25:6", + "referencedDeclaration": 4523, + "src": "22722:25:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55861,18 +64931,18 @@ "typeString": "uint256" } ], - "id": 6537, + "id": 6862, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "18302:15:6", + "referencedDeclaration": 5068, + "src": "22689:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6540, + "id": 6865, "isConstant": false, "isLValue": false, "isPure": false, @@ -55880,198 +64950,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18302:59:6", + "src": "22689:59:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6541, + "id": 6866, "nodeType": "EmitStatement", - "src": "18297:64:6" + "src": "22684:64:6" }, { "expression": { "argumentTypes": null, - "id": 6542, + "id": 6867, "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "18382:25:6", + "referencedDeclaration": 4523, + "src": "22769:25:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6506, - "id": 6543, + "functionReturnParameters": 6831, + "id": 6868, "nodeType": "Return", - "src": "18375:32:6" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6546, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6521, - "src": "18430:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6547, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 7629, - "src": "18430:20:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6548, - "name": "_challenger", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6502, - "src": "18454:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18430:35:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6558, - "nodeType": "IfStatement", - "src": "18427:180:6", - "trueBody": { - "id": 6557, - "nodeType": "Block", - "src": "18466:141:6", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6551, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6500, - "src": "18501:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 6552, - "name": "ERR_SUPERBLOCK_OWN_CHALLENGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4550, - "src": "18518:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6550, - "name": "ErrorSuperblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "18485:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 6553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18485:62:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6554, - "nodeType": "EmitStatement", - "src": "18480:67:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6555, - "name": "ERR_SUPERBLOCK_OWN_CHALLENGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4550, - "src": "18568:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6506, - "id": 6556, - "nodeType": "Return", - "src": "18561:35:6" + "src": "22762:32:6" } ] } @@ -56079,7 +64985,7 @@ { "expression": { "argumentTypes": null, - "id": 6564, + "id": 6876, "isConstant": false, "isLValue": false, "isPure": false, @@ -56088,28 +64994,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6559, + "id": 6871, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6521, - "src": "18616:10:6", + "referencedDeclaration": 6846, + "src": "22814:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6561, + "id": 6873, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "18616:17:6", + "referencedDeclaration": 8136, + "src": "22814:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -56119,40 +65025,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6562, + "id": 6874, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "18636:6:6", + "referencedDeclaration": 8118, + "src": "22834:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6563, + "id": 6875, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "InBattle", + "memberName": "SemiApproved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18636:15:6", + "src": "22834:19:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "18616:35:6", + "src": "22814:39:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "id": 6565, + "id": 6877, "nodeType": "ExpressionStatement", - "src": "18616:35:6" + "src": "22814:39:6" }, { "eventCall": { @@ -56160,12 +65066,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6567, + "id": 6879, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6500, - "src": "18686:15:6", + "referencedDeclaration": 6825, + "src": "22892:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -56173,12 +65079,12 @@ }, { "argumentTypes": null, - "id": 6568, - "name": "_challenger", + "id": 6880, + "name": "_validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6502, - "src": "18703:11:6", + "referencedDeclaration": 6827, + "src": "22909:10:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -56196,18 +65102,18 @@ "typeString": "address" } ], - "id": 6566, - "name": "ChallengeSuperblock", + "id": 6878, + "name": "SemiApprovedSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "18666:19:6", + "referencedDeclaration": 5056, + "src": "22869:22:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 6569, + "id": 6881, "isConstant": false, "isLValue": false, "isPure": false, @@ -56215,55 +65121,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18666:49:6", + "src": "22869:51:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6570, + "id": 6882, "nodeType": "EmitStatement", - "src": "18661:54:6" + "src": "22864:56:6" }, { "expression": { "argumentTypes": null, - "id": 6571, + "id": 6883, "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "18732:17:6", + "referencedDeclaration": 4517, + "src": "22937:17:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6506, - "id": 6572, + "functionReturnParameters": 6831, + "id": 6884, "nodeType": "Return", - "src": "18725:24:6" + "src": "22930:24:6" } ] }, "documentation": null, - "id": 6574, + "id": 6886, "implemented": true, "kind": "function", "modifiers": [], - "name": "challenge", + "name": "semiApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 6503, + "id": 6828, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6500, + "id": 6825, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 6574, - "src": "17857:23:6", + "scope": 6886, + "src": "22244:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -56271,10 +65177,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6499, + "id": 6824, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "17857:7:6", + "src": "22244:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -56285,11 +65191,11 @@ }, { "constant": false, - "id": 6502, - "name": "_challenger", + "id": 6827, + "name": "_validator", "nodeType": "VariableDeclaration", - "scope": 6574, - "src": "17882:19:6", + "scope": 6886, + "src": "22269:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -56297,10 +65203,10 @@ "typeString": "address" }, "typeName": { - "id": 6501, + "id": 6826, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17882:7:6", + "src": "22269:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -56311,19 +65217,19 @@ "visibility": "internal" } ], - "src": "17856:46:6" + "src": "22243:45:6" }, "returnParameters": { - "id": 6506, + "id": 6831, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6505, + "id": 6830, "name": "", "nodeType": "VariableDeclaration", - "scope": 6574, - "src": "17921:4:6", + "scope": 6886, + "src": "22307:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -56331,10 +65237,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6504, + "id": 6829, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17921:4:6", + "src": "22307:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -56344,19 +65250,19 @@ "visibility": "internal" } ], - "src": "17920:6:6" + "src": "22306:6:6" }, - "scope": 7493, - "src": "17838:918:6", + "scope": 7851, + "src": "22223:738:6", "stateMutability": "nonpayable", - "superFunction": 7719, + "superFunction": 8229, "visibility": "external" }, { "body": { - "id": 6636, + "id": 6948, "nodeType": "Block", - "src": "19247:648:6", + "src": "23522:645:6", "statements": [ { "condition": { @@ -56365,7 +65271,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6586, + "id": 6898, "isConstant": false, "isLValue": false, "isPure": false, @@ -56374,18 +65280,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6583, + "id": 6895, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "19261:3:6", + "referencedDeclaration": 11098, + "src": "23536:3:6", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 6584, + "id": 6896, "isConstant": false, "isLValue": false, "isPure": false, @@ -56393,7 +65299,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19261:10:6", + "src": "23536:10:6", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -56403,31 +65309,31 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 6585, + "id": 6897, "name": "trustedClaimManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "19275:19:6", + "referencedDeclaration": 5086, + "src": "23550:19:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19261:33:6", + "src": "23536:33:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6595, + "id": 6907, "nodeType": "IfStatement", - "src": "19257:186:6", + "src": "23532:186:6", "trueBody": { - "id": 6594, + "id": 6906, "nodeType": "Block", - "src": "19296:147:6", + "src": "23571:147:6", "statements": [ { "eventCall": { @@ -56435,12 +65341,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6588, + "id": 6900, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6576, - "src": "19331:15:6", + "referencedDeclaration": 6888, + "src": "23606:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -56448,12 +65354,12 @@ }, { "argumentTypes": null, - "id": 6589, + "id": 6901, "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "19348:31:6", + "referencedDeclaration": 4601, + "src": "23623:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -56471,18 +65377,18 @@ "typeString": "uint256" } ], - "id": 6587, + "id": 6899, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "19315:15:6", + "referencedDeclaration": 5068, + "src": "23590:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6590, + "id": 6902, "isConstant": false, "isLValue": false, "isPure": false, @@ -56490,65 +65396,65 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19315:65:6", + "src": "23590:65:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6591, + "id": 6903, "nodeType": "EmitStatement", - "src": "19310:70:6" + "src": "23585:70:6" }, { "expression": { "argumentTypes": null, - "id": 6592, + "id": 6904, "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "19401:31:6", + "referencedDeclaration": 4601, + "src": "23676:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6582, - "id": 6593, + "functionReturnParameters": 6894, + "id": 6905, "nodeType": "Return", - "src": "19394:38:6" + "src": "23669:38:6" } ] } }, { "assignments": [ - 6597 + 6909 ], "declarations": [ { "constant": false, - "id": 6597, + "id": 6909, "name": "superblock", "nodeType": "VariableDeclaration", - "scope": 6636, - "src": "19452:33:6", + "scope": 6948, + "src": "23727:33:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { "contractScope": null, - "id": 6596, + "id": 6908, "name": "SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "19452:14:6", + "referencedDeclaration": 8137, + "src": "23727:14:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -56556,31 +65462,31 @@ "visibility": "internal" } ], - "id": 6601, + "id": 6913, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6598, + "id": 6910, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "19488:11:6", + "referencedDeclaration": 5028, + "src": "23763:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 6600, + "id": 6912, "indexExpression": { "argumentTypes": null, - "id": 6599, + "id": 6911, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6576, - "src": "19500:15:6", + "referencedDeclaration": 6888, + "src": "23775:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -56591,14 +65497,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19488:28:6", + "src": "23763:28:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "19452:64:6" + "src": "23727:64:6" }, { "condition": { @@ -56607,7 +65513,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6612, + "id": 6924, "isConstant": false, "isLValue": false, "isPure": false, @@ -56615,10 +65521,10 @@ "leftExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6606, + "id": 6918, "isConstant": false, "isLValue": false, "isPure": false, @@ -56627,28 +65533,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6602, + "id": 6914, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6597, - "src": "19531:10:6", + "referencedDeclaration": 6909, + "src": "23805:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6603, + "id": 6915, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "19531:17:6", + "referencedDeclaration": 8136, + "src": "23805:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -56658,18 +65564,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6604, + "id": 6916, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "19552:6:6", + "referencedDeclaration": 8118, + "src": "23826:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6605, + "id": 6917, "isConstant": false, "isLValue": false, "isPure": true, @@ -56677,13 +65583,13 @@ "memberName": "InBattle", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19552:15:6", + "src": "23826:15:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "19531:36:6", + "src": "23805:36:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -56694,10 +65600,10 @@ "rightExpression": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 6611, + "id": 6923, "isConstant": false, "isLValue": false, "isPure": false, @@ -56706,28 +65612,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6607, + "id": 6919, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6597, - "src": "19571:10:6", + "referencedDeclaration": 6909, + "src": "23845:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6608, + "id": 6920, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "19571:17:6", + "referencedDeclaration": 8136, + "src": "23845:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -56737,51 +65643,51 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6609, + "id": 6921, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "19592:6:6", + "referencedDeclaration": 8118, + "src": "23866:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6610, + "id": 6922, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "New", + "memberName": "SemiApproved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19592:10:6", + "src": "23866:19:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "19571:31:6", + "src": "23845:40:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19531:71:6", + "src": "23805:80:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6621, + "id": 6933, "nodeType": "IfStatement", - "src": "19527:212:6", + "src": "23801:221:6", "trueBody": { - "id": 6620, + "id": 6932, "nodeType": "Block", - "src": "19604:135:6", + "src": "23887:135:6", "statements": [ { "eventCall": { @@ -56789,12 +65695,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6614, + "id": 6926, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6576, - "src": "19639:15:6", + "referencedDeclaration": 6888, + "src": "23922:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -56802,12 +65708,12 @@ }, { "argumentTypes": null, - "id": 6615, + "id": 6927, "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "19656:25:6", + "referencedDeclaration": 4523, + "src": "23939:25:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -56825,18 +65731,18 @@ "typeString": "uint256" } ], - "id": 6613, + "id": 6925, "name": "ErrorSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "19623:15:6", + "referencedDeclaration": 5068, + "src": "23906:15:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6616, + "id": 6928, "isConstant": false, "isLValue": false, "isPure": false, @@ -56844,34 +65750,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19623:59:6", + "src": "23906:59:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6617, + "id": 6929, "nodeType": "EmitStatement", - "src": "19618:64:6" + "src": "23901:64:6" }, { "expression": { "argumentTypes": null, - "id": 6618, + "id": 6930, "name": "ERR_SUPERBLOCK_BAD_STATUS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "19703:25:6", + "referencedDeclaration": 4523, + "src": "23986:25:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6582, - "id": 6619, + "functionReturnParameters": 6894, + "id": 6931, "nodeType": "Return", - "src": "19696:32:6" + "src": "23979:32:6" } ] } @@ -56879,7 +65785,7 @@ { "expression": { "argumentTypes": null, - "id": 6627, + "id": 6939, "isConstant": false, "isLValue": false, "isPure": false, @@ -56888,28 +65794,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6622, + "id": 6934, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6597, - "src": "19748:10:6", + "referencedDeclaration": 6909, + "src": "24031:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 6624, + "id": 6936, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "19748:17:6", + "referencedDeclaration": 8136, + "src": "24031:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -56919,40 +65825,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6625, + "id": 6937, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "19768:6:6", + "referencedDeclaration": 8118, + "src": "24051:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 6626, + "id": 6938, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "SemiApproved", + "memberName": "Invalid", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19768:19:6", + "src": "24051:14:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "19748:39:6", + "src": "24031:34:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "id": 6628, + "id": 6940, "nodeType": "ExpressionStatement", - "src": "19748:39:6" + "src": "24031:34:6" }, { "eventCall": { @@ -56960,12 +65866,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6630, + "id": 6942, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6576, - "src": "19826:15:6", + "referencedDeclaration": 6888, + "src": "24098:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -56973,12 +65879,12 @@ }, { "argumentTypes": null, - "id": 6631, + "id": 6943, "name": "_validator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6578, - "src": "19843:10:6", + "referencedDeclaration": 6890, + "src": "24115:10:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -56996,18 +65902,18 @@ "typeString": "address" } ], - "id": 6629, - "name": "SemiApprovedSuperblock", + "id": 6941, + "name": "InvalidSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5047, - "src": "19803:22:6", + "referencedDeclaration": 5062, + "src": "24080:17:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 6632, + "id": 6944, "isConstant": false, "isLValue": false, "isPure": false, @@ -57015,55 +65921,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19803:51:6", + "src": "24080:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6633, + "id": 6945, "nodeType": "EmitStatement", - "src": "19798:56:6" + "src": "24075:51:6" }, { "expression": { "argumentTypes": null, - "id": 6634, + "id": 6946, "name": "ERR_SUPERBLOCK_OK", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "19871:17:6", + "referencedDeclaration": 4517, + "src": "24143:17:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6582, - "id": 6635, + "functionReturnParameters": 6894, + "id": 6947, "nodeType": "Return", - "src": "19864:24:6" + "src": "24136:24:6" } ] }, "documentation": null, - "id": 6637, + "id": 6949, "implemented": true, "kind": "function", "modifiers": [], - "name": "semiApprove", + "name": "invalidate", "nodeType": "FunctionDefinition", "parameters": { - "id": 6579, + "id": 6891, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6576, + "id": 6888, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 6637, - "src": "19178:23:6", + "scope": 6949, + "src": "23453:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57071,10 +65977,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6575, + "id": 6887, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "19178:7:6", + "src": "23453:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -57085,11 +65991,11 @@ }, { "constant": false, - "id": 6578, + "id": 6890, "name": "_validator", "nodeType": "VariableDeclaration", - "scope": 6637, - "src": "19203:18:6", + "scope": 6949, + "src": "23478:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57097,10 +66003,10 @@ "typeString": "address" }, "typeName": { - "id": 6577, + "id": 6889, "name": "address", "nodeType": "ElementaryTypeName", - "src": "19203:7:6", + "src": "23478:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -57111,19 +66017,19 @@ "visibility": "internal" } ], - "src": "19177:45:6" + "src": "23452:45:6" }, "returnParameters": { - "id": 6582, + "id": 6894, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6581, + "id": 6893, "name": "", "nodeType": "VariableDeclaration", - "scope": 6637, - "src": "19241:4:6", + "scope": 6949, + "src": "23516:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57131,10 +66037,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6580, + "id": 6892, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "19241:4:6", + "src": "23516:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -57144,145 +66050,141 @@ "visibility": "internal" } ], - "src": "19240:6:6" + "src": "23515:6:6" }, - "scope": 7493, - "src": "19157:738:6", + "scope": 7851, + "src": "23433:734:6", "stateMutability": "nonpayable", - "superFunction": 7728, + "superFunction": 8238, "visibility": "external" }, { "body": { - "id": 6699, + "id": 7003, "nodeType": "Block", - "src": "20456:645:6", + "src": "24984:498:6", "statements": [ { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, - "id": 6649, + "id": 6983, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6646, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "20470:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20470:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6648, - "name": "trustedClaimManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "20484:19:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20470:33:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6658, - "nodeType": "IfStatement", - "src": "20466:186:6", - "trueBody": { - "id": 6657, - "nodeType": "Block", - "src": "20505:147:6", - "statements": [ - { - "eventCall": { + "arguments": [ + { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 6651, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6639, - "src": "20540:15:6", + "arguments": [ + { + "argumentTypes": null, + "id": 6973, + "name": "_syscoinBlockHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6951, + "src": "25093:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6972, + "name": "dblShaFlip", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7565, + "src": "25082:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 6974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25082:31:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, { "argumentTypes": null, - "id": 6652, - "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", + "id": 6975, + "name": "_syscoinBlockIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "20557:31:6", + "referencedDeclaration": 6953, + "src": "25115:18:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + { + "argumentTypes": null, + "id": 6976, + "name": "_syscoinBlockSiblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6956, + "src": "25135:21:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" } ], - "id": 6650, - "name": "ErrorSuperblock", + "id": 6971, + "name": "computeMerkle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "20524:15:6", + "referencedDeclaration": 4971, + "src": "25068:13:6", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256[] memory) pure returns (uint256)" } }, - "id": 6653, + "id": 6977, "isConstant": false, "isLValue": false, "isPure": false, @@ -57290,298 +66192,119 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20524:65:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6654, - "nodeType": "EmitStatement", - "src": "20519:70:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6655, - "name": "ERR_SUPERBLOCK_NOT_CLAIMMANAGER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4592, - "src": "20610:31:6", + "src": "25068:89:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "functionReturnParameters": 6645, - "id": 6656, - "nodeType": "Return", - "src": "20603:38:6" - } - ] - } - }, - { - "assignments": [ - 6660 - ], - "declarations": [ - { - "constant": false, - "id": 6660, - "name": "superblock", - "nodeType": "VariableDeclaration", - "scope": 6699, - "src": "20661:33:6", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" - }, - "typeName": { - "contractScope": null, - "id": 6659, - "name": "SuperblockInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "20661:14:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6664, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6661, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "20697:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" - } - }, - "id": 6663, - "indexExpression": { - "argumentTypes": null, - "id": 6662, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6639, - "src": "20709:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20697:28:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20661:64:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6665, - "name": "superblock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6660, - "src": "20739:10:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "20739:17:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6667, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "20760:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 6668, + ], + "id": 6970, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "InBattle", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20760:15:6", + "nodeType": "ElementaryTypeNameExpression", + "src": "25060:7:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" }, - "src": "20739:36:6", + "id": 6978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25060:98:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "nodeType": "BinaryOperation", - "operator": "&&", + "operator": "!=", "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - }, - "id": 6674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "expression": { "argumentTypes": null, - "expression": { + "baseExpression": { "argumentTypes": null, - "id": 6670, - "name": "superblock", + "id": 6979, + "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6660, - "src": "20779:10:6", + "referencedDeclaration": 5028, + "src": "25174:11:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 6671, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "20779:17:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { + "id": 6981, + "indexExpression": { "argumentTypes": null, - "id": 6672, - "name": "Status", + "id": 6980, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "20800:6:6", + "referencedDeclaration": 6958, + "src": "25186:15:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 6673, "isConstant": false, - "isLValue": false, - "isPure": true, + "isLValue": true, + "isPure": false, "lValueRequested": false, - "memberName": "SemiApproved", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20800:19:6", + "nodeType": "IndexAccess", + "src": "25174:28:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, - "src": "20779:40:6", + "id": 6982, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "blocksMerkleRoot", + "nodeType": "MemberAccess", + "referencedDeclaration": 8120, + "src": "25174:45:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "src": "20739:80:6", + "src": "25060:159:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6684, + "id": 6994, "nodeType": "IfStatement", - "src": "20735:221:6", + "src": "25056:324:6", "trueBody": { - "id": 6683, + "id": 6993, "nodeType": "Block", - "src": "20821:135:6", + "src": "25221:159:6", "statements": [ { "eventCall": { @@ -57589,12 +66312,55 @@ "arguments": [ { "argumentTypes": null, - "id": 6677, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6639, - "src": "20856:15:6", + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25316:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6985, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25308:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 6987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25308:10:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -57602,12 +66368,12 @@ }, { "argumentTypes": null, - "id": 6678, - "name": "ERR_SUPERBLOCK_BAD_STATUS", + "id": 6988, + "name": "ERR_SUPERBLOCK_MERKLE_ROOT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "20873:25:6", + "referencedDeclaration": 4676, + "src": "25320:26:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -57625,18 +66391,18 @@ "typeString": "uint256" } ], - "id": 6676, - "name": "ErrorSuperblock", + "id": 6984, + "name": "VerifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "20840:15:6", + "referencedDeclaration": 5074, + "src": "25290:17:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6679, + "id": 6989, "isConstant": false, "isLValue": false, "isPure": false, @@ -57644,34 +66410,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20840:59:6", + "src": "25290:57:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6680, + "id": 6990, "nodeType": "EmitStatement", - "src": "20835:64:6" + "src": "25285:62:6" }, { "expression": { "argumentTypes": null, - "id": 6681, - "name": "ERR_SUPERBLOCK_BAD_STATUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4514, - "src": "20920:25:6", + "hexValue": "30", + "id": 6991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25368:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - "functionReturnParameters": 6645, - "id": 6682, + "functionReturnParameters": 6969, + "id": 6992, "nodeType": "Return", - "src": "20913:32:6" + "src": "25361:8:6" } ] } @@ -57679,135 +66450,108 @@ { "expression": { "argumentTypes": null, - "id": 6690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { + "arguments": [ + { "argumentTypes": null, - "id": 6685, - "name": "superblock", + "id": 6996, + "name": "_txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6660, - "src": "20965:10:6", + "referencedDeclaration": 6960, + "src": "25405:8:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "id": 6687, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "20965:17:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { + { "argumentTypes": null, - "id": 6688, - "name": "Status", + "id": 6997, + "name": "_txIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "20985:6:6", + "referencedDeclaration": 6962, + "src": "25415:8:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", - "typeString": "type(enum SyscoinSuperblocksI.Status)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6998, + "name": "_txSiblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6965, + "src": "25425:11:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" } }, - "id": 6689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Invalid", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20985:14:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "src": "20965:34:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", - "typeString": "enum SyscoinSuperblocksI.Status" - } - }, - "id": 6691, - "nodeType": "ExpressionStatement", - "src": "20965:34:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ { "argumentTypes": null, - "id": 6693, - "name": "_superblockHash", + "id": 6999, + "name": "_syscoinBlockHeader", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6639, - "src": "21032:15:6", + "referencedDeclaration": 6951, + "src": "25438:19:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, { "argumentTypes": null, - "id": 6694, - "name": "_validator", + "id": 7000, + "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6641, - "src": "21049:10:6", + "referencedDeclaration": 6958, + "src": "25459:15:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" }, { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } ], - "id": 6692, - "name": "InvalidSuperblock", + "id": 6995, + "name": "verifyTx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5053, - "src": "21014:17:6", + "referencedDeclaration": 7541, + "src": "25396:8:6", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256,uint256[] memory,bytes memory,bytes32) returns (uint256)" } }, - "id": 6695, + "id": 7001, "isConstant": false, "isLValue": false, "isPure": false, @@ -57815,55 +66559,125 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21014:46:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6696, - "nodeType": "EmitStatement", - "src": "21009:51:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 6697, - "name": "ERR_SUPERBLOCK_OK", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "21077:17:6", + "src": "25396:79:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6645, - "id": 6698, + "functionReturnParameters": 6969, + "id": 7002, "nodeType": "Return", - "src": "21070:24:6" + "src": "25389:86:6" } ] }, "documentation": null, - "id": 6700, + "id": 7004, "implemented": true, "kind": "function", "modifiers": [], - "name": "invalidate", + "name": "verifySPVProofs", "nodeType": "FunctionDefinition", "parameters": { - "id": 6642, + "id": 6966, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6639, + "id": 6951, + "name": "_syscoinBlockHeader", + "nodeType": "VariableDeclaration", + "scope": 7004, + "src": "24722:32:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6950, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "24722:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6953, + "name": "_syscoinBlockIndex", + "nodeType": "VariableDeclaration", + "scope": 7004, + "src": "24764:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6952, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24764:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6956, + "name": "_syscoinBlockSiblings", + "nodeType": "VariableDeclaration", + "scope": 7004, + "src": "24797:35:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6954, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24797:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6955, + "length": null, + "nodeType": "ArrayTypeName", + "src": "24797:6:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6958, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 6700, - "src": "20387:23:6", + "scope": 7004, + "src": "24842:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57871,10 +66685,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6638, + "id": 6957, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "20387:7:6", + "src": "24842:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -57885,45 +66699,106 @@ }, { "constant": false, - "id": 6641, - "name": "_validator", + "id": 6960, + "name": "_txBytes", + "nodeType": "VariableDeclaration", + "scope": 7004, + "src": "24875:21:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6959, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "24875:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6962, + "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 6700, - "src": "20412:18:6", + "scope": 7004, + "src": "24906:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 6640, - "name": "address", + "id": 6961, + "name": "uint", "nodeType": "ElementaryTypeName", - "src": "20412:7:6", - "stateMutability": "nonpayable", + "src": "24906:4:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6965, + "name": "_txSiblings", + "nodeType": "VariableDeclaration", + "scope": 7004, + "src": "24929:25:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6963, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24929:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6964, + "length": null, + "nodeType": "ArrayTypeName", + "src": "24929:6:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" } }, "value": null, "visibility": "internal" } ], - "src": "20386:45:6" + "src": "24712:248:6" }, "returnParameters": { - "id": 6645, + "id": 6969, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6644, + "id": 6968, "name": "", "nodeType": "VariableDeclaration", - "scope": 6700, - "src": "20450:4:6", + "scope": 7004, + "src": "24978:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57931,10 +66806,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6643, + "id": 6967, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "20450:4:6", + "src": "24978:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -57944,359 +66819,1044 @@ "visibility": "internal" } ], - "src": "20449:6:6" + "src": "24977:6:6" }, - "scope": 7493, - "src": "20367:734:6", + "scope": 7851, + "src": "24688:794:6", "stateMutability": "nonpayable", - "superFunction": 7737, - "visibility": "external" + "superFunction": null, + "visibility": "private" }, { "body": { - "id": 6754, + "id": 7113, "nodeType": "Block", - "src": "21918:498:6", + "src": "26665:919:6", "statements": [ + { + "assignments": [ + 7026 + ], + "declarations": [ + { + "constant": false, + "id": 7026, + "name": "txHash", + "nodeType": "VariableDeclaration", + "scope": 7113, + "src": "26675:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7025, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26675:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7036, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7028, + "name": "_syscoinBlockHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7013, + "src": "26705:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 7029, + "name": "_syscoinBlockIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7015, + "src": "26726:18:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7030, + "name": "_syscoinBlockSiblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "26746:21:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "argumentTypes": null, + "id": 7031, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7020, + "src": "26769:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7032, + "name": "_txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7006, + "src": "26786:8:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 7033, + "name": "_txIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "26796:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7034, + "name": "_txSiblings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "26806:11:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 7027, + "name": "verifySPVProofs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7004, + "src": "26689:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256,uint256[] memory,bytes32,bytes memory,uint256,uint256[] memory) returns (uint256)" + } + }, + "id": 7035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26689:129:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26675:143:6" + }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 6734, + "id": 7039, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6724, - "name": "_syscoinBlockHeader", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6702, - "src": "22027:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 6723, - "name": "dblShaFlip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7207, - "src": "22016:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory) pure returns (uint256)" - } - }, - "id": 6725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22016:31:6", + "id": 7037, + "name": "txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7026, + "src": "26832:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7038, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26842:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "26832:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7102, + "nodeType": "IfStatement", + "src": "26828:655:6", + "trueBody": { + "id": 7101, + "nodeType": "Block", + "src": "26845:638:6", + "statements": [ + { + "assignments": [ + 7041 + ], + "declarations": [ + { + "constant": false, + "id": 7041, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 7101, + "src": "26859:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7040, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26859:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7042, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "26859:10:6" + }, + { + "assignments": [ + 7044 + ], + "declarations": [ + { + "constant": false, + "id": 7044, + "name": "destinationAddress", + "nodeType": "VariableDeclaration", + "scope": 7101, + "src": "26883:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7043, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26883:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7045, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "26883:26:6" + }, + { + "assignments": [ + 7047 + ], + "declarations": [ + { + "constant": false, + "id": 7047, + "name": "ret", + "nodeType": "VariableDeclaration", + "scope": 7101, + "src": "26923:8:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7046, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26923:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - { - "argumentTypes": null, - "id": 6726, - "name": "_syscoinBlockIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6704, - "src": "22049:18:6", + "value": null, + "visibility": "internal" + } + ], + "id": 7048, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "26923:8:6" + }, + { + "assignments": [ + 7050 + ], + "declarations": [ + { + "constant": false, + "id": 7050, + "name": "assetGUID", + "nodeType": "VariableDeclaration", + "scope": 7101, + "src": "26945:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 7049, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "26945:6:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - { - "argumentTypes": null, - "id": 6727, - "name": "_syscoinBlockSiblings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6707, - "src": "22069:21:6", + "value": null, + "visibility": "internal" + } + ], + "id": 7051, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "26945:16:6" + }, + { + "assignments": [ + 7053 + ], + "declarations": [ + { + "constant": false, + "id": 7053, + "name": "erc20ContractAddress", + "nodeType": "VariableDeclaration", + "scope": 7101, + "src": "26975:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7052, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26975:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" + "typeIdentifier": "t_address", + "typeString": "address" } - } - ], - "expression": { - "argumentTypes": [ + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7054, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "26975:28:6" + }, + { + "assignments": [ + 7056 + ], + "declarations": [ + { + "constant": false, + "id": 7056, + "name": "precision", + "nodeType": "VariableDeclaration", + "scope": 7101, + "src": "27017:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 7055, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "27017:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7057, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "27017:15:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "argumentTypes": null, + "id": 7058, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "27047:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "argumentTypes": null, + "id": 7059, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7041, + "src": "27052:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" + "argumentTypes": null, + "id": 7060, + "name": "destinationAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7044, + "src": "27059:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7061, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7050, + "src": "27079:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 7062, + "name": "precision", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7056, + "src": "27090:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 7063, + "name": "erc20ContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7053, + "src": "27101:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } } ], - "id": 6722, - "name": "computeMerkle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4962, - "src": "22002:13:6", + "id": 7064, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "27046:76:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256[] memory) pure returns (uint256)" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", + "typeString": "tuple(uint256,uint256,address,uint32,uint8,address)" } }, - "id": 6728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22002:89:6", + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7066, + "name": "_txBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7006, + "src": "27137:8:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7065, + "name": "parseBurnTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7392, + "src": "27125:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", + "typeString": "function (bytes memory) pure returns (uint256,uint256,address,uint32,uint8,address)" + } + }, + "id": 7067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27125:21:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", + "typeString": "tuple(uint256,uint256,address,uint32,uint8,address)" + } + }, + "src": "27046:100:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } - ], - "id": 6721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21994:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" }, - "typeName": "bytes32" + "id": 7069, + "nodeType": "ExpressionStatement", + "src": "27046:100:6" }, - "id": 6729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21994:98:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6730, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "22108:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" - } - }, - "id": 6732, - "indexExpression": { + { + "condition": { "argumentTypes": null, - "id": 6731, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6709, - "src": "22120:15:6", + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7070, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "27163:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27170:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "27163:8:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22108:28:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + "falseBody": null, + "id": 7083, + "nodeType": "IfStatement", + "src": "27160:116:6", + "trueBody": { + "id": 7082, + "nodeType": "Block", + "src": "27172:104:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7075, + "name": "txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7026, + "src": "27220:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7074, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "27212:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 7076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27212:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7077, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "27229:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7073, + "name": "RelayTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5080, + "src": "27195:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 7078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27195:38:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7079, + "nodeType": "EmitStatement", + "src": "27190:43:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7080, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "27258:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7024, + "id": 7081, + "nodeType": "Return", + "src": "27251:10:6" + } + ] } }, - "id": 6733, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "blocksMerkleRoot", - "nodeType": "MemberAccess", - "referencedDeclaration": 7619, - "src": "22108:45:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "21994:159:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6745, - "nodeType": "IfStatement", - "src": "21990:324:6", - "trueBody": { - "id": 6744, - "nodeType": "Block", - "src": "22155:159:6", - "statements": [ { - "eventCall": { + "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "arguments": [ - { + "id": 7087, + "name": "txHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7026, + "src": "27328:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7088, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7041, + "src": "27336:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7089, + "name": "destinationAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7044, + "src": "27343:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "hexValue": "30", - "id": 6737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22250:1:6", - "subdenomination": null, + "id": 7090, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "27363:11:6", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } - ], - "id": 6736, + }, + "id": 7092, + "indexExpression": { + "argumentTypes": null, + "id": 7091, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7020, + "src": "27375:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, "isConstant": false, - "isLValue": false, - "isPure": true, + "isLValue": true, + "isPure": false, "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22242:7:6", + "nodeType": "IndexAccess", + "src": "27363:28:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } }, - "id": 6738, + "id": 7093, "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", + "isLValue": true, + "isPure": false, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22242:10:6", + "memberName": "submitter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8130, + "src": "27363:38:6", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "id": 6739, - "name": "ERR_SUPERBLOCK_MERKLE_ROOT", + "id": 7094, + "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4667, - "src": "22254:26:6", + "referencedDeclaration": 7053, + "src": "27403:20:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7095, + "name": "assetGUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7050, + "src": "27425:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 7096, + "name": "precision", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7056, + "src": "27436:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" } ], - "id": 6735, - "name": "VerifyTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5065, - "src": "22224:17:6", + "expression": { + "argumentTypes": null, + "id": 7084, + "name": "syscoinERC20Manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5032, + "src": "27289:19:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", + "typeString": "contract SyscoinTransactionProcessor" + } + }, + "id": 7086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "processTransaction", + "nodeType": "MemberAccess", + "referencedDeclaration": 8001, + "src": "27289:38:6", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_uint32_$_t_uint8_$returns$__$", + "typeString": "function (uint256,uint256,address,address,address,uint32,uint8) external" } }, - "id": 6740, + "id": 7097, "isConstant": false, "isLValue": false, "isPure": false, @@ -58304,148 +67864,135 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22224:57:6", + "src": "27289:157:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6741, - "nodeType": "EmitStatement", - "src": "22219:62:6" + "id": 7098, + "nodeType": "ExpressionStatement", + "src": "27289:157:6" }, { "expression": { "argumentTypes": null, - "hexValue": "30", - "id": 6742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22302:1:6", - "subdenomination": null, + "id": 7099, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7041, + "src": "27467:5:6", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "functionReturnParameters": 6720, - "id": 6743, + "functionReturnParameters": 7024, + "id": 7100, "nodeType": "Return", - "src": "22295:8:6" + "src": "27460:12:6" } ] } }, { - "expression": { + "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 6747, - "name": "_txBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6711, - "src": "22339:8:6", + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 7105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27522:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 7104, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "27514:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 7106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27514:10:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, { "argumentTypes": null, - "id": 6748, - "name": "_txIndex", + "id": 7107, + "name": "ERR_RELAY_VERIFY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6713, - "src": "22349:8:6", + "referencedDeclaration": 4679, + "src": "27526:16:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - { - "argumentTypes": null, - "id": 6749, - "name": "_txSiblings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6716, - "src": "22359:11:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 6750, - "name": "_syscoinBlockHeader", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6702, - "src": "22372:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 6751, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6709, - "src": "22393:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" } ], - "id": 6746, - "name": "verifyTx", + "id": 7103, + "name": "RelayTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7183, - "src": "22330:8:6", + "referencedDeclaration": 5080, + "src": "27497:16:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256,uint256[] memory,bytes memory,bytes32) returns (uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" } }, - "id": 6752, + "id": 7108, "isConstant": false, "isLValue": false, "isPure": false, @@ -58453,37 +68000,72 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22330:79:6", + "src": "27497:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7109, + "nodeType": "EmitStatement", + "src": "27492:51:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7110, + "name": "ERR_RELAY_VERIFY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4679, + "src": "27560:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7111, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "27559:18:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6720, - "id": 6753, + "functionReturnParameters": 7024, + "id": 7112, "nodeType": "Return", - "src": "22323:86:6" + "src": "27553:24:6" } ] }, "documentation": null, - "id": 6755, + "id": 7114, "implemented": true, "kind": "function", "modifiers": [], - "name": "verifySPVProofs", + "name": "relayTx", "nodeType": "FunctionDefinition", "parameters": { - "id": 6717, + "id": 7021, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6702, - "name": "_syscoinBlockHeader", + "id": 7006, + "name": "_txBytes", "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21656:32:6", + "scope": 7114, + "src": "26404:21:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -58491,10 +68073,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6701, + "id": 7005, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "21656:5:6", + "src": "26404:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -58505,11 +68087,11 @@ }, { "constant": false, - "id": 6704, - "name": "_syscoinBlockIndex", + "id": 7008, + "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21698:23:6", + "scope": 7114, + "src": "26435:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -58517,10 +68099,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6703, + "id": 7007, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "21698:4:6", + "src": "26435:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -58531,11 +68113,11 @@ }, { "constant": false, - "id": 6707, - "name": "_syscoinBlockSiblings", + "id": 7011, + "name": "_txSiblings", "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21731:35:6", + "scope": 7114, + "src": "26458:25:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -58544,19 +68126,19 @@ }, "typeName": { "baseType": { - "id": 6705, + "id": 7009, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "21731:4:6", + "src": "26458:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6706, + "id": 7010, "length": null, "nodeType": "ArrayTypeName", - "src": "21731:6:6", + "src": "26458:6:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -58567,37 +68149,11 @@ }, { "constant": false, - "id": 6709, - "name": "_superblockHash", - "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21776:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6708, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "21776:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6711, - "name": "_txBytes", + "id": 7013, + "name": "_syscoinBlockHeader", "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21809:21:6", + "scope": 7114, + "src": "26493:32:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -58605,10 +68161,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6710, + "id": 7012, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "21809:5:6", + "src": "26493:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -58619,11 +68175,11 @@ }, { "constant": false, - "id": 6713, - "name": "_txIndex", + "id": 7015, + "name": "_syscoinBlockIndex", "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21840:13:6", + "scope": 7114, + "src": "26535:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -58631,10 +68187,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6712, + "id": 7014, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "21840:4:6", + "src": "26535:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -58645,11 +68201,11 @@ }, { "constant": false, - "id": 6716, - "name": "_txSiblings", + "id": 7018, + "name": "_syscoinBlockSiblings", "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21863:25:6", + "scope": 7114, + "src": "26568:35:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -58658,19 +68214,19 @@ }, "typeName": { "baseType": { - "id": 6714, + "id": 7016, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "21863:4:6", + "src": "26568:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6715, + "id": 7017, "length": null, "nodeType": "ArrayTypeName", - "src": "21863:6:6", + "src": "26568:6:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -58678,21 +68234,47 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 7020, + "name": "_superblockHash", + "nodeType": "VariableDeclaration", + "scope": 7114, + "src": "26613:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7019, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "26613:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "21646:248:6" + "src": "26394:248:6" }, "returnParameters": { - "id": 6720, + "id": 7024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6719, + "id": 7023, "name": "", "nodeType": "VariableDeclaration", - "scope": 6755, - "src": "21912:4:6", + "scope": 7114, + "src": "26659:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -58700,10 +68282,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6718, + "id": 7022, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "21912:4:6", + "src": "26659:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -58713,32 +68295,32 @@ "visibility": "internal" } ], - "src": "21911:6:6" + "src": "26658:6:6" }, - "scope": 7493, - "src": "21622:794:6", + "scope": 7851, + "src": "26378:1206:6", "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" + "superFunction": 8202, + "visibility": "public" }, { "body": { - "id": 6864, + "id": 7220, "nodeType": "Block", - "src": "23599:919:6", + "src": "28775:911:6", "statements": [ { "assignments": [ - 6777 + 7136 ], "declarations": [ { "constant": false, - "id": 6777, + "id": 7136, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 6864, - "src": "23609:11:6", + "scope": 7220, + "src": "28785:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -58746,10 +68328,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6776, + "id": 7135, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "23609:4:6", + "src": "28785:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -58759,18 +68341,18 @@ "visibility": "internal" } ], - "id": 6787, + "id": 7146, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 6779, + "id": 7138, "name": "_syscoinBlockHeader", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6764, - "src": "23639:19:6", + "referencedDeclaration": 7123, + "src": "28815:19:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -58778,12 +68360,12 @@ }, { "argumentTypes": null, - "id": 6780, + "id": 7139, "name": "_syscoinBlockIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6766, - "src": "23660:18:6", + "referencedDeclaration": 7125, + "src": "28836:18:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -58791,12 +68373,12 @@ }, { "argumentTypes": null, - "id": 6781, + "id": 7140, "name": "_syscoinBlockSiblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6769, - "src": "23680:21:6", + "referencedDeclaration": 7128, + "src": "28856:21:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -58804,12 +68386,12 @@ }, { "argumentTypes": null, - "id": 6782, + "id": 7141, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6771, - "src": "23703:15:6", + "referencedDeclaration": 7130, + "src": "28879:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -58817,12 +68399,12 @@ }, { "argumentTypes": null, - "id": 6783, + "id": 7142, "name": "_txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6757, - "src": "23720:8:6", + "referencedDeclaration": 7116, + "src": "28896:8:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -58830,12 +68412,12 @@ }, { "argumentTypes": null, - "id": 6784, + "id": 7143, "name": "_txIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6759, - "src": "23730:8:6", + "referencedDeclaration": 7118, + "src": "28906:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -58843,12 +68425,12 @@ }, { "argumentTypes": null, - "id": 6785, + "id": 7144, "name": "_txSiblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6762, - "src": "23740:11:6", + "referencedDeclaration": 7121, + "src": "28916:11:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -58886,18 +68468,18 @@ "typeString": "uint256[] memory" } ], - "id": 6778, + "id": 7137, "name": "verifySPVProofs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6755, - "src": "23623:15:6", + "referencedDeclaration": 7004, + "src": "28799:15:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes memory,uint256,uint256[] memory,bytes32,bytes memory,uint256,uint256[] memory) returns (uint256)" } }, - "id": 6786, + "id": 7145, "isConstant": false, "isLValue": false, "isPure": false, @@ -58905,14 +68487,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "23623:129:6", + "src": "28799:129:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "23609:143:6" + "src": "28785:143:6" }, { "condition": { @@ -58921,19 +68503,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6790, + "id": 7149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6788, + "id": 7147, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6777, - "src": "23766:6:6", + "referencedDeclaration": 7136, + "src": "28942:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -58944,14 +68526,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6789, + "id": 7148, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "23776:1:6", + "src": "28952:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -58959,108 +68541,33 @@ }, "value": "0" }, - "src": "23766:11:6", + "src": "28942:11:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6853, + "id": 7209, "nodeType": "IfStatement", - "src": "23762:655:6", + "src": "28938:647:6", "trueBody": { - "id": 6852, + "id": 7208, "nodeType": "Block", - "src": "23779:638:6", + "src": "28955:630:6", "statements": [ { "assignments": [ - 6792 - ], - "declarations": [ - { - "constant": false, - "id": 6792, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6852, - "src": "23793:10:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6791, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "23793:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6793, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "23793:10:6" - }, - { - "assignments": [ - 6795 - ], - "declarations": [ - { - "constant": false, - "id": 6795, - "name": "destinationAddress", - "nodeType": "VariableDeclaration", - "scope": 6852, - "src": "23817:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6794, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23817:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6796, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "23817:26:6" - }, - { - "assignments": [ - 6798 + 7151 ], "declarations": [ { "constant": false, - "id": 6798, + "id": 7151, "name": "ret", "nodeType": "VariableDeclaration", - "scope": 6852, - "src": "23857:8:6", + "scope": 7208, + "src": "28969:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59068,10 +68575,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6797, + "id": 7150, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "23857:4:6", + "src": "28969:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59081,23 +68588,23 @@ "visibility": "internal" } ], - "id": 6799, + "id": 7152, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "23857:8:6" + "src": "28969:8:6" }, { "assignments": [ - 6801 + 7154 ], "declarations": [ { "constant": false, - "id": 6801, + "id": 7154, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 6852, - "src": "23879:16:6", + "scope": 7208, + "src": "28991:16:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59105,10 +68612,10 @@ "typeString": "uint32" }, "typeName": { - "id": 6800, + "id": 7153, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "23879:6:6", + "src": "28991:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -59118,23 +68625,23 @@ "visibility": "internal" } ], - "id": 6802, + "id": 7155, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "23879:16:6" + "src": "28991:16:6" }, { "assignments": [ - 6804 + 7157 ], "declarations": [ { "constant": false, - "id": 6804, + "id": 7157, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 6852, - "src": "23909:28:6", + "scope": 7208, + "src": "29021:28:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59142,10 +68649,10 @@ "typeString": "address" }, "typeName": { - "id": 6803, + "id": 7156, "name": "address", "nodeType": "ElementaryTypeName", - "src": "23909:7:6", + "src": "29021:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -59156,52 +68663,15 @@ "visibility": "internal" } ], - "id": 6805, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "23909:28:6" - }, - { - "assignments": [ - 6807 - ], - "declarations": [ - { - "constant": false, - "id": 6807, - "name": "precision", - "nodeType": "VariableDeclaration", - "scope": 6852, - "src": "23951:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 6806, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "23951:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6808, + "id": 7158, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "23951:15:6" + "src": "29021:28:6" }, { "expression": { "argumentTypes": null, - "id": 6819, + "id": 7166, "isConstant": false, "isLValue": false, "isPure": false, @@ -59211,25 +68681,12 @@ "components": [ { "argumentTypes": null, - "id": 6809, + "id": 7159, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6798, - "src": "23981:3:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6810, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6792, - "src": "23986:5:6", + "referencedDeclaration": 7151, + "src": "29064:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59237,25 +68694,12 @@ }, { "argumentTypes": null, - "id": 6811, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6795, - "src": "23993:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6812, + "id": 7160, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6801, - "src": "24013:9:6", + "referencedDeclaration": 7154, + "src": "29069:9:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -59263,42 +68707,29 @@ }, { "argumentTypes": null, - "id": 6813, - "name": "precision", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6807, - "src": "24024:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 6814, + "id": 7161, "name": "erc20ContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6804, - "src": "24035:20:6", + "referencedDeclaration": 7157, + "src": "29080:20:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 6815, + "id": 7162, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "23980:76:6", + "src": "29063:38:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", - "typeString": "tuple(uint256,uint256,address,uint32,uint8,address)" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$_t_address_$", + "typeString": "tuple(uint256,uint32,address)" } }, "nodeType": "Assignment", @@ -59308,12 +68739,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6817, + "id": 7164, "name": "_txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6757, - "src": "24071:8:6", + "referencedDeclaration": 7116, + "src": "29117:8:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -59327,18 +68758,18 @@ "typeString": "bytes memory" } ], - "id": 6816, - "name": "parseBurnTx", + "id": 7163, + "name": "parseAssetTx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7036, - "src": "24059:11:6", + "referencedDeclaration": 5897, + "src": "29104:12:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", - "typeString": "function (bytes memory) pure returns (uint256,uint256,address,uint32,uint8,address)" + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_uint32_$_t_address_$", + "typeString": "function (bytes memory) view returns (uint256,uint32,address)" } }, - "id": 6818, + "id": 7165, "isConstant": false, "isLValue": false, "isPure": false, @@ -59346,21 +68777,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "24059:21:6", + "src": "29104:22:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", - "typeString": "tuple(uint256,uint256,address,uint32,uint8,address)" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$_t_address_$", + "typeString": "tuple(uint256,uint32,address)" } }, - "src": "23980:100:6", + "src": "29063:63:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6820, + "id": 7167, "nodeType": "ExpressionStatement", - "src": "23980:100:6" + "src": "29063:63:6" }, { "condition": { @@ -59369,19 +68800,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6823, + "id": 7170, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6821, + "id": 7168, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6798, - "src": "24097:3:6", + "referencedDeclaration": 7151, + "src": "29143:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59392,14 +68823,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6822, + "id": 7169, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "24104:1:6", + "src": "29150:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -59407,20 +68838,20 @@ }, "value": "0" }, - "src": "24097:8:6", + "src": "29143:8:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6834, + "id": 7181, "nodeType": "IfStatement", - "src": "24094:116:6", + "src": "29140:116:6", "trueBody": { - "id": 6833, + "id": 7180, "nodeType": "Block", - "src": "24106:104:6", + "src": "29152:104:6", "statements": [ { "eventCall": { @@ -59431,12 +68862,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6826, + "id": 7173, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6777, - "src": "24154:6:6", + "referencedDeclaration": 7136, + "src": "29200:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59450,20 +68881,20 @@ "typeString": "uint256" } ], - "id": 6825, + "id": 7172, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "24146:7:6", + "src": "29192:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": "bytes32" }, - "id": 6827, + "id": 7174, "isConstant": false, "isLValue": false, "isPure": false, @@ -59471,7 +68902,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "24146:15:6", + "src": "29192:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -59479,12 +68910,12 @@ }, { "argumentTypes": null, - "id": 6828, + "id": 7175, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6798, - "src": "24163:3:6", + "referencedDeclaration": 7151, + "src": "29209:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59502,18 +68933,18 @@ "typeString": "uint256" } ], - "id": 6824, + "id": 7171, "name": "RelayTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5071, - "src": "24129:16:6", + "referencedDeclaration": 5080, + "src": "29175:16:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6829, + "id": 7176, "isConstant": false, "isLValue": false, "isPure": false, @@ -59521,158 +68952,276 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "24129:38:6", + "src": "29175:38:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6830, + "id": 7177, "nodeType": "EmitStatement", - "src": "24124:43:6" + "src": "29170:43:6" }, { "expression": { "argumentTypes": null, - "id": 6831, + "id": 7178, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6798, - "src": "24192:3:6", + "referencedDeclaration": 7151, + "src": "29238:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6775, - "id": 6832, + "functionReturnParameters": 7134, + "id": 7179, "nodeType": "Return", - "src": "24185:10:6" + "src": "29231:10:6" } ] } }, { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6838, - "name": "txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6777, - "src": "24262:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6839, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6792, - "src": "24270:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "assignments": [ + 7183 + ], + "declarations": [ + { + "constant": false, + "id": 7183, + "name": "height", + "nodeType": "VariableDeclaration", + "scope": 7208, + "src": "29269:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, - { - "argumentTypes": null, - "id": 6840, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6795, - "src": "24277:18:6", + "typeName": { + "id": 7182, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "29269:6:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, - { + "value": null, + "visibility": "internal" + } + ], + "id": 7190, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 7189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "expression": { + "baseExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6841, - "name": "superblocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "24297:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", - "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" - } - }, - "id": 6843, - "indexExpression": { - "argumentTypes": null, - "id": 6842, - "name": "_superblockHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6771, - "src": "24309:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24297:28:6", + "id": 7184, + "name": "superblocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5028, + "src": "29285:11:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", - "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", + "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" + } + }, + "id": 7186, + "indexExpression": { + "argumentTypes": null, + "id": 7185, + "name": "_superblockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7130, + "src": "29297:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 6844, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 7629, - "src": "24297:38:6", + "nodeType": "IndexAccess", + "src": "29285:28:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", + "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" + } + }, + "id": 7187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "height", + "nodeType": "MemberAccess", + "referencedDeclaration": 8134, + "src": "29285:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3630", + "id": 7188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29321:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + }, + "value": "60" + }, + "src": "29285:38:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29269:54:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 7195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7191, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7183, + "src": "29337:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7193, + "name": "_syscoinBlockIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7125, + "src": "29354:18:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29347:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": "uint32" }, + "id": 7194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29347:26:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "29337:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 7196, + "nodeType": "ExpressionStatement", + "src": "29337:36:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ { "argumentTypes": null, - "id": 6845, - "name": "erc20ContractAddress", + "id": 7200, + "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6804, - "src": "24337:20:6", + "referencedDeclaration": 7136, + "src": "29504:6:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, { "argumentTypes": null, - "id": 6846, + "id": 7201, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6801, - "src": "24359:9:6", + "referencedDeclaration": 7154, + "src": "29512:9:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -59680,15 +69229,28 @@ }, { "argumentTypes": null, - "id": 6847, - "name": "precision", + "id": 7202, + "name": "height", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6807, - "src": "24370:9:6", + "referencedDeclaration": 7183, + "src": "29523:6:6", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 7203, + "name": "erc20ContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7157, + "src": "29531:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } } ], @@ -59699,58 +69261,46 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, { "typeIdentifier": "t_uint32", "typeString": "uint32" }, { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" } ], "expression": { "argumentTypes": null, - "id": 6835, + "id": 7197, "name": "syscoinERC20Manager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5023, - "src": "24223:19:6", + "referencedDeclaration": 5032, + "src": "29471:19:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", "typeString": "contract SyscoinTransactionProcessor" } }, - "id": 6837, + "id": 7199, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "processTransaction", + "memberName": "processAsset", "nodeType": "MemberAccess", - "referencedDeclaration": 7512, - "src": "24223:38:6", + "referencedDeclaration": 8046, + "src": "29471:32:6", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_uint32_$_t_uint8_$returns$__$", - "typeString": "function (uint256,uint256,address,address,address,uint32,uint8) external" + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint32_$_t_uint32_$_t_address_$returns$__$", + "typeString": "function (uint256,uint32,uint32,address) external" } }, - "id": 6848, + "id": 7204, "isConstant": false, "isLValue": false, "isPure": false, @@ -59758,34 +69308,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "24223:157:6", + "src": "29471:81:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6849, + "id": 7205, "nodeType": "ExpressionStatement", - "src": "24223:157:6" + "src": "29471:81:6" }, { "expression": { "argumentTypes": null, - "id": 6850, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6792, - "src": "24401:5:6", + "hexValue": "30", + "id": 7206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29573:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - "functionReturnParameters": 6775, - "id": 6851, + "functionReturnParameters": 7134, + "id": 7207, "nodeType": "Return", - "src": "24394:12:6" + "src": "29566:8:6" } ] } @@ -59800,14 +69355,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 6856, + "id": 7212, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "24456:1:6", + "src": "29624:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -59823,20 +69378,20 @@ "typeString": "int_const 0" } ], - "id": 6855, + "id": 7211, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "24448:7:6", + "src": "29616:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": "bytes32" }, - "id": 6857, + "id": 7213, "isConstant": false, "isLValue": false, "isPure": true, @@ -59844,7 +69399,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "24448:10:6", + "src": "29616:10:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -59852,12 +69407,12 @@ }, { "argumentTypes": null, - "id": 6858, + "id": 7214, "name": "ERR_RELAY_VERIFY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4670, - "src": "24460:16:6", + "referencedDeclaration": 4679, + "src": "29628:16:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59875,18 +69430,18 @@ "typeString": "uint256" } ], - "id": 6854, + "id": 7210, "name": "RelayTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5071, - "src": "24431:16:6", + "referencedDeclaration": 5080, + "src": "29599:16:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6859, + "id": 7215, "isConstant": false, "isLValue": false, "isPure": false, @@ -59894,15 +69449,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "24431:46:6", + "src": "29599:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6860, + "id": 7216, "nodeType": "EmitStatement", - "src": "24426:51:6" + "src": "29594:51:6" }, { "expression": { @@ -59910,56 +69465,56 @@ "components": [ { "argumentTypes": null, - "id": 6861, + "id": 7217, "name": "ERR_RELAY_VERIFY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4670, - "src": "24494:16:6", + "referencedDeclaration": 4679, + "src": "29662:16:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 6862, + "id": 7218, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "24493:18:6", + "src": "29661:18:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6775, - "id": 6863, + "functionReturnParameters": 7134, + "id": 7219, "nodeType": "Return", - "src": "24487:24:6" + "src": "29655:24:6" } ] }, "documentation": null, - "id": 6865, + "id": 7221, "implemented": true, "kind": "function", "modifiers": [], - "name": "relayTx", + "name": "relayAssetTx", "nodeType": "FunctionDefinition", "parameters": { - "id": 6772, + "id": 7131, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6757, + "id": 7116, "name": "_txBytes", "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23338:21:6", + "scope": 7221, + "src": "28514:21:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -59967,10 +69522,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6756, + "id": 7115, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "23338:5:6", + "src": "28514:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -59981,11 +69536,11 @@ }, { "constant": false, - "id": 6759, + "id": 7118, "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23369:13:6", + "scope": 7221, + "src": "28545:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59993,10 +69548,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6758, + "id": 7117, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "23369:4:6", + "src": "28545:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60007,11 +69562,11 @@ }, { "constant": false, - "id": 6762, + "id": 7121, "name": "_txSiblings", "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23392:25:6", + "scope": 7221, + "src": "28568:25:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -60020,19 +69575,19 @@ }, "typeName": { "baseType": { - "id": 6760, + "id": 7119, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "23392:4:6", + "src": "28568:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6761, + "id": 7120, "length": null, "nodeType": "ArrayTypeName", - "src": "23392:6:6", + "src": "28568:6:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -60043,11 +69598,11 @@ }, { "constant": false, - "id": 6764, + "id": 7123, "name": "_syscoinBlockHeader", "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23427:32:6", + "scope": 7221, + "src": "28603:32:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -60055,10 +69610,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6763, + "id": 7122, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "23427:5:6", + "src": "28603:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -60069,11 +69624,11 @@ }, { "constant": false, - "id": 6766, + "id": 7125, "name": "_syscoinBlockIndex", "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23469:23:6", + "scope": 7221, + "src": "28645:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60081,10 +69636,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6765, + "id": 7124, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "23469:4:6", + "src": "28645:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60095,11 +69650,11 @@ }, { "constant": false, - "id": 6769, + "id": 7128, "name": "_syscoinBlockSiblings", "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23502:35:6", + "scope": 7221, + "src": "28678:35:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -60108,19 +69663,19 @@ }, "typeName": { "baseType": { - "id": 6767, + "id": 7126, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "23502:4:6", + "src": "28678:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6768, + "id": 7127, "length": null, "nodeType": "ArrayTypeName", - "src": "23502:6:6", + "src": "28678:6:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -60131,11 +69686,11 @@ }, { "constant": false, - "id": 6771, + "id": 7130, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23547:23:6", + "scope": 7221, + "src": "28723:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60143,10 +69698,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6770, + "id": 7129, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23547:7:6", + "src": "28723:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -60156,19 +69711,19 @@ "visibility": "internal" } ], - "src": "23328:248:6" + "src": "28504:248:6" }, "returnParameters": { - "id": 6775, + "id": 7134, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6774, + "id": 7133, "name": "", "nodeType": "VariableDeclaration", - "scope": 6865, - "src": "23593:4:6", + "scope": 7221, + "src": "28769:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60176,10 +69731,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6773, + "id": 7132, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "23593:4:6", + "src": "28769:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60189,32 +69744,32 @@ "visibility": "internal" } ], - "src": "23592:6:6" + "src": "28768:6:6" }, - "scope": 7493, - "src": "23312:1206:6", + "scope": 7851, + "src": "28483:1203:6", "stateMutability": "nonpayable", - "superFunction": 7701, + "superFunction": 8311, "visibility": "public" }, { "body": { - "id": 6948, + "id": 7304, "nodeType": "Block", - "src": "25517:844:6", + "src": "30685:844:6", "statements": [ { "assignments": [ - 6887 + 7243 ], "declarations": [ { "constant": false, - "id": 6887, + "id": 7243, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 6948, - "src": "25527:11:6", + "scope": 7304, + "src": "30695:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60222,10 +69777,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6886, + "id": 7242, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "25527:4:6", + "src": "30695:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60235,18 +69790,18 @@ "visibility": "internal" } ], - "id": 6897, + "id": 7253, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 6889, + "id": 7245, "name": "_syscoinBlockHeader", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6874, - "src": "25557:19:6", + "referencedDeclaration": 7230, + "src": "30725:19:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -60254,12 +69809,12 @@ }, { "argumentTypes": null, - "id": 6890, + "id": 7246, "name": "_syscoinBlockIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "25578:18:6", + "referencedDeclaration": 7232, + "src": "30746:18:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60267,12 +69822,12 @@ }, { "argumentTypes": null, - "id": 6891, + "id": 7247, "name": "_syscoinBlockSiblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6879, - "src": "25598:21:6", + "referencedDeclaration": 7235, + "src": "30766:21:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -60280,12 +69835,12 @@ }, { "argumentTypes": null, - "id": 6892, + "id": 7248, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6881, - "src": "25621:15:6", + "referencedDeclaration": 7237, + "src": "30789:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -60293,12 +69848,12 @@ }, { "argumentTypes": null, - "id": 6893, + "id": 7249, "name": "_txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6867, - "src": "25638:8:6", + "referencedDeclaration": 7223, + "src": "30806:8:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -60306,12 +69861,12 @@ }, { "argumentTypes": null, - "id": 6894, + "id": 7250, "name": "_txIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6869, - "src": "25648:8:6", + "referencedDeclaration": 7225, + "src": "30816:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60319,12 +69874,12 @@ }, { "argumentTypes": null, - "id": 6895, + "id": 7251, "name": "_txSiblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6872, - "src": "25658:11:6", + "referencedDeclaration": 7228, + "src": "30826:11:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -60362,18 +69917,18 @@ "typeString": "uint256[] memory" } ], - "id": 6888, + "id": 7244, "name": "verifySPVProofs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6755, - "src": "25541:15:6", + "referencedDeclaration": 7004, + "src": "30709:15:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes memory,uint256,uint256[] memory,bytes32,bytes memory,uint256,uint256[] memory) returns (uint256)" } }, - "id": 6896, + "id": 7252, "isConstant": false, "isLValue": false, "isPure": false, @@ -60381,14 +69936,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "25541:129:6", + "src": "30709:129:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "25527:143:6" + "src": "30695:143:6" }, { "condition": { @@ -60397,19 +69952,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6900, + "id": 7256, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6898, + "id": 7254, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6887, - "src": "25684:6:6", + "referencedDeclaration": 7243, + "src": "30852:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60420,14 +69975,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6899, + "id": 7255, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "25694:1:6", + "src": "30862:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -60435,33 +69990,33 @@ }, "value": "0" }, - "src": "25684:11:6", + "src": "30852:11:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6940, + "id": 7296, "nodeType": "IfStatement", - "src": "25680:558:6", + "src": "30848:558:6", "trueBody": { - "id": 6939, + "id": 7295, "nodeType": "Block", - "src": "25697:541:6", + "src": "30865:541:6", "statements": [ { "assignments": [ - 6902 + 7258 ], "declarations": [ { "constant": false, - "id": 6902, + "id": 7258, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 6939, - "src": "25711:23:6", + "scope": 7295, + "src": "30879:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60469,10 +70024,10 @@ "typeString": "uint32" }, "typeName": { - "id": 6901, + "id": 7257, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "25711:6:6", + "src": "30879:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -60482,23 +70037,23 @@ "visibility": "internal" } ], - "id": 6903, + "id": 7259, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "25711:23:6" + "src": "30879:23:6" }, { "assignments": [ - 6905 + 7261 ], "declarations": [ { "constant": false, - "id": 6905, + "id": 7261, "name": "ret", "nodeType": "VariableDeclaration", - "scope": 6939, - "src": "25748:8:6", + "scope": 7295, + "src": "30916:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60506,10 +70061,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6904, + "id": 7260, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "25748:4:6", + "src": "30916:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60519,15 +70074,15 @@ "visibility": "internal" } ], - "id": 6906, + "id": 7262, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "25748:8:6" + "src": "30916:8:6" }, { "expression": { "argumentTypes": null, - "id": 6913, + "id": 7269, "isConstant": false, "isLValue": false, "isPure": false, @@ -60537,12 +70092,12 @@ "components": [ { "argumentTypes": null, - "id": 6907, + "id": 7263, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6905, - "src": "25771:3:6", + "referencedDeclaration": 7261, + "src": "30939:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60550,26 +70105,26 @@ }, { "argumentTypes": null, - "id": 6908, + "id": 7264, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6902, - "src": "25776:16:6", + "referencedDeclaration": 7258, + "src": "30944:16:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } } ], - "id": 6909, + "id": 7265, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "25770:23:6", + "src": "30938:23:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$", "typeString": "tuple(uint256,uint32)" @@ -60582,12 +70137,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6911, + "id": 7267, "name": "_txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6867, - "src": "25808:8:6", + "referencedDeclaration": 7223, + "src": "30976:8:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -60601,18 +70156,18 @@ "typeString": "bytes memory" } ], - "id": 6910, + "id": 7266, "name": "parseMintTx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5795, - "src": "25796:11:6", + "referencedDeclaration": 5810, + "src": "30964:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_uint32_$", "typeString": "function (bytes memory) view returns (uint256,uint32)" } }, - "id": 6912, + "id": 7268, "isConstant": false, "isLValue": false, "isPure": false, @@ -60620,21 +70175,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "25796:21:6", + "src": "30964:21:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$", "typeString": "tuple(uint256,uint32)" } }, - "src": "25770:47:6", + "src": "30938:47:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6914, + "id": 7270, "nodeType": "ExpressionStatement", - "src": "25770:47:6" + "src": "30938:47:6" }, { "condition": { @@ -60643,19 +70198,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6917, + "id": 7273, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6915, + "id": 7271, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6905, - "src": "25834:3:6", + "referencedDeclaration": 7261, + "src": "31002:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60666,14 +70221,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6916, + "id": 7272, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "25841:1:6", + "src": "31009:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -60681,20 +70236,20 @@ }, "value": "0" }, - "src": "25834:8:6", + "src": "31002:8:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6928, + "id": 7284, "nodeType": "IfStatement", - "src": "25831:116:6", + "src": "30999:116:6", "trueBody": { - "id": 6927, + "id": 7283, "nodeType": "Block", - "src": "25843:104:6", + "src": "31011:104:6", "statements": [ { "eventCall": { @@ -60705,12 +70260,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6920, + "id": 7276, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6887, - "src": "25891:6:6", + "referencedDeclaration": 7243, + "src": "31059:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60724,20 +70279,20 @@ "typeString": "uint256" } ], - "id": 6919, + "id": 7275, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "25883:7:6", + "src": "31051:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": "bytes32" }, - "id": 6921, + "id": 7277, "isConstant": false, "isLValue": false, "isPure": false, @@ -60745,7 +70300,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "25883:15:6", + "src": "31051:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -60753,12 +70308,12 @@ }, { "argumentTypes": null, - "id": 6922, + "id": 7278, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6905, - "src": "25900:3:6", + "referencedDeclaration": 7261, + "src": "31068:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60776,18 +70331,18 @@ "typeString": "uint256" } ], - "id": 6918, + "id": 7274, "name": "RelayTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5071, - "src": "25866:16:6", + "referencedDeclaration": 5080, + "src": "31034:16:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 6923, + "id": 7279, "isConstant": false, "isLValue": false, "isPure": false, @@ -60795,34 +70350,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "25866:38:6", + "src": "31034:38:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6924, + "id": 7280, "nodeType": "EmitStatement", - "src": "25861:43:6" + "src": "31029:43:6" }, { "expression": { "argumentTypes": null, - "id": 6925, + "id": 7281, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6905, - "src": "25929:3:6", + "referencedDeclaration": 7261, + "src": "31097:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6885, - "id": 6926, + "functionReturnParameters": 7241, + "id": 7282, "nodeType": "Return", - "src": "25922:10:6" + "src": "31090:10:6" } ] } @@ -60833,12 +70388,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6932, + "id": 7288, "name": "bridgeTransferId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6902, - "src": "26176:16:6", + "referencedDeclaration": 7258, + "src": "31344:16:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -60848,18 +70403,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6933, + "id": 7289, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10184, - "src": "26194:3:6", + "referencedDeclaration": 11098, + "src": "31362:3:6", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 6934, + "id": 7290, "isConstant": false, "isLValue": false, "isPure": false, @@ -60867,7 +70422,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "26194:10:6", + "src": "31362:10:6", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -60887,32 +70442,32 @@ ], "expression": { "argumentTypes": null, - "id": 6929, + "id": 7285, "name": "syscoinERC20Manager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5023, - "src": "26130:19:6", + "referencedDeclaration": 5032, + "src": "31298:19:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$7547", + "typeIdentifier": "t_contract$_SyscoinTransactionProcessor_$8047", "typeString": "contract SyscoinTransactionProcessor" } }, - "id": 6931, + "id": 7287, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "processCancelTransferFail", "nodeType": "MemberAccess", - "referencedDeclaration": 7546, - "src": "26130:45:6", + "referencedDeclaration": 8035, + "src": "31298:45:6", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint32_$_t_address_payable_$returns$__$", "typeString": "function (uint32,address payable) external" } }, - "id": 6935, + "id": 7291, "isConstant": false, "isLValue": false, "isPure": false, @@ -60920,28 +70475,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "26130:75:6", + "src": "31298:75:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6936, + "id": 7292, "nodeType": "ExpressionStatement", - "src": "26130:75:6" + "src": "31298:75:6" }, { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 6937, + "id": 7293, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "26226:1:6", + "src": "31394:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -60949,10 +70504,10 @@ }, "value": "0" }, - "functionReturnParameters": 6885, - "id": 6938, + "functionReturnParameters": 7241, + "id": 7294, "nodeType": "Return", - "src": "26219:8:6" + "src": "31387:8:6" } ] } @@ -60963,12 +70518,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6942, + "id": 7298, "name": "ERR_CANCEL_TRANSFER_VERIFY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4673, - "src": "26283:26:6", + "referencedDeclaration": 4682, + "src": "31451:26:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60982,18 +70537,18 @@ "typeString": "uint256" } ], - "id": 6941, + "id": 7297, "name": "ChallengeCancelTransferRequest", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5075, - "src": "26252:30:6", + "referencedDeclaration": 5084, + "src": "31420:30:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 6943, + "id": 7299, "isConstant": false, "isLValue": false, "isPure": false, @@ -61001,15 +70556,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "26252:58:6", + "src": "31420:58:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6944, + "id": 7300, "nodeType": "EmitStatement", - "src": "26247:63:6" + "src": "31415:63:6" }, { "expression": { @@ -61017,56 +70572,56 @@ "components": [ { "argumentTypes": null, - "id": 6945, + "id": 7301, "name": "ERR_CANCEL_TRANSFER_VERIFY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4673, - "src": "26327:26:6", + "referencedDeclaration": 4682, + "src": "31495:26:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 6946, + "id": 7302, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "26326:28:6", + "src": "31494:28:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6885, - "id": 6947, + "functionReturnParameters": 7241, + "id": 7303, "nodeType": "Return", - "src": "26320:34:6" + "src": "31488:34:6" } ] }, "documentation": null, - "id": 6949, + "id": 7305, "implemented": true, "kind": "function", "modifiers": [], "name": "challengeCancelTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 6882, + "id": 7238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6867, + "id": 7223, "name": "_txBytes", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25256:21:6", + "scope": 7305, + "src": "30424:21:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -61074,10 +70629,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6866, + "id": 7222, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "25256:5:6", + "src": "30424:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -61088,11 +70643,11 @@ }, { "constant": false, - "id": 6869, + "id": 7225, "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25287:13:6", + "scope": 7305, + "src": "30455:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61100,10 +70655,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6868, + "id": 7224, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "25287:4:6", + "src": "30455:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61114,11 +70669,11 @@ }, { "constant": false, - "id": 6872, + "id": 7228, "name": "_txSiblings", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25310:25:6", + "scope": 7305, + "src": "30478:25:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -61127,19 +70682,19 @@ }, "typeName": { "baseType": { - "id": 6870, + "id": 7226, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "25310:4:6", + "src": "30478:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6871, + "id": 7227, "length": null, "nodeType": "ArrayTypeName", - "src": "25310:6:6", + "src": "30478:6:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -61150,11 +70705,11 @@ }, { "constant": false, - "id": 6874, + "id": 7230, "name": "_syscoinBlockHeader", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25345:32:6", + "scope": 7305, + "src": "30513:32:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -61162,10 +70717,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6873, + "id": 7229, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "25345:5:6", + "src": "30513:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -61176,11 +70731,11 @@ }, { "constant": false, - "id": 6876, + "id": 7232, "name": "_syscoinBlockIndex", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25387:23:6", + "scope": 7305, + "src": "30555:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61188,10 +70743,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6875, + "id": 7231, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "25387:4:6", + "src": "30555:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61202,11 +70757,11 @@ }, { "constant": false, - "id": 6879, + "id": 7235, "name": "_syscoinBlockSiblings", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25420:35:6", + "scope": 7305, + "src": "30588:35:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -61215,19 +70770,19 @@ }, "typeName": { "baseType": { - "id": 6877, + "id": 7233, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "25420:4:6", + "src": "30588:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6878, + "id": 7234, "length": null, "nodeType": "ArrayTypeName", - "src": "25420:6:6", + "src": "30588:6:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -61238,11 +70793,11 @@ }, { "constant": false, - "id": 6881, + "id": 7237, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25465:23:6", + "scope": 7305, + "src": "30633:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61250,10 +70805,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6880, + "id": 7236, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "25465:7:6", + "src": "30633:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -61263,19 +70818,19 @@ "visibility": "internal" } ], - "src": "25246:248:6" + "src": "30414:248:6" }, "returnParameters": { - "id": 6885, + "id": 7241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6884, + "id": 7240, "name": "", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "25511:4:6", + "scope": 7305, + "src": "30679:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61283,10 +70838,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6883, + "id": 7239, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "25511:4:6", + "src": "30679:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61296,32 +70851,32 @@ "visibility": "internal" } ], - "src": "25510:6:6" + "src": "30678:6:6" }, - "scope": 7493, - "src": "25214:1147:6", + "scope": 7851, + "src": "30382:1147:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 7035, + "id": 7391, "nodeType": "Block", - "src": "26737:686:6", + "src": "31905:686:6", "statements": [ { "assignments": [ - 6967 + 7323 ], "declarations": [ { "constant": false, - "id": 6967, + "id": 7323, "name": "output_value", "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26747:17:6", + "scope": 7391, + "src": "31915:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61329,10 +70884,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6966, + "id": 7322, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "26747:4:6", + "src": "31915:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61342,23 +70897,23 @@ "visibility": "internal" } ], - "id": 6968, + "id": 7324, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "26747:17:6" + "src": "31915:17:6" }, { "assignments": [ - 6970 + 7326 ], "declarations": [ { "constant": false, - "id": 6970, + "id": 7326, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26774:16:6", + "scope": 7391, + "src": "31942:16:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61366,10 +70921,10 @@ "typeString": "uint32" }, "typeName": { - "id": 6969, + "id": 7325, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "26774:6:6", + "src": "31942:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -61379,23 +70934,23 @@ "visibility": "internal" } ], - "id": 6971, + "id": 7327, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "26774:16:6" + "src": "31942:16:6" }, { "assignments": [ - 6973 + 7329 ], "declarations": [ { "constant": false, - "id": 6973, + "id": 7329, "name": "destinationAddress", "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26800:26:6", + "scope": 7391, + "src": "31968:26:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61403,10 +70958,10 @@ "typeString": "address" }, "typeName": { - "id": 6972, + "id": 7328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "26800:7:6", + "src": "31968:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -61417,23 +70972,23 @@ "visibility": "internal" } ], - "id": 6974, + "id": 7330, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "26800:26:6" + "src": "31968:26:6" }, { "assignments": [ - 6976 + 7332 ], "declarations": [ { "constant": false, - "id": 6976, + "id": 7332, "name": "version", "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26836:14:6", + "scope": 7391, + "src": "32004:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61441,10 +70996,10 @@ "typeString": "uint32" }, "typeName": { - "id": 6975, + "id": 7331, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "26836:6:6", + "src": "32004:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -61454,23 +71009,23 @@ "visibility": "internal" } ], - "id": 6977, + "id": 7333, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "26836:14:6" + "src": "32004:14:6" }, { "assignments": [ - 6979 + 7335 ], "declarations": [ { "constant": false, - "id": 6979, + "id": 7335, "name": "erc20Address", "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26860:20:6", + "scope": 7391, + "src": "32028:20:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61478,10 +71033,10 @@ "typeString": "address" }, "typeName": { - "id": 6978, + "id": 7334, "name": "address", "nodeType": "ElementaryTypeName", - "src": "26860:7:6", + "src": "32028:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -61492,23 +71047,23 @@ "visibility": "internal" } ], - "id": 6980, + "id": 7336, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "26860:20:6" + "src": "32028:20:6" }, { "assignments": [ - 6982 + 7338 ], "declarations": [ { "constant": false, - "id": 6982, + "id": 7338, "name": "precision", "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26890:15:6", + "scope": 7391, + "src": "32058:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61516,10 +71071,10 @@ "typeString": "uint8" }, "typeName": { - "id": 6981, + "id": 7337, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "26890:5:6", + "src": "32058:5:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -61529,23 +71084,23 @@ "visibility": "internal" } ], - "id": 6983, + "id": 7339, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "26890:15:6" + "src": "32058:15:6" }, { "assignments": [ - 6985 + 7341 ], "declarations": [ { "constant": false, - "id": 6985, + "id": 7341, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 7035, - "src": "26915:8:6", + "scope": 7391, + "src": "32083:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61553,10 +71108,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6984, + "id": 7340, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "26915:4:6", + "src": "32083:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61566,18 +71121,18 @@ "visibility": "internal" } ], - "id": 6987, + "id": 7343, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 6986, + "id": 7342, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "26926:1:6", + "src": "32094:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -61586,24 +71141,24 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "26915:12:6" + "src": "32083:12:6" }, { "expression": { "argumentTypes": null, - "id": 6993, + "id": 7349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 6988, + "id": 7344, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6976, - "src": "26937:7:6", + "referencedDeclaration": 7332, + "src": "32105:7:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -61616,12 +71171,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6990, + "id": 7346, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6951, - "src": "26968:7:6", + "referencedDeclaration": 7307, + "src": "32136:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -61629,12 +71184,12 @@ }, { "argumentTypes": null, - "id": 6991, + "id": 7347, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "26977:3:6", + "referencedDeclaration": 7341, + "src": "32145:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61652,18 +71207,18 @@ "typeString": "uint256" } ], - "id": 6989, + "id": 7345, "name": "bytesToUint32Flipped", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4830, - "src": "26947:20:6", + "referencedDeclaration": 4839, + "src": "32115:20:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", "typeString": "function (bytes memory,uint256) pure returns (uint32)" } }, - "id": 6992, + "id": 7348, "isConstant": false, "isLValue": false, "isPure": false, @@ -61671,21 +71226,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "26947:34:6", + "src": "32115:34:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "src": "26937:44:6", + "src": "32105:44:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "id": 6994, + "id": 7350, "nodeType": "ExpressionStatement", - "src": "26937:44:6" + "src": "32105:44:6" }, { "condition": { @@ -61694,19 +71249,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 6997, + "id": 7353, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6995, + "id": 7351, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6976, - "src": "26994:7:6", + "referencedDeclaration": 7332, + "src": "32162:7:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -61716,31 +71271,31 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 6996, + "id": 7352, "name": "SYSCOIN_TX_VERSION_ALLOCATION_BURN_TO_ETHEREUM", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5012, - "src": "27005:46:6", + "referencedDeclaration": 5021, + "src": "32173:46:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "src": "26994:57:6", + "src": "32162:57:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7007, + "id": 7363, "nodeType": "IfStatement", - "src": "26991:181:6", + "src": "32159:181:6", "trueBody": { - "id": 7006, + "id": 7362, "nodeType": "Block", - "src": "27052:120:6", + "src": "32220:120:6", "statements": [ { "expression": { @@ -61748,12 +71303,12 @@ "components": [ { "argumentTypes": null, - "id": 6998, + "id": 7354, "name": "ERR_PARSE_TX_SYS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5009, - "src": "27074:16:6", + "referencedDeclaration": 5018, + "src": "32242:16:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61761,12 +71316,12 @@ }, { "argumentTypes": null, - "id": 6999, + "id": 7355, "name": "output_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6967, - "src": "27092:12:6", + "referencedDeclaration": 7323, + "src": "32260:12:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61774,12 +71329,12 @@ }, { "argumentTypes": null, - "id": 7000, + "id": 7356, "name": "destinationAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6973, - "src": "27106:18:6", + "referencedDeclaration": 7329, + "src": "32274:18:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -61787,12 +71342,12 @@ }, { "argumentTypes": null, - "id": 7001, + "id": 7357, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6970, - "src": "27126:9:6", + "referencedDeclaration": 7326, + "src": "32294:9:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -61800,12 +71355,12 @@ }, { "argumentTypes": null, - "id": 7002, + "id": 7358, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6982, - "src": "27137:9:6", + "referencedDeclaration": 7338, + "src": "32305:9:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -61813,35 +71368,35 @@ }, { "argumentTypes": null, - "id": 7003, + "id": 7359, "name": "erc20Address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6979, - "src": "27148:12:6", + "referencedDeclaration": 7335, + "src": "32316:12:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 7004, + "id": 7360, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "27073:88:6", + "src": "32241:88:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", "typeString": "tuple(uint256,uint256,address,uint32,uint8,address)" } }, - "functionReturnParameters": 6965, - "id": 7005, + "functionReturnParameters": 7321, + "id": 7361, "nodeType": "Return", - "src": "27066:95:6" + "src": "32234:95:6" } ] } @@ -61849,19 +71404,19 @@ { "expression": { "argumentTypes": null, - "id": 7013, + "id": 7369, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7008, + "id": 7364, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "27181:3:6", + "referencedDeclaration": 7341, + "src": "32349:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61874,12 +71429,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7010, + "id": 7366, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6951, - "src": "27202:7:6", + "referencedDeclaration": 7307, + "src": "32370:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -61888,14 +71443,14 @@ { "argumentTypes": null, "hexValue": "34", - "id": 7011, + "id": 7367, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27211:1:6", + "src": "32379:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -61915,18 +71470,18 @@ "typeString": "int_const 4" } ], - "id": 7009, + "id": 7365, "name": "getOpReturnPos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5733, - "src": "27187:14:6", + "referencedDeclaration": 5748, + "src": "32355:14:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256)" } }, - "id": 7012, + "id": 7368, "isConstant": false, "isLValue": false, "isPure": false, @@ -61934,26 +71489,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "27187:26:6", + "src": "32355:26:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27181:32:6", + "src": "32349:32:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7014, + "id": 7370, "nodeType": "ExpressionStatement", - "src": "27181:32:6" + "src": "32349:32:6" }, { "expression": { "argumentTypes": null, - "id": 7025, + "id": 7381, "isConstant": false, "isLValue": false, "isPure": false, @@ -61963,12 +71518,12 @@ "components": [ { "argumentTypes": null, - "id": 7015, + "id": 7371, "name": "output_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6967, - "src": "27224:12:6", + "referencedDeclaration": 7323, + "src": "32392:12:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61976,12 +71531,12 @@ }, { "argumentTypes": null, - "id": 7016, + "id": 7372, "name": "destinationAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6973, - "src": "27238:18:6", + "referencedDeclaration": 7329, + "src": "32406:18:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -61989,12 +71544,12 @@ }, { "argumentTypes": null, - "id": 7017, + "id": 7373, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6970, - "src": "27258:9:6", + "referencedDeclaration": 7326, + "src": "32426:9:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -62002,12 +71557,12 @@ }, { "argumentTypes": null, - "id": 7018, + "id": 7374, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6982, - "src": "27269:9:6", + "referencedDeclaration": 7338, + "src": "32437:9:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -62015,26 +71570,26 @@ }, { "argumentTypes": null, - "id": 7019, + "id": 7375, "name": "erc20Address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6979, - "src": "27280:12:6", + "referencedDeclaration": 7335, + "src": "32448:12:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 7020, + "id": 7376, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "27223:70:6", + "src": "32391:70:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", "typeString": "tuple(uint256,address,uint32,uint8,address)" @@ -62047,12 +71602,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7022, + "id": 7378, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6951, - "src": "27313:7:6", + "referencedDeclaration": 7307, + "src": "32481:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -62060,12 +71615,12 @@ }, { "argumentTypes": null, - "id": 7023, + "id": 7379, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "27322:3:6", + "referencedDeclaration": 7341, + "src": "32490:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62083,18 +71638,18 @@ "typeString": "uint256" } ], - "id": 7021, + "id": 7377, "name": "scanAssetDetails", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5518, - "src": "27296:16:6", + "referencedDeclaration": 5533, + "src": "32464:16:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", "typeString": "function (bytes memory,uint256) pure returns (uint256,address,uint32,uint8,address)" } }, - "id": 7024, + "id": 7380, "isConstant": false, "isLValue": false, "isPure": false, @@ -62102,21 +71657,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "27296:30:6", + "src": "32464:30:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", "typeString": "tuple(uint256,address,uint32,uint8,address)" } }, - "src": "27223:103:6", + "src": "32391:103:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7026, + "id": 7382, "nodeType": "ExpressionStatement", - "src": "27223:103:6" + "src": "32391:103:6" }, { "expression": { @@ -62125,14 +71680,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 7027, + "id": 7383, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27344:1:6", + "src": "32512:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -62142,12 +71697,12 @@ }, { "argumentTypes": null, - "id": 7028, + "id": 7384, "name": "output_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6967, - "src": "27347:12:6", + "referencedDeclaration": 7323, + "src": "32515:12:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62155,12 +71710,12 @@ }, { "argumentTypes": null, - "id": 7029, + "id": 7385, "name": "destinationAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6973, - "src": "27361:18:6", + "referencedDeclaration": 7329, + "src": "32529:18:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -62168,12 +71723,12 @@ }, { "argumentTypes": null, - "id": 7030, + "id": 7386, "name": "assetGUID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6970, - "src": "27381:9:6", + "referencedDeclaration": 7326, + "src": "32549:9:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -62181,12 +71736,12 @@ }, { "argumentTypes": null, - "id": 7031, + "id": 7387, "name": "precision", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6982, - "src": "27392:9:6", + "referencedDeclaration": 7338, + "src": "32560:9:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -62194,56 +71749,56 @@ }, { "argumentTypes": null, - "id": 7032, + "id": 7388, "name": "erc20Address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6979, - "src": "27403:12:6", + "referencedDeclaration": 7335, + "src": "32571:12:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 7033, + "id": 7389, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "27343:73:6", + "src": "32511:73:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_uint256_$_t_address_$_t_uint32_$_t_uint8_$_t_address_$", "typeString": "tuple(int_const 0,uint256,address,uint32,uint8,address)" } }, - "functionReturnParameters": 6965, - "id": 7034, + "functionReturnParameters": 7321, + "id": 7390, "nodeType": "Return", - "src": "27336:80:6" + "src": "32504:80:6" } ] }, "documentation": null, - "id": 7036, + "id": 7392, "implemented": true, "kind": "function", "modifiers": [], "name": "parseBurnTx", "nodeType": "FunctionDefinition", "parameters": { - "id": 6952, + "id": 7308, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6951, + "id": 7307, "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26621:20:6", + "scope": 7392, + "src": "31789:20:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -62251,10 +71806,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6950, + "id": 7306, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "26621:5:6", + "src": "31789:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -62264,19 +71819,19 @@ "visibility": "internal" } ], - "src": "26620:22:6" + "src": "31788:22:6" }, "returnParameters": { - "id": 6965, + "id": 7321, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6954, + "id": 7310, "name": "", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26688:4:6", + "scope": 7392, + "src": "31856:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62284,10 +71839,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6953, + "id": 7309, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "26688:4:6", + "src": "31856:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62298,11 +71853,11 @@ }, { "constant": false, - "id": 6956, + "id": 7312, "name": "", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26694:4:6", + "scope": 7392, + "src": "31862:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62310,10 +71865,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6955, + "id": 7311, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "26694:4:6", + "src": "31862:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62324,11 +71879,11 @@ }, { "constant": false, - "id": 6958, + "id": 7314, "name": "", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26700:7:6", + "scope": 7392, + "src": "31868:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62336,10 +71891,10 @@ "typeString": "address" }, "typeName": { - "id": 6957, + "id": 7313, "name": "address", "nodeType": "ElementaryTypeName", - "src": "26700:7:6", + "src": "31868:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -62351,11 +71906,11 @@ }, { "constant": false, - "id": 6960, + "id": 7316, "name": "", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26709:6:6", + "scope": 7392, + "src": "31877:6:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62363,10 +71918,10 @@ "typeString": "uint32" }, "typeName": { - "id": 6959, + "id": 7315, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "26709:6:6", + "src": "31877:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -62377,11 +71932,11 @@ }, { "constant": false, - "id": 6962, + "id": 7318, "name": "", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26717:5:6", + "scope": 7392, + "src": "31885:5:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62389,10 +71944,10 @@ "typeString": "uint8" }, "typeName": { - "id": 6961, + "id": 7317, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "26717:5:6", + "src": "31885:5:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -62403,11 +71958,11 @@ }, { "constant": false, - "id": 6964, + "id": 7320, "name": "", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "26724:7:6", + "scope": 7392, + "src": "31892:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62415,10 +71970,10 @@ "typeString": "address" }, "typeName": { - "id": 6963, + "id": 7319, "name": "address", "nodeType": "ElementaryTypeName", - "src": "26724:7:6", + "src": "31892:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -62429,32 +71984,32 @@ "visibility": "internal" } ], - "src": "26687:45:6" + "src": "31855:45:6" }, - "scope": 7493, - "src": "26600:823:6", + "scope": 7851, + "src": "31768:823:6", "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { - "id": 7128, + "id": 7486, "nodeType": "Block", - "src": "27537:711:6", + "src": "32705:834:6", "statements": [ { "assignments": [ - 7046 + 7402 ], "declarations": [ { "constant": false, - "id": 7046, + "id": 7402, "name": "n_inputs", "nodeType": "VariableDeclaration", - "scope": 7128, - "src": "27547:13:6", + "scope": 7486, + "src": "32715:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62462,10 +72017,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7045, + "id": 7401, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "27547:4:6", + "src": "32715:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62475,23 +72030,23 @@ "visibility": "internal" } ], - "id": 7047, + "id": 7403, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "27547:13:6" + "src": "32715:13:6" }, { "assignments": [ - 7049 + 7405 ], "declarations": [ { "constant": false, - "id": 7049, + "id": 7405, "name": "script_len", "nodeType": "VariableDeclaration", - "scope": 7128, - "src": "27570:15:6", + "scope": 7486, + "src": "32738:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62499,10 +72054,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7048, + "id": 7404, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "27570:4:6", + "src": "32738:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62512,15 +72067,15 @@ "visibility": "internal" } ], - "id": 7050, + "id": 7406, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "27570:15:6" + "src": "32738:15:6" }, { "expression": { "argumentTypes": null, - "id": 7058, + "id": 7414, "isConstant": false, "isLValue": false, "isPure": false, @@ -62530,12 +72085,12 @@ "components": [ { "argumentTypes": null, - "id": 7051, + "id": 7407, "name": "n_inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "27596:8:6", + "referencedDeclaration": 7402, + "src": "32764:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62543,26 +72098,26 @@ }, { "argumentTypes": null, - "id": 7052, + "id": 7408, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "27606:3:6", + "referencedDeclaration": 7396, + "src": "32774:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 7053, + "id": 7409, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "27595:15:6", + "src": "32763:15:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -62575,12 +72130,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7055, + "id": 7411, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7038, - "src": "27625:7:6", + "referencedDeclaration": 7394, + "src": "32793:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -62588,12 +72143,12 @@ }, { "argumentTypes": null, - "id": 7056, + "id": 7412, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "27634:3:6", + "referencedDeclaration": 7396, + "src": "32802:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62611,18 +72166,18 @@ "typeString": "uint256" } ], - "id": 7054, + "id": 7410, "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "27613:11:6", + "referencedDeclaration": 4783, + "src": "32781:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 7057, + "id": 7413, "isConstant": false, "isLValue": false, "isPure": false, @@ -62630,21 +72185,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "27613:25:6", + "src": "32781:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "27595:43:6", + "src": "32763:43:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7059, + "id": 7415, "nodeType": "ExpressionStatement", - "src": "27595:43:6" + "src": "32763:43:6" }, { "condition": { @@ -62653,19 +72208,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7062, + "id": 7418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7060, + "id": 7416, "name": "n_inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "27717:8:6", + "referencedDeclaration": 7402, + "src": "32885:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62676,14 +72231,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30783030", - "id": 7061, + "id": 7417, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27729:4:6", + "src": "32897:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -62691,25 +72246,25 @@ }, "value": "0x00" }, - "src": "27717:16:6", + "src": "32885:16:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7088, + "id": 7445, "nodeType": "IfStatement", - "src": "27714:257:6", + "src": "32882:316:6", "trueBody": { - "id": 7087, + "id": 7444, "nodeType": "Block", - "src": "27734:237:6", + "src": "32902:296:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 7070, + "id": 7426, "isConstant": false, "isLValue": false, "isPure": false, @@ -62719,12 +72274,12 @@ "components": [ { "argumentTypes": null, - "id": 7063, + "id": 7419, "name": "n_inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "27749:8:6", + "referencedDeclaration": 7402, + "src": "32917:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62732,26 +72287,26 @@ }, { "argumentTypes": null, - "id": 7064, + "id": 7420, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "27759:3:6", + "referencedDeclaration": 7396, + "src": "32927:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 7065, + "id": 7421, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "27748:15:6", + "src": "32916:15:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -62764,12 +72319,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7067, + "id": 7423, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7038, - "src": "27778:7:6", + "referencedDeclaration": 7394, + "src": "32946:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -62777,12 +72332,12 @@ }, { "argumentTypes": null, - "id": 7068, + "id": 7424, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "27787:3:6", + "referencedDeclaration": 7396, + "src": "32955:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62800,18 +72355,18 @@ "typeString": "uint256" } ], - "id": 7066, + "id": 7422, "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "27766:11:6", + "referencedDeclaration": 4783, + "src": "32934:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 7069, + "id": 7425, "isConstant": false, "isLValue": false, "isPure": false, @@ -62819,21 +72374,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "27766:25:6", + "src": "32934:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "27748:43:6", + "src": "32916:43:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7071, + "id": 7427, "nodeType": "ExpressionStatement", - "src": "27748:43:6" + "src": "32916:43:6" }, { "expression": { @@ -62845,19 +72400,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7075, + "id": 7431, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7073, + "id": 7429, "name": "n_inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "27821:8:6", + "referencedDeclaration": 7402, + "src": "32989:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62868,14 +72423,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30783030", - "id": 7074, + "id": 7430, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27833:4:6", + "src": "33001:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -62883,11 +72438,29 @@ }, "value": "0x00" }, - "src": "27821:16:6", + "src": "32989:16:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + { + "argumentTypes": null, + "hexValue": "23537973636f696e5375706572626c6f636b7320736b6970496e7075747328293a20556e65787065637465642064756d6d792f666c6167", + "id": 7432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33007:57:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fc877395b80aa7c4242c8aac50cd47fd49db648b3654ba67274e0e44d55d6296", + "typeString": "literal_string \"#SyscoinSuperblocks skipInputs(): Unexpected dummy/flag\"" + }, + "value": "#SyscoinSuperblocks skipInputs(): Unexpected dummy/flag" } ], "expression": { @@ -62895,23 +72468,27 @@ { "typeIdentifier": "t_bool", "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fc877395b80aa7c4242c8aac50cd47fd49db648b3654ba67274e0e44d55d6296", + "typeString": "literal_string \"#SyscoinSuperblocks skipInputs(): Unexpected dummy/flag\"" } ], - "id": 7072, + "id": 7428, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "27813:7:6", + "referencedDeclaration": 11102, + "src": "32981:7:6", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "id": 7076, + "id": 7433, "isConstant": false, "isLValue": false, "isPure": false, @@ -62919,20 +72496,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "27813:25:6", + "src": "32981:84:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7077, + "id": 7434, "nodeType": "ExpressionStatement", - "src": "27813:25:6" + "src": "32981:84:6" }, { "expression": { "argumentTypes": null, - "id": 7085, + "id": 7442, "isConstant": false, "isLValue": false, "isPure": false, @@ -62942,12 +72519,12 @@ "components": [ { "argumentTypes": null, - "id": 7078, + "id": 7435, "name": "n_inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "27918:8:6", + "referencedDeclaration": 7402, + "src": "33145:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62955,26 +72532,26 @@ }, { "argumentTypes": null, - "id": 7079, + "id": 7436, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "27928:3:6", + "referencedDeclaration": 7396, + "src": "33155:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 7080, + "id": 7437, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "27917:15:6", + "src": "33144:15:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -62987,12 +72564,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7082, + "id": 7439, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7038, - "src": "27947:7:6", + "referencedDeclaration": 7394, + "src": "33174:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -63000,12 +72577,12 @@ }, { "argumentTypes": null, - "id": 7083, + "id": 7440, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "27956:3:6", + "referencedDeclaration": 7396, + "src": "33183:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63023,18 +72600,18 @@ "typeString": "uint256" } ], - "id": 7081, + "id": 7438, "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "27935:11:6", + "referencedDeclaration": 4783, + "src": "33162:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 7084, + "id": 7441, "isConstant": false, "isLValue": false, "isPure": false, @@ -63042,21 +72619,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "27935:25:6", + "src": "33162:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "27917:43:6", + "src": "33144:43:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7086, + "id": 7443, "nodeType": "ExpressionStatement", - "src": "27917:43:6" + "src": "33144:43:6" } ] } @@ -63071,19 +72648,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7092, + "id": 7449, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7090, + "id": 7447, "name": "n_inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "27988:8:6", + "referencedDeclaration": 7402, + "src": "33215:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63094,14 +72671,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "313030", - "id": 7091, + "id": 7448, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27999:3:6", + "src": "33226:3:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", @@ -63109,11 +72686,29 @@ }, "value": "100" }, - "src": "27988:14:6", + "src": "33215:14:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + { + "argumentTypes": null, + "hexValue": "23537973636f696e5375706572626c6f636b7320736b6970496e7075747328293a20496e636f72726563742073697a65206f66206e5f696e70757473", + "id": 7450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33231:62:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bd998dc49e2b8c684725f5584421d9b7d5649d1c48086cb317d2923f0e9fec74", + "typeString": "literal_string \"#SyscoinSuperblocks skipInputs(): Incorrect size of n_inputs\"" + }, + "value": "#SyscoinSuperblocks skipInputs(): Incorrect size of n_inputs" } ], "expression": { @@ -63121,23 +72716,27 @@ { "typeIdentifier": "t_bool", "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_bd998dc49e2b8c684725f5584421d9b7d5649d1c48086cb317d2923f0e9fec74", + "typeString": "literal_string \"#SyscoinSuperblocks skipInputs(): Incorrect size of n_inputs\"" } ], - "id": 7089, + "id": 7446, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 10187, - 10188 + 11101, + 11102 ], - "referencedDeclaration": 10187, - "src": "27980:7:6", + "referencedDeclaration": 11102, + "src": "33207:7:6", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "id": 7093, + "id": 7451, "isConstant": false, "isLValue": false, "isPure": false, @@ -63145,38 +72744,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "27980:23:6", + "src": "33207:87:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7094, + "id": 7452, "nodeType": "ExpressionStatement", - "src": "27980:23:6" + "src": "33207:87:6" }, { "body": { - "id": 7124, + "id": 7482, "nodeType": "Block", - "src": "28050:171:6", + "src": "33341:171:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 7107, + "id": 7465, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7105, + "id": 7463, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "28064:3:6", + "referencedDeclaration": 7396, + "src": "33355:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63187,14 +72786,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "3336", - "id": 7106, + "id": 7464, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28071:2:6", + "src": "33362:2:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_36_by_1", @@ -63202,20 +72801,20 @@ }, "value": "36" }, - "src": "28064:9:6", + "src": "33355:9:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7108, + "id": 7466, "nodeType": "ExpressionStatement", - "src": "28064:9:6" + "src": "33355:9:6" }, { "expression": { "argumentTypes": null, - "id": 7116, + "id": 7474, "isConstant": false, "isLValue": false, "isPure": false, @@ -63225,12 +72824,12 @@ "components": [ { "argumentTypes": null, - "id": 7109, + "id": 7467, "name": "script_len", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7049, - "src": "28106:10:6", + "referencedDeclaration": 7405, + "src": "33397:10:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63238,26 +72837,26 @@ }, { "argumentTypes": null, - "id": 7110, + "id": 7468, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "28118:3:6", + "referencedDeclaration": 7396, + "src": "33409:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 7111, + "id": 7469, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "28105:17:6", + "src": "33396:17:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -63270,12 +72869,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7113, + "id": 7471, "name": "txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7038, - "src": "28137:7:6", + "referencedDeclaration": 7394, + "src": "33428:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -63283,12 +72882,12 @@ }, { "argumentTypes": null, - "id": 7114, + "id": 7472, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "28146:3:6", + "referencedDeclaration": 7396, + "src": "33437:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63306,18 +72905,18 @@ "typeString": "uint256" } ], - "id": 7112, + "id": 7470, "name": "parseVarInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "28125:11:6", + "referencedDeclaration": 4783, + "src": "33416:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256,uint256)" } }, - "id": 7115, + "id": 7473, "isConstant": false, "isLValue": false, "isPure": false, @@ -63325,38 +72924,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "28125:25:6", + "src": "33416:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "28105:45:6", + "src": "33396:45:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7117, + "id": 7475, "nodeType": "ExpressionStatement", - "src": "28105:45:6" + "src": "33396:45:6" }, { "expression": { "argumentTypes": null, - "id": 7122, + "id": 7480, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7118, + "id": 7476, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "28164:3:6", + "referencedDeclaration": 7396, + "src": "33455:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63370,19 +72969,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7121, + "id": 7479, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7119, + "id": 7477, "name": "script_len", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7049, - "src": "28171:10:6", + "referencedDeclaration": 7405, + "src": "33462:10:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63393,14 +72992,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "34", - "id": 7120, + "id": 7478, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28184:1:6", + "src": "33475:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -63408,21 +73007,21 @@ }, "value": "4" }, - "src": "28171:14:6", + "src": "33462:14:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28164:21:6", + "src": "33455:21:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7123, + "id": 7481, "nodeType": "ExpressionStatement", - "src": "28164:21:6" + "src": "33455:21:6" } ] }, @@ -63432,19 +73031,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7101, + "id": 7459, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7099, + "id": 7457, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7096, - "src": "28031:1:6", + "referencedDeclaration": 7454, + "src": "33322:1:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63454,36 +73053,36 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 7100, + "id": 7458, "name": "n_inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7046, - "src": "28035:8:6", + "referencedDeclaration": 7402, + "src": "33326:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28031:12:6", + "src": "33322:12:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7125, + "id": 7483, "initializationExpression": { "assignments": [ - 7096 + 7454 ], "declarations": [ { "constant": false, - "id": 7096, + "id": 7454, "name": "i", "nodeType": "VariableDeclaration", - "scope": 7125, - "src": "28019:6:6", + "scope": 7483, + "src": "33310:6:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -63491,10 +73090,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7095, + "id": 7453, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "28019:4:6", + "src": "33310:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63504,18 +73103,18 @@ "visibility": "internal" } ], - "id": 7098, + "id": 7456, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 7097, + "id": 7455, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28028:1:6", + "src": "33319:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -63524,12 +73123,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "28019:10:6" + "src": "33310:10:6" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 7103, + "id": 7461, "isConstant": false, "isLValue": false, "isPure": false, @@ -63537,15 +73136,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "28045:3:6", + "src": "33336:3:6", "subExpression": { "argumentTypes": null, - "id": 7102, + "id": 7460, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7096, - "src": "28045:1:6", + "referencedDeclaration": 7454, + "src": "33336:1:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63556,52 +73155,52 @@ "typeString": "uint256" } }, - "id": 7104, + "id": 7462, "nodeType": "ExpressionStatement", - "src": "28045:3:6" + "src": "33336:3:6" }, "nodeType": "ForStatement", - "src": "28014:207:6" + "src": "33305:207:6" }, { "expression": { "argumentTypes": null, - "id": 7126, + "id": 7484, "name": "pos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7040, - "src": "28238:3:6", + "referencedDeclaration": 7396, + "src": "33529:3:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7044, - "id": 7127, + "functionReturnParameters": 7400, + "id": 7485, "nodeType": "Return", - "src": "28231:10:6" + "src": "33522:10:6" } ] }, "documentation": null, - "id": 7129, + "id": 7487, "implemented": true, "kind": "function", "modifiers": [], "name": "skipInputs", "nodeType": "FunctionDefinition", "parameters": { - "id": 7041, + "id": 7397, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7038, + "id": 7394, "name": "txBytes", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "27449:20:6", + "scope": 7487, + "src": "32617:20:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -63609,10 +73208,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7037, + "id": 7393, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "27449:5:6", + "src": "32617:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -63623,11 +73222,11 @@ }, { "constant": false, - "id": 7040, + "id": 7396, "name": "pos", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "27471:8:6", + "scope": 7487, + "src": "32639:8:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -63635,10 +73234,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7039, + "id": 7395, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "27471:4:6", + "src": "32639:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63648,19 +73247,19 @@ "visibility": "internal" } ], - "src": "27448:32:6" + "src": "32616:32:6" }, "returnParameters": { - "id": 7044, + "id": 7400, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7043, + "id": 7399, "name": "", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "27527:4:6", + "scope": 7487, + "src": "32695:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -63668,10 +73267,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7042, + "id": 7398, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "27527:4:6", + "src": "32695:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63681,32 +73280,32 @@ "visibility": "internal" } ], - "src": "27526:6:6" + "src": "32694:6:6" }, - "scope": 7493, - "src": "27429:819:6", + "scope": 7851, + "src": "32597:942:6", "stateMutability": "pure", "superFunction": null, "visibility": "private" }, { "body": { - "id": 7182, + "id": 7540, "nodeType": "Block", - "src": "29171:455:6", + "src": "34462:455:6", "statements": [ { "assignments": [ - 7146 + 7504 ], "declarations": [ { "constant": false, - "id": 7146, + "id": 7504, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 7182, - "src": "29181:11:6", + "scope": 7540, + "src": "34472:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -63714,10 +73313,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7145, + "id": 7503, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "29181:4:6", + "src": "34472:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63727,18 +73326,18 @@ "visibility": "internal" } ], - "id": 7150, + "id": 7508, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7148, + "id": 7506, "name": "_txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7131, - "src": "29206:8:6", + "referencedDeclaration": 7489, + "src": "34497:8:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -63752,18 +73351,18 @@ "typeString": "bytes memory" } ], - "id": 7147, + "id": 7505, "name": "dblShaFlip", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7207, - "src": "29195:10:6", + "referencedDeclaration": 7565, + "src": "34486:10:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes memory) pure returns (uint256)" } }, - "id": 7149, + "id": 7507, "isConstant": false, "isLValue": false, "isPure": false, @@ -63771,14 +73370,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "29195:20:6", + "src": "34486:20:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "29181:34:6" + "src": "34472:34:6" }, { "condition": { @@ -63787,7 +73386,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7154, + "id": 7512, "isConstant": false, "isLValue": false, "isPure": false, @@ -63796,18 +73395,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7151, + "id": 7509, "name": "_txBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7131, - "src": "29230:8:6", + "referencedDeclaration": 7489, + "src": "34521:8:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 7152, + "id": 7510, "isConstant": false, "isLValue": false, "isPure": false, @@ -63815,7 +73414,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "29230:15:6", + "src": "34521:15:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63826,14 +73425,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3634", - "id": 7153, + "id": 7511, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "29249:2:6", + "src": "34540:2:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", @@ -63841,20 +73440,20 @@ }, "value": "64" }, - "src": "29230:21:6", + "src": "34521:21:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7165, + "id": 7523, "nodeType": "IfStatement", - "src": "29226:163:6", + "src": "34517:163:6", "trueBody": { - "id": 7164, + "id": 7522, "nodeType": "Block", - "src": "29253:136:6", + "src": "34544:136:6", "statements": [ { "eventCall": { @@ -63865,12 +73464,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7157, + "id": 7515, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7146, - "src": "29333:6:6", + "referencedDeclaration": 7504, + "src": "34624:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63884,20 +73483,20 @@ "typeString": "uint256" } ], - "id": 7156, + "id": 7514, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "29325:7:6", + "src": "34616:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": "bytes32" }, - "id": 7158, + "id": 7516, "isConstant": false, "isLValue": false, "isPure": false, @@ -63905,7 +73504,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "29325:15:6", + "src": "34616:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -63913,12 +73512,12 @@ }, { "argumentTypes": null, - "id": 7159, + "id": 7517, "name": "ERR_TX_64BYTE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4664, - "src": "29342:13:6", + "referencedDeclaration": 4673, + "src": "34633:13:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63936,18 +73535,18 @@ "typeString": "uint256" } ], - "id": 7155, + "id": 7513, "name": "VerifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5065, - "src": "29307:17:6", + "referencedDeclaration": 5074, + "src": "34598:17:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 7160, + "id": 7518, "isConstant": false, "isLValue": false, "isPure": false, @@ -63955,28 +73554,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "29307:49:6", + "src": "34598:49:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7161, + "id": 7519, "nodeType": "EmitStatement", - "src": "29302:54:6" + "src": "34593:54:6" }, { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 7162, + "id": 7520, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "29377:1:6", + "src": "34668:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -63984,10 +73583,10 @@ }, "value": "0" }, - "functionReturnParameters": 7144, - "id": 7163, + "functionReturnParameters": 7502, + "id": 7521, "nodeType": "Return", - "src": "29370:8:6" + "src": "34661:8:6" } ] } @@ -63999,7 +73598,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7174, + "id": 7532, "isConstant": false, "isLValue": false, "isPure": false, @@ -64009,12 +73608,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7167, + "id": 7525, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7146, - "src": "29420:6:6", + "referencedDeclaration": 7504, + "src": "34711:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64022,12 +73621,12 @@ }, { "argumentTypes": null, - "id": 7168, + "id": 7526, "name": "_txIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7133, - "src": "29428:8:6", + "referencedDeclaration": 7491, + "src": "34719:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64035,12 +73634,12 @@ }, { "argumentTypes": null, - "id": 7169, + "id": 7527, "name": "_siblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7136, - "src": "29438:9:6", + "referencedDeclaration": 7494, + "src": "34729:9:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -64048,12 +73647,12 @@ }, { "argumentTypes": null, - "id": 7170, + "id": 7528, "name": "_txBlockHeaderBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "29449:19:6", + "referencedDeclaration": 7496, + "src": "34740:19:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -64061,12 +73660,12 @@ }, { "argumentTypes": null, - "id": 7171, + "id": 7529, "name": "_txsuperblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7140, - "src": "29470:17:6", + "referencedDeclaration": 7498, + "src": "34761:17:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -64096,18 +73695,18 @@ "typeString": "bytes32" } ], - "id": 7166, + "id": 7524, "name": "helperVerifyHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7284, - "src": "29403:16:6", + "referencedDeclaration": 7642, + "src": "34694:16:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256[] memory,bytes memory,bytes32) returns (uint256)" } }, - "id": 7172, + "id": 7530, "isConstant": false, "isLValue": false, "isPure": false, @@ -64115,7 +73714,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "29403:85:6", + "src": "34694:85:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64126,14 +73725,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 7173, + "id": 7531, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "29492:1:6", + "src": "34783:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -64141,29 +73740,29 @@ }, "value": "1" }, - "src": "29403:90:6", + "src": "34694:90:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 7180, + "id": 7538, "nodeType": "Block", - "src": "29539:81:6", + "src": "34830:81:6", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 7178, + "id": 7536, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "29608:1:6", + "src": "34899:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -64171,39 +73770,39 @@ }, "value": "0" }, - "functionReturnParameters": 7144, - "id": 7179, + "functionReturnParameters": 7502, + "id": 7537, "nodeType": "Return", - "src": "29601:8:6" + "src": "34892:8:6" } ] }, - "id": 7181, + "id": 7539, "nodeType": "IfStatement", - "src": "29399:221:6", + "src": "34690:221:6", "trueBody": { - "id": 7177, + "id": 7535, "nodeType": "Block", - "src": "29495:38:6", + "src": "34786:38:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 7175, + "id": 7533, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7146, - "src": "29516:6:6", + "referencedDeclaration": 7504, + "src": "34807:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7144, - "id": 7176, + "functionReturnParameters": 7502, + "id": 7534, "nodeType": "Return", - "src": "29509:13:6" + "src": "34800:13:6" } ] } @@ -64211,23 +73810,23 @@ ] }, "documentation": null, - "id": 7183, + "id": 7541, "implemented": true, "kind": "function", "modifiers": [], "name": "verifyTx", "nodeType": "FunctionDefinition", "parameters": { - "id": 7141, + "id": 7499, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7131, + "id": 7489, "name": "_txBytes", "nodeType": "VariableDeclaration", - "scope": 7183, - "src": "28987:21:6", + "scope": 7541, + "src": "34278:21:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -64235,10 +73834,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7130, + "id": 7488, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "28987:5:6", + "src": "34278:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -64249,11 +73848,11 @@ }, { "constant": false, - "id": 7133, + "id": 7491, "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 7183, - "src": "29018:13:6", + "scope": 7541, + "src": "34309:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64261,10 +73860,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7132, + "id": 7490, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "29018:4:6", + "src": "34309:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64275,11 +73874,11 @@ }, { "constant": false, - "id": 7136, + "id": 7494, "name": "_siblings", "nodeType": "VariableDeclaration", - "scope": 7183, - "src": "29041:23:6", + "scope": 7541, + "src": "34332:23:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -64288,19 +73887,19 @@ }, "typeName": { "baseType": { - "id": 7134, + "id": 7492, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "29041:4:6", + "src": "34332:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7135, + "id": 7493, "length": null, "nodeType": "ArrayTypeName", - "src": "29041:6:6", + "src": "34332:6:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -64311,11 +73910,11 @@ }, { "constant": false, - "id": 7138, + "id": 7496, "name": "_txBlockHeaderBytes", "nodeType": "VariableDeclaration", - "scope": 7183, - "src": "29074:32:6", + "scope": 7541, + "src": "34365:32:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -64323,10 +73922,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7137, + "id": 7495, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "29074:5:6", + "src": "34365:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -64337,11 +73936,11 @@ }, { "constant": false, - "id": 7140, + "id": 7498, "name": "_txsuperblockHash", "nodeType": "VariableDeclaration", - "scope": 7183, - "src": "29116:25:6", + "scope": 7541, + "src": "34407:25:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64349,10 +73948,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7139, + "id": 7497, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "29116:7:6", + "src": "34407:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -64362,19 +73961,19 @@ "visibility": "internal" } ], - "src": "28977:170:6" + "src": "34268:170:6" }, "returnParameters": { - "id": 7144, + "id": 7502, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7143, + "id": 7501, "name": "", "nodeType": "VariableDeclaration", - "scope": 7183, - "src": "29165:4:6", + "scope": 7541, + "src": "34456:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64382,10 +73981,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7142, + "id": 7500, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "29165:4:6", + "src": "34456:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64395,19 +73994,19 @@ "visibility": "internal" } ], - "src": "29164:6:6" + "src": "34455:6:6" }, - "scope": 7493, - "src": "28960:666:6", + "scope": 7851, + "src": "34251:666:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 7206, + "id": 7564, "nodeType": "Block", - "src": "29880:105:6", + "src": "35171:105:6", "statements": [ { "expression": { @@ -64430,12 +74029,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7198, + "id": 7556, "name": "_dataBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7185, - "src": "29962:10:6", + "referencedDeclaration": 7543, + "src": "35253:10:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -64451,18 +74050,18 @@ ], "expression": { "argumentTypes": null, - "id": 7196, + "id": 7554, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10171, - "src": "29945:3:6", + "referencedDeclaration": 11085, + "src": "35236:3:6", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7197, + "id": 7555, "isConstant": false, "isLValue": false, "isPure": true, @@ -64470,13 +74069,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "29945:16:6", + "src": "35236:16:6", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7199, + "id": 7557, "isConstant": false, "isLValue": false, "isPure": false, @@ -64484,7 +74083,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "29945:28:6", + "src": "35236:28:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -64498,18 +74097,18 @@ "typeString": "bytes memory" } ], - "id": 7195, + "id": 7553, "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10193, - "src": "29938:6:6", + "referencedDeclaration": 11107, + "src": "35229:6:6", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 7200, + "id": 7558, "isConstant": false, "isLValue": false, "isPure": false, @@ -64517,7 +74116,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "29938:36:6", + "src": "35229:36:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -64533,18 +74132,18 @@ ], "expression": { "argumentTypes": null, - "id": 7193, + "id": 7551, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10171, - "src": "29921:3:6", + "referencedDeclaration": 11085, + "src": "35212:3:6", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7194, + "id": 7552, "isConstant": false, "isLValue": false, "isPure": true, @@ -64552,13 +74151,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "29921:16:6", + "src": "35212:16:6", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7201, + "id": 7559, "isConstant": false, "isLValue": false, "isPure": false, @@ -64566,7 +74165,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "29921:54:6", + "src": "35212:54:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -64580,18 +74179,18 @@ "typeString": "bytes memory" } ], - "id": 7192, + "id": 7550, "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10193, - "src": "29914:6:6", + "referencedDeclaration": 11107, + "src": "35205:6:6", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 7202, + "id": 7560, "isConstant": false, "isLValue": false, "isPure": false, @@ -64599,7 +74198,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "29914:62:6", + "src": "35205:62:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -64613,20 +74212,20 @@ "typeString": "bytes32" } ], - "id": 7191, + "id": 7549, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "29909:4:6", + "src": "35200:4:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 7203, + "id": 7561, "isConstant": false, "isLValue": false, "isPure": false, @@ -64634,7 +74233,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "29909:68:6", + "src": "35200:68:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64648,18 +74247,18 @@ "typeString": "uint256" } ], - "id": 7190, + "id": 7548, "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, - "src": "29897:11:6", + "referencedDeclaration": 4848, + "src": "35188:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 7204, + "id": 7562, "isConstant": false, "isLValue": false, "isPure": false, @@ -64667,37 +74266,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "29897:81:6", + "src": "35188:81:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7189, - "id": 7205, + "functionReturnParameters": 7547, + "id": 7563, "nodeType": "Return", - "src": "29890:88:6" + "src": "35181:88:6" } ] }, "documentation": null, - "id": 7207, + "id": 7565, "implemented": true, "kind": "function", "modifiers": [], "name": "dblShaFlip", "nodeType": "FunctionDefinition", "parameters": { - "id": 7186, + "id": 7544, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7185, + "id": 7543, "name": "_dataBytes", "nodeType": "VariableDeclaration", - "scope": 7207, - "src": "29828:23:6", + "scope": 7565, + "src": "35119:23:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -64705,10 +74304,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7184, + "id": 7542, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "29828:5:6", + "src": "35119:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -64718,19 +74317,19 @@ "visibility": "internal" } ], - "src": "29827:25:6" + "src": "35118:25:6" }, "returnParameters": { - "id": 7189, + "id": 7547, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7188, + "id": 7546, "name": "", "nodeType": "VariableDeclaration", - "scope": 7207, - "src": "29874:4:6", + "scope": 7565, + "src": "35165:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64738,10 +74337,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7187, + "id": 7545, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "29874:4:6", + "src": "35165:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64751,32 +74350,32 @@ "visibility": "internal" } ], - "src": "29873:6:6" + "src": "35164:6:6" }, - "scope": 7493, - "src": "29808:177:6", + "scope": 7851, + "src": "35099:177:6", "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { - "id": 7222, + "id": 7580, "nodeType": "Block", - "src": "30320:155:6", + "src": "35611:155:6", "statements": [ { "assignments": [ - 7215 + 7573 ], "declarations": [ { "constant": false, - "id": 7215, + "id": 7573, "name": "merkle", "nodeType": "VariableDeclaration", - "scope": 7222, - "src": "30330:11:6", + "scope": 7580, + "src": "35621:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64784,10 +74383,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7214, + "id": 7572, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "30330:4:6", + "src": "35621:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64797,36 +74396,36 @@ "visibility": "internal" } ], - "id": 7216, + "id": 7574, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "30330:11:6" + "src": "35621:11:6" }, { "externalReferences": [ { "merkle": { - "declaration": 7215, + "declaration": 7573, "isOffset": false, "isSlot": false, - "src": "30374:6:6", + "src": "35665:6:6", "valueSize": 1 } }, { "_blockHeader": { - "declaration": 7209, + "declaration": 7567, "isOffset": false, "isSlot": false, - "src": "30398:12:6", + "src": "35689:12:6", "valueSize": 1 } } ], - "id": 7217, + "id": 7575, "nodeType": "InlineAssembly", "operations": "{\n merkle := mload(add(add(_blockHeader, 32), 0x24))\n}", - "src": "30351:82:6" + "src": "35642:82:6" }, { "expression": { @@ -64834,12 +74433,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7219, + "id": 7577, "name": "merkle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7215, - "src": "30461:6:6", + "referencedDeclaration": 7573, + "src": "35752:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64853,18 +74452,18 @@ "typeString": "uint256" } ], - "id": 7218, + "id": 7576, "name": "flip32Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, - "src": "30449:11:6", + "referencedDeclaration": 4848, + "src": "35740:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, - "id": 7220, + "id": 7578, "isConstant": false, "isLValue": false, "isPure": false, @@ -64872,37 +74471,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "30449:19:6", + "src": "35740:19:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7213, - "id": 7221, + "functionReturnParameters": 7571, + "id": 7579, "nodeType": "Return", - "src": "30442:26:6" + "src": "35733:26:6" } ] }, "documentation": null, - "id": 7223, + "id": 7581, "implemented": true, "kind": "function", "modifiers": [], "name": "getHeaderMerkleRoot", "nodeType": "FunctionDefinition", "parameters": { - "id": 7210, + "id": 7568, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7209, + "id": 7567, "name": "_blockHeader", "nodeType": "VariableDeclaration", - "scope": 7223, - "src": "30266:25:6", + "scope": 7581, + "src": "35557:25:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -64910,10 +74509,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7208, + "id": 7566, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "30266:5:6", + "src": "35557:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -64923,19 +74522,19 @@ "visibility": "internal" } ], - "src": "30265:27:6" + "src": "35556:27:6" }, "returnParameters": { - "id": 7213, + "id": 7571, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7212, + "id": 7570, "name": "", "nodeType": "VariableDeclaration", - "scope": 7223, - "src": "30314:4:6", + "scope": 7581, + "src": "35605:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64943,10 +74542,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7211, + "id": 7569, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "30314:4:6", + "src": "35605:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64956,24 +74555,24 @@ "visibility": "internal" } ], - "src": "30313:6:6" + "src": "35604:6:6" }, - "scope": 7493, - "src": "30237:238:6", + "scope": 7851, + "src": "35528:238:6", "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { - "id": 7283, + "id": 7641, "nodeType": "Block", - "src": "31684:465:6", + "src": "36975:465:6", "statements": [ { "condition": { "argumentTypes": null, - "id": 7242, + "id": 7600, "isConstant": false, "isLValue": false, "isPure": false, @@ -64981,18 +74580,18 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "31699:30:6", + "src": "36990:30:6", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7240, + "id": 7598, "name": "_txsuperblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7234, - "src": "31711:17:6", + "referencedDeclaration": 7592, + "src": "37002:17:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -65006,18 +74605,18 @@ "typeString": "bytes32" } ], - "id": 7239, + "id": 7597, "name": "isApproved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7453, - "src": "31700:10:6", + "referencedDeclaration": 7811, + "src": "36991:10:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) view returns (bool)" } }, - "id": 7241, + "id": 7599, "isConstant": false, "isLValue": false, "isPure": false, @@ -65025,7 +74624,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "31700:29:6", + "src": "36991:29:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -65037,13 +74636,13 @@ } }, "falseBody": null, - "id": 7254, + "id": 7612, "nodeType": "IfStatement", - "src": "31695:144:6", + "src": "36986:144:6", "trueBody": { - "id": 7253, + "id": 7611, "nodeType": "Block", - "src": "31731:108:6", + "src": "37022:108:6", "statements": [ { "eventCall": { @@ -65054,12 +74653,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7245, + "id": 7603, "name": "_txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7225, - "src": "31776:7:6", + "referencedDeclaration": 7583, + "src": "37067:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65073,20 +74672,20 @@ "typeString": "uint256" } ], - "id": 7244, + "id": 7602, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "31768:7:6", + "src": "37059:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": "bytes32" }, - "id": 7246, + "id": 7604, "isConstant": false, "isLValue": false, "isPure": false, @@ -65094,7 +74693,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "31768:16:6", + "src": "37059:16:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -65102,12 +74701,12 @@ }, { "argumentTypes": null, - "id": 7247, + "id": 7605, "name": "ERR_CHAIN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4655, - "src": "31786:9:6", + "referencedDeclaration": 4664, + "src": "37077:9:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65125,18 +74724,18 @@ "typeString": "uint256" } ], - "id": 7243, + "id": 7601, "name": "VerifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5065, - "src": "31750:17:6", + "referencedDeclaration": 5074, + "src": "37041:17:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 7248, + "id": 7606, "isConstant": false, "isLValue": false, "isPure": false, @@ -65144,15 +74743,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "31750:46:6", + "src": "37041:46:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7249, + "id": 7607, "nodeType": "EmitStatement", - "src": "31745:51:6" + "src": "37036:51:6" }, { "expression": { @@ -65160,51 +74759,51 @@ "components": [ { "argumentTypes": null, - "id": 7250, + "id": 7608, "name": "ERR_CHAIN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4655, - "src": "31818:9:6", + "referencedDeclaration": 4664, + "src": "37109:9:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 7251, + "id": 7609, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "31817:11:6", + "src": "37108:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7238, - "id": 7252, + "functionReturnParameters": 7596, + "id": 7610, "nodeType": "Return", - "src": "31810:18:6" + "src": "37101:18:6" } ] } }, { "assignments": [ - 7256 + 7614 ], "declarations": [ { "constant": false, - "id": 7256, + "id": 7614, "name": "merkle", "nodeType": "VariableDeclaration", - "scope": 7283, - "src": "31882:11:6", + "scope": 7641, + "src": "37173:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65212,10 +74811,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7255, + "id": 7613, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "31882:4:6", + "src": "37173:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65225,18 +74824,18 @@ "visibility": "internal" } ], - "id": 7260, + "id": 7618, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7258, + "id": 7616, "name": "_blockHeaderBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7232, - "src": "31916:17:6", + "referencedDeclaration": 7590, + "src": "37207:17:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -65250,18 +74849,18 @@ "typeString": "bytes memory" } ], - "id": 7257, + "id": 7615, "name": "getHeaderMerkleRoot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7223, - "src": "31896:19:6", + "referencedDeclaration": 7581, + "src": "37187:19:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes memory) pure returns (uint256)" } }, - "id": 7259, + "id": 7617, "isConstant": false, "isLValue": false, "isPure": false, @@ -65269,14 +74868,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "31896:38:6", + "src": "37187:38:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "31882:52:6" + "src": "37173:52:6" }, { "condition": { @@ -65285,7 +74884,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7267, + "id": 7625, "isConstant": false, "isLValue": false, "isPure": false, @@ -65295,12 +74894,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7262, + "id": 7620, "name": "_txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7225, - "src": "31962:7:6", + "referencedDeclaration": 7583, + "src": "37253:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65308,12 +74907,12 @@ }, { "argumentTypes": null, - "id": 7263, + "id": 7621, "name": "_txIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7227, - "src": "31971:8:6", + "referencedDeclaration": 7585, + "src": "37262:8:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65321,12 +74920,12 @@ }, { "argumentTypes": null, - "id": 7264, + "id": 7622, "name": "_siblings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7230, - "src": "31981:9:6", + "referencedDeclaration": 7588, + "src": "37272:9:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -65348,18 +74947,18 @@ "typeString": "uint256[] memory" } ], - "id": 7261, + "id": 7619, "name": "computeMerkle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4962, - "src": "31948:13:6", + "referencedDeclaration": 4971, + "src": "37239:13:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256[] memory) pure returns (uint256)" } }, - "id": 7265, + "id": 7623, "isConstant": false, "isLValue": false, "isPure": false, @@ -65367,7 +74966,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "31948:43:6", + "src": "37239:43:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65377,31 +74976,31 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 7266, + "id": 7624, "name": "merkle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7256, - "src": "31995:6:6", + "referencedDeclaration": 7614, + "src": "37286:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "31948:53:6", + "src": "37239:53:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7279, + "id": 7637, "nodeType": "IfStatement", - "src": "31944:179:6", + "src": "37235:179:6", "trueBody": { - "id": 7278, + "id": 7636, "nodeType": "Block", - "src": "32003:120:6", + "src": "37294:120:6", "statements": [ { "eventCall": { @@ -65412,12 +75011,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7270, + "id": 7628, "name": "_txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7225, - "src": "32048:7:6", + "referencedDeclaration": 7583, + "src": "37339:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65431,20 +75030,20 @@ "typeString": "uint256" } ], - "id": 7269, + "id": 7627, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "32040:7:6", + "src": "37331:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": "bytes32" }, - "id": 7271, + "id": 7629, "isConstant": false, "isLValue": false, "isPure": false, @@ -65452,7 +75051,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "32040:16:6", + "src": "37331:16:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -65460,12 +75059,12 @@ }, { "argumentTypes": null, - "id": 7272, + "id": 7630, "name": "ERR_MERKLE_ROOT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4661, - "src": "32058:15:6", + "referencedDeclaration": 4670, + "src": "37349:15:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65483,18 +75082,18 @@ "typeString": "uint256" } ], - "id": 7268, + "id": 7626, "name": "VerifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5065, - "src": "32022:17:6", + "referencedDeclaration": 5074, + "src": "37313:17:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint256)" } }, - "id": 7273, + "id": 7631, "isConstant": false, "isLValue": false, "isPure": false, @@ -65502,15 +75101,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "32022:52:6", + "src": "37313:52:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7274, + "id": 7632, "nodeType": "EmitStatement", - "src": "32017:57:6" + "src": "37308:57:6" }, { "expression": { @@ -65518,35 +75117,35 @@ "components": [ { "argumentTypes": null, - "id": 7275, + "id": 7633, "name": "ERR_MERKLE_ROOT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4661, - "src": "32096:15:6", + "referencedDeclaration": 4670, + "src": "37387:15:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 7276, + "id": 7634, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "32095:17:6", + "src": "37386:17:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7238, - "id": 7277, + "functionReturnParameters": 7596, + "id": 7635, "nodeType": "Return", - "src": "32088:24:6" + "src": "37379:24:6" } ] } @@ -65558,14 +75157,14 @@ { "argumentTypes": null, "hexValue": "31", - "id": 7280, + "id": 7638, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "32140:1:6", + "src": "37431:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -65574,44 +75173,44 @@ "value": "1" } ], - "id": 7281, + "id": 7639, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "32139:3:6", + "src": "37430:3:6", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" } }, - "functionReturnParameters": 7238, - "id": 7282, + "functionReturnParameters": 7596, + "id": 7640, "nodeType": "Return", - "src": "32132:10:6" + "src": "37423:10:6" } ] }, "documentation": null, - "id": 7284, + "id": 7642, "implemented": true, "kind": "function", "modifiers": [], "name": "helperVerifyHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 7235, + "id": 7593, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7225, + "id": 7583, "name": "_txHash", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "31508:15:6", + "scope": 7642, + "src": "36799:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65619,10 +75218,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7224, + "id": 7582, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "31508:7:6", + "src": "36799:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65633,11 +75232,11 @@ }, { "constant": false, - "id": 7227, + "id": 7585, "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "31533:13:6", + "scope": 7642, + "src": "36824:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65645,10 +75244,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7226, + "id": 7584, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "31533:4:6", + "src": "36824:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65659,11 +75258,11 @@ }, { "constant": false, - "id": 7230, + "id": 7588, "name": "_siblings", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "31556:23:6", + "scope": 7642, + "src": "36847:23:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -65672,19 +75271,19 @@ }, "typeName": { "baseType": { - "id": 7228, + "id": 7586, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "31556:4:6", + "src": "36847:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7229, + "id": 7587, "length": null, "nodeType": "ArrayTypeName", - "src": "31556:6:6", + "src": "36847:6:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -65695,11 +75294,11 @@ }, { "constant": false, - "id": 7232, + "id": 7590, "name": "_blockHeaderBytes", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "31589:30:6", + "scope": 7642, + "src": "36880:30:6", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -65707,10 +75306,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7231, + "id": 7589, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "31589:5:6", + "src": "36880:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -65721,11 +75320,11 @@ }, { "constant": false, - "id": 7234, + "id": 7592, "name": "_txsuperblockHash", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "31629:25:6", + "scope": 7642, + "src": "36920:25:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65733,10 +75332,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7233, + "id": 7591, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "31629:7:6", + "src": "36920:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -65746,19 +75345,19 @@ "visibility": "internal" } ], - "src": "31498:162:6" + "src": "36789:162:6" }, "returnParameters": { - "id": 7238, + "id": 7596, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7237, + "id": 7595, "name": "", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "31678:4:6", + "scope": 7642, + "src": "36969:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65766,10 +75365,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7236, + "id": 7594, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "31678:4:6", + "src": "36969:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65779,19 +75378,19 @@ "visibility": "internal" } ], - "src": "31677:6:6" + "src": "36968:6:6" }, - "scope": 7493, - "src": "31473:676:6", + "scope": 7851, + "src": "36764:676:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 7313, + "id": 7671, "nodeType": "Block", - "src": "32926:212:6", + "src": "38217:212:6", "statements": [ { "expression": { @@ -65802,12 +75401,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7304, + "id": 7662, "name": "_blocksMerkleRoot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7286, - "src": "32983:17:6", + "referencedDeclaration": 7644, + "src": "38274:17:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -65815,12 +75414,12 @@ }, { "argumentTypes": null, - "id": 7305, + "id": 7663, "name": "_timestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7288, - "src": "33014:10:6", + "referencedDeclaration": 7646, + "src": "38305:10:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65828,12 +75427,12 @@ }, { "argumentTypes": null, - "id": 7306, + "id": 7664, "name": "_mtpTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7290, - "src": "33038:13:6", + "referencedDeclaration": 7648, + "src": "38329:13:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65841,12 +75440,12 @@ }, { "argumentTypes": null, - "id": 7307, + "id": 7665, "name": "_lastHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7292, - "src": "33065:9:6", + "referencedDeclaration": 7650, + "src": "38356:9:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -65854,12 +75453,12 @@ }, { "argumentTypes": null, - "id": 7308, + "id": 7666, "name": "_lastBits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "33088:9:6", + "referencedDeclaration": 7652, + "src": "38379:9:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -65867,12 +75466,12 @@ }, { "argumentTypes": null, - "id": 7309, + "id": 7667, "name": "_parentId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7296, - "src": "33111:9:6", + "referencedDeclaration": 7654, + "src": "38402:9:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -65908,18 +75507,18 @@ ], "expression": { "argumentTypes": null, - "id": 7302, + "id": 7660, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10171, - "src": "32953:3:6", + "referencedDeclaration": 11085, + "src": "38244:3:6", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7303, + "id": 7661, "isConstant": false, "isLValue": false, "isPure": true, @@ -65927,13 +75526,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "32953:16:6", + "src": "38244:16:6", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7310, + "id": 7668, "isConstant": false, "isLValue": false, "isPure": false, @@ -65941,7 +75540,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "32953:177:6", + "src": "38244:177:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -65955,18 +75554,18 @@ "typeString": "bytes memory" } ], - "id": 7301, + "id": 7659, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10178, - "src": "32943:9:6", + "referencedDeclaration": 11092, + "src": "38234:9:6", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 7311, + "id": 7669, "isConstant": false, "isLValue": false, "isPure": false, @@ -65974,37 +75573,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "32943:188:6", + "src": "38234:188:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 7300, - "id": 7312, + "functionReturnParameters": 7658, + "id": 7670, "nodeType": "Return", - "src": "32936:195:6" + "src": "38227:195:6" } ] }, "documentation": null, - "id": 7314, + "id": 7672, "implemented": true, "kind": "function", "modifiers": [], "name": "calcSuperblockHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 7297, + "id": 7655, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7286, + "id": 7644, "name": "_blocksMerkleRoot", "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32731:25:6", + "scope": 7672, + "src": "38022:25:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66012,10 +75611,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7285, + "id": 7643, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "32731:7:6", + "src": "38022:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66026,11 +75625,11 @@ }, { "constant": false, - "id": 7288, + "id": 7646, "name": "_timestamp", "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32766:15:6", + "scope": 7672, + "src": "38057:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66038,10 +75637,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7287, + "id": 7645, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "32766:4:6", + "src": "38057:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -66052,11 +75651,11 @@ }, { "constant": false, - "id": 7290, + "id": 7648, "name": "_mtpTimestamp", "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32791:18:6", + "scope": 7672, + "src": "38082:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66064,10 +75663,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7289, + "id": 7647, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "32791:4:6", + "src": "38082:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -66078,11 +75677,11 @@ }, { "constant": false, - "id": 7292, + "id": 7650, "name": "_lastHash", "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32819:17:6", + "scope": 7672, + "src": "38110:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66090,10 +75689,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7291, + "id": 7649, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "32819:7:6", + "src": "38110:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66104,11 +75703,11 @@ }, { "constant": false, - "id": 7294, + "id": 7652, "name": "_lastBits", "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32846:16:6", + "scope": 7672, + "src": "38137:16:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66116,10 +75715,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7293, + "id": 7651, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "32846:6:6", + "src": "38137:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -66130,11 +75729,11 @@ }, { "constant": false, - "id": 7296, + "id": 7654, "name": "_parentId", "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32872:17:6", + "scope": 7672, + "src": "38163:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66142,10 +75741,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7295, + "id": 7653, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "32872:7:6", + "src": "38163:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66155,19 +75754,19 @@ "visibility": "internal" } ], - "src": "32721:174:6" + "src": "38012:174:6" }, "returnParameters": { - "id": 7300, + "id": 7658, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7299, + "id": 7657, "name": "", "nodeType": "VariableDeclaration", - "scope": 7314, - "src": "32917:7:6", + "scope": 7672, + "src": "38208:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66175,10 +75774,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7298, + "id": 7656, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "32917:7:6", + "src": "38208:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66188,65 +75787,65 @@ "visibility": "internal" } ], - "src": "32916:9:6" + "src": "38207:9:6" }, - "scope": 7493, - "src": "32694:444:6", + "scope": 7851, + "src": "37985:444:6", "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { - "id": 7321, + "id": 7679, "nodeType": "Block", - "src": "33326:38:6", + "src": "38617:38:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 7319, + "id": 7677, "name": "bestSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "33343:14:6", + "referencedDeclaration": 5030, + "src": "38634:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 7318, - "id": 7320, + "functionReturnParameters": 7676, + "id": 7678, "nodeType": "Return", - "src": "33336:21:6" + "src": "38627:21:6" } ] }, "documentation": null, - "id": 7322, + "id": 7680, "implemented": true, "kind": "function", "modifiers": [], "name": "getBestSuperblock", "nodeType": "FunctionDefinition", "parameters": { - "id": 7315, + "id": 7673, "nodeType": "ParameterList", "parameters": [], - "src": "33291:2:6" + "src": "38582:2:6" }, "returnParameters": { - "id": 7318, + "id": 7676, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7317, + "id": 7675, "name": "", "nodeType": "VariableDeclaration", - "scope": 7322, - "src": "33317:7:6", + "scope": 7680, + "src": "38608:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66254,10 +75853,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7316, + "id": 7674, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "33317:7:6", + "src": "38608:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66267,47 +75866,47 @@ "visibility": "internal" } ], - "src": "33316:9:6" + "src": "38607:9:6" }, - "scope": 7493, - "src": "33265:99:6", + "scope": 7851, + "src": "38556:99:6", "stateMutability": "view", - "superFunction": 7742, + "superFunction": 8243, "visibility": "external" }, { "body": { - "id": 7371, + "id": 7729, "nodeType": "Block", - "src": "33772:414:6", + "src": "39063:414:6", "statements": [ { "assignments": [ - 7346 + 7704 ], "declarations": [ { "constant": false, - "id": 7346, + "id": 7704, "name": "superblock", "nodeType": "VariableDeclaration", - "scope": 7371, - "src": "33782:33:6", + "scope": 7729, + "src": "39073:33:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" }, "typeName": { "contractScope": null, - "id": 7345, + "id": 7703, "name": "SuperblockInfo", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7636, - "src": "33782:14:6", + "referencedDeclaration": 8137, + "src": "39073:14:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo" } }, @@ -66315,31 +75914,31 @@ "visibility": "internal" } ], - "id": 7350, + "id": 7708, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7347, + "id": 7705, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "33818:11:6", + "referencedDeclaration": 5028, + "src": "39109:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 7349, + "id": 7707, "indexExpression": { "argumentTypes": null, - "id": 7348, + "id": 7706, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7324, - "src": "33830:14:6", + "referencedDeclaration": 7682, + "src": "39121:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66350,14 +75949,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "33818:27:6", + "src": "39109:27:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "33782:63:6" + "src": "39073:63:6" }, { "expression": { @@ -66367,26 +75966,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7351, + "id": 7709, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "33876:10:6", + "referencedDeclaration": 7704, + "src": "39167:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 7352, + "id": 7710, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "blocksMerkleRoot", "nodeType": "MemberAccess", - "referencedDeclaration": 7619, - "src": "33876:27:6", + "referencedDeclaration": 8120, + "src": "39167:27:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66396,26 +75995,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7353, + "id": 7711, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "33917:10:6", + "referencedDeclaration": 7704, + "src": "39208:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 7354, + "id": 7712, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7621, - "src": "33917:20:6", + "referencedDeclaration": 8122, + "src": "39208:20:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -66425,26 +76024,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7355, + "id": 7713, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "33951:10:6", + "referencedDeclaration": 7704, + "src": "39242:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 7356, + "id": 7714, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mtpTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7623, - "src": "33951:23:6", + "referencedDeclaration": 8124, + "src": "39242:23:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -66454,26 +76053,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7357, + "id": 7715, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "33988:10:6", + "referencedDeclaration": 7704, + "src": "39279:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 7358, + "id": 7716, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastHash", "nodeType": "MemberAccess", - "referencedDeclaration": 7625, - "src": "33988:19:6", + "referencedDeclaration": 8126, + "src": "39279:19:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66483,26 +76082,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7359, + "id": 7717, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "34021:10:6", + "referencedDeclaration": 7704, + "src": "39312:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 7360, + "id": 7718, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastBits", "nodeType": "MemberAccess", - "referencedDeclaration": 7631, - "src": "34021:19:6", + "referencedDeclaration": 8132, + "src": "39312:19:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -66512,26 +76111,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7361, + "id": 7719, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "34054:10:6", + "referencedDeclaration": 7704, + "src": "39345:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 7362, + "id": 7720, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "parentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7627, - "src": "34054:19:6", + "referencedDeclaration": 8128, + "src": "39345:19:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66541,26 +76140,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7363, + "id": 7721, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "34087:10:6", + "referencedDeclaration": 7704, + "src": "39378:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 7364, + "id": 7722, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "submitter", "nodeType": "MemberAccess", - "referencedDeclaration": 7629, - "src": "34087:20:6", + "referencedDeclaration": 8130, + "src": "39378:20:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -66570,28 +76169,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7365, + "id": 7723, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "34121:10:6", + "referencedDeclaration": 7704, + "src": "39412:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 7366, + "id": 7724, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "34121:17:6", + "referencedDeclaration": 8136, + "src": "39412:17:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -66599,70 +76198,70 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7367, + "id": 7725, "name": "superblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "34152:10:6", + "referencedDeclaration": 7704, + "src": "39443:10:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage_ptr", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage_ptr", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage pointer" } }, - "id": 7368, + "id": 7726, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "height", "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "34152:17:6", + "referencedDeclaration": 8134, + "src": "39443:17:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } } ], - "id": 7369, + "id": 7727, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "33862:317:6", + "src": "39153:317:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$7617_$_t_uint32_$", + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint32_$_t_bytes32_$_t_address_$_t_enum$_Status_$8118_$_t_uint32_$", "typeString": "tuple(bytes32,uint256,uint256,bytes32,uint32,bytes32,address,enum SyscoinSuperblocksI.Status,uint32)" } }, - "functionReturnParameters": 7344, - "id": 7370, + "functionReturnParameters": 7702, + "id": 7728, "nodeType": "Return", - "src": "33855:324:6" + "src": "39146:324:6" } ] }, "documentation": null, - "id": 7372, + "id": 7730, "implemented": true, "kind": "function", "modifiers": [], "name": "getSuperblock", "nodeType": "FunctionDefinition", "parameters": { - "id": 7325, + "id": 7683, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7324, + "id": 7682, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33475:22:6", + "scope": 7730, + "src": "38766:22:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66670,10 +76269,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7323, + "id": 7681, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "33475:7:6", + "src": "38766:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66683,19 +76282,19 @@ "visibility": "internal" } ], - "src": "33474:24:6" + "src": "38765:24:6" }, "returnParameters": { - "id": 7344, + "id": 7702, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7327, + "id": 7685, "name": "_blocksMerkleRoot", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33531:25:6", + "scope": 7730, + "src": "38822:25:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66703,10 +76302,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7326, + "id": 7684, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "33531:7:6", + "src": "38822:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66717,11 +76316,11 @@ }, { "constant": false, - "id": 7329, + "id": 7687, "name": "_timestamp", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33566:15:6", + "scope": 7730, + "src": "38857:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66729,10 +76328,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7328, + "id": 7686, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "33566:4:6", + "src": "38857:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -66743,11 +76342,11 @@ }, { "constant": false, - "id": 7331, + "id": 7689, "name": "_mtpTimestamp", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33591:18:6", + "scope": 7730, + "src": "38882:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66755,10 +76354,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7330, + "id": 7688, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "33591:4:6", + "src": "38882:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -66769,11 +76368,11 @@ }, { "constant": false, - "id": 7333, + "id": 7691, "name": "_lastHash", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33619:17:6", + "scope": 7730, + "src": "38910:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66781,10 +76380,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7332, + "id": 7690, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "33619:7:6", + "src": "38910:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66795,11 +76394,11 @@ }, { "constant": false, - "id": 7335, + "id": 7693, "name": "_lastBits", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33646:16:6", + "scope": 7730, + "src": "38937:16:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66807,10 +76406,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7334, + "id": 7692, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "33646:6:6", + "src": "38937:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -66821,11 +76420,11 @@ }, { "constant": false, - "id": 7337, + "id": 7695, "name": "_parentId", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33672:17:6", + "scope": 7730, + "src": "38963:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66833,10 +76432,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7336, + "id": 7694, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "33672:7:6", + "src": "38963:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66847,11 +76446,11 @@ }, { "constant": false, - "id": 7339, + "id": 7697, "name": "_submitter", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33699:18:6", + "scope": 7730, + "src": "38990:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66859,10 +76458,10 @@ "typeString": "address" }, "typeName": { - "id": 7338, + "id": 7696, "name": "address", "nodeType": "ElementaryTypeName", - "src": "33699:7:6", + "src": "38990:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -66874,26 +76473,26 @@ }, { "constant": false, - "id": 7341, + "id": 7699, "name": "_status", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33727:14:6", + "scope": 7730, + "src": "39018:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { "contractScope": null, - "id": 7340, + "id": 7698, "name": "Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "33727:6:6", + "referencedDeclaration": 8118, + "src": "39018:6:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -66902,11 +76501,11 @@ }, { "constant": false, - "id": 7343, + "id": 7701, "name": "_height", "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "33751:14:6", + "scope": 7730, + "src": "39042:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66914,10 +76513,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7342, + "id": 7700, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "33751:6:6", + "src": "39042:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -66927,19 +76526,19 @@ "visibility": "internal" } ], - "src": "33521:250:6" + "src": "38812:250:6" }, - "scope": 7493, - "src": "33452:734:6", + "scope": 7851, + "src": "38743:734:6", "stateMutability": "view", - "superFunction": 7680, + "superFunction": 8181, "visibility": "external" }, { "body": { - "id": 7384, + "id": 7742, "nodeType": "Block", - "src": "34314:58:6", + "src": "39605:58:6", "statements": [ { "expression": { @@ -66948,26 +76547,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7379, + "id": 7737, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "34331:11:6", + "referencedDeclaration": 5028, + "src": "39622:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 7381, + "id": 7739, "indexExpression": { "argumentTypes": null, - "id": 7380, + "id": 7738, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7374, - "src": "34343:14:6", + "referencedDeclaration": 7732, + "src": "39634:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -66978,51 +76577,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "34331:27:6", + "src": "39622:27:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, - "id": 7382, + "id": 7740, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "height", "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "34331:34:6", + "referencedDeclaration": 8134, + "src": "39622:34:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "functionReturnParameters": 7378, - "id": 7383, + "functionReturnParameters": 7736, + "id": 7741, "nodeType": "Return", - "src": "34324:41:6" + "src": "39615:41:6" } ] }, "documentation": null, - "id": 7385, + "id": 7743, "implemented": true, "kind": "function", "modifiers": [], "name": "getSuperblockHeight", "nodeType": "FunctionDefinition", "parameters": { - "id": 7375, + "id": 7733, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7374, + "id": 7732, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7385, - "src": "34261:22:6", + "scope": 7743, + "src": "39552:22:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67030,10 +76629,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7373, + "id": 7731, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "34261:7:6", + "src": "39552:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -67043,19 +76642,19 @@ "visibility": "internal" } ], - "src": "34260:24:6" + "src": "39551:24:6" }, "returnParameters": { - "id": 7378, + "id": 7736, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7377, + "id": 7735, "name": "", "nodeType": "VariableDeclaration", - "scope": 7385, - "src": "34306:6:6", + "scope": 7743, + "src": "39597:6:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67063,10 +76662,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7376, + "id": 7734, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "34306:6:6", + "src": "39597:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -67076,19 +76675,19 @@ "visibility": "internal" } ], - "src": "34305:8:6" + "src": "39596:8:6" }, - "scope": 7493, - "src": "34232:140:6", + "scope": 7851, + "src": "39523:140:6", "stateMutability": "view", - "superFunction": 7754, + "superFunction": 8255, "visibility": "public" }, { "body": { - "id": 7397, + "id": 7755, "nodeType": "Block", - "src": "34506:62:6", + "src": "39797:62:6", "statements": [ { "expression": { @@ -67097,26 +76696,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7392, + "id": 7750, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "34523:11:6", + "referencedDeclaration": 5028, + "src": "39814:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 7394, + "id": 7752, "indexExpression": { "argumentTypes": null, - "id": 7393, + "id": 7751, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7387, - "src": "34535:15:6", + "referencedDeclaration": 7745, + "src": "39826:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -67127,51 +76726,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "34523:28:6", + "src": "39814:28:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, - "id": 7395, + "id": 7753, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7621, - "src": "34523:38:6", + "referencedDeclaration": 8122, + "src": "39814:38:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7391, - "id": 7396, + "functionReturnParameters": 7749, + "id": 7754, "nodeType": "Return", - "src": "34516:45:6" + "src": "39807:45:6" } ] }, "documentation": null, - "id": 7398, + "id": 7756, "implemented": true, "kind": "function", "modifiers": [], "name": "getSuperblockTimestamp", "nodeType": "FunctionDefinition", "parameters": { - "id": 7388, + "id": 7746, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7387, + "id": 7745, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7398, - "src": "34452:23:6", + "scope": 7756, + "src": "39743:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67179,10 +76778,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7386, + "id": 7744, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "34452:7:6", + "src": "39743:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -67192,19 +76791,19 @@ "visibility": "internal" } ], - "src": "34451:25:6" + "src": "39742:25:6" }, "returnParameters": { - "id": 7391, + "id": 7749, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7390, + "id": 7748, "name": "", "nodeType": "VariableDeclaration", - "scope": 7398, - "src": "34500:4:6", + "scope": 7756, + "src": "39791:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67212,10 +76811,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7389, + "id": 7747, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "34500:4:6", + "src": "39791:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -67225,19 +76824,19 @@ "visibility": "internal" } ], - "src": "34499:6:6" + "src": "39790:6:6" }, - "scope": 7493, - "src": "34420:148:6", + "scope": 7851, + "src": "39711:148:6", "stateMutability": "view", - "superFunction": 7782, + "superFunction": 8283, "visibility": "external" }, { "body": { - "id": 7410, + "id": 7768, "nodeType": "Block", - "src": "34715:65:6", + "src": "40006:65:6", "statements": [ { "expression": { @@ -67246,26 +76845,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7405, + "id": 7763, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "34732:11:6", + "referencedDeclaration": 5028, + "src": "40023:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 7407, + "id": 7765, "indexExpression": { "argumentTypes": null, - "id": 7406, + "id": 7764, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7400, - "src": "34744:15:6", + "referencedDeclaration": 7758, + "src": "40035:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -67276,51 +76875,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "34732:28:6", + "src": "40023:28:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, - "id": 7408, + "id": 7766, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mtpTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 7623, - "src": "34732:41:6", + "referencedDeclaration": 8124, + "src": "40023:41:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7404, - "id": 7409, + "functionReturnParameters": 7762, + "id": 7767, "nodeType": "Return", - "src": "34725:48:6" + "src": "40016:48:6" } ] }, "documentation": null, - "id": 7411, + "id": 7769, "implemented": true, "kind": "function", "modifiers": [], "name": "getSuperblockMedianTimestamp", "nodeType": "FunctionDefinition", "parameters": { - "id": 7401, + "id": 7759, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7400, + "id": 7758, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7411, - "src": "34661:23:6", + "scope": 7769, + "src": "39952:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67328,10 +76927,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7399, + "id": 7757, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "34661:7:6", + "src": "39952:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -67341,19 +76940,19 @@ "visibility": "internal" } ], - "src": "34660:25:6" + "src": "39951:25:6" }, "returnParameters": { - "id": 7404, + "id": 7762, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7403, + "id": 7761, "name": "", "nodeType": "VariableDeclaration", - "scope": 7411, - "src": "34709:4:6", + "scope": 7769, + "src": "40000:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67361,10 +76960,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7402, + "id": 7760, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "34709:4:6", + "src": "40000:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -67374,19 +76973,19 @@ "visibility": "internal" } ], - "src": "34708:6:6" + "src": "39999:6:6" }, - "scope": 7493, - "src": "34623:157:6", + "scope": 7851, + "src": "39914:157:6", "stateMutability": "view", - "superFunction": 7789, + "superFunction": 8290, "visibility": "external" }, { "body": { - "id": 7423, + "id": 7781, "nodeType": "Block", - "src": "34913:61:6", + "src": "40204:61:6", "statements": [ { "expression": { @@ -67395,26 +76994,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7418, + "id": 7776, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "34930:11:6", + "referencedDeclaration": 5028, + "src": "40221:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 7420, + "id": 7778, "indexExpression": { "argumentTypes": null, - "id": 7419, + "id": 7777, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7413, - "src": "34942:15:6", + "referencedDeclaration": 7771, + "src": "40233:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -67425,51 +77024,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "34930:28:6", + "src": "40221:28:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, - "id": 7421, + "id": 7779, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "parentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7627, - "src": "34930:37:6", + "referencedDeclaration": 8128, + "src": "40221:37:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 7417, - "id": 7422, + "functionReturnParameters": 7775, + "id": 7780, "nodeType": "Return", - "src": "34923:44:6" + "src": "40214:44:6" } ] }, "documentation": null, - "id": 7424, + "id": 7782, "implemented": true, "kind": "function", "modifiers": [], "name": "getSuperblockParentId", "nodeType": "FunctionDefinition", "parameters": { - "id": 7414, + "id": 7772, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7413, + "id": 7771, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7424, - "src": "34856:23:6", + "scope": 7782, + "src": "40147:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67477,10 +77076,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7412, + "id": 7770, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "34856:7:6", + "src": "40147:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -67490,19 +77089,19 @@ "visibility": "internal" } ], - "src": "34855:25:6" + "src": "40146:25:6" }, "returnParameters": { - "id": 7417, + "id": 7775, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7416, + "id": 7774, "name": "", "nodeType": "VariableDeclaration", - "scope": 7424, - "src": "34904:7:6", + "scope": 7782, + "src": "40195:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67510,10 +77109,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7415, + "id": 7773, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "34904:7:6", + "src": "40195:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -67523,19 +77122,19 @@ "visibility": "internal" } ], - "src": "34903:9:6" + "src": "40194:9:6" }, - "scope": 7493, - "src": "34825:149:6", + "scope": 7851, + "src": "40116:149:6", "stateMutability": "view", - "superFunction": 7761, + "superFunction": 8262, "visibility": "external" }, { "body": { - "id": 7436, + "id": 7794, "nodeType": "Block", - "src": "35103:59:6", + "src": "40394:59:6", "statements": [ { "expression": { @@ -67544,26 +77143,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7431, + "id": 7789, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "35120:11:6", + "referencedDeclaration": 5028, + "src": "40411:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 7433, + "id": 7791, "indexExpression": { "argumentTypes": null, - "id": 7432, + "id": 7790, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7426, - "src": "35132:15:6", + "referencedDeclaration": 7784, + "src": "40423:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -67574,51 +77173,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35120:28:6", + "src": "40411:28:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, - "id": 7434, + "id": 7792, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 7635, - "src": "35120:35:6", + "referencedDeclaration": 8136, + "src": "40411:35:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "functionReturnParameters": 7430, - "id": 7435, + "functionReturnParameters": 7788, + "id": 7793, "nodeType": "Return", - "src": "35113:42:6" + "src": "40404:42:6" } ] }, "documentation": null, - "id": 7437, + "id": 7795, "implemented": true, "kind": "function", "modifiers": [], "name": "getSuperblockStatus", "nodeType": "FunctionDefinition", "parameters": { - "id": 7427, + "id": 7785, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7426, + "id": 7784, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7437, - "src": "35049:23:6", + "scope": 7795, + "src": "40340:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67626,10 +77225,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7425, + "id": 7783, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "35049:7:6", + "src": "40340:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -67639,34 +77238,34 @@ "visibility": "internal" } ], - "src": "35048:25:6" + "src": "40339:25:6" }, "returnParameters": { - "id": 7430, + "id": 7788, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7429, + "id": 7787, "name": "", "nodeType": "VariableDeclaration", - "scope": 7437, - "src": "35095:6:6", + "scope": 7795, + "src": "40386:6:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { "contractScope": null, - "id": 7428, + "id": 7786, "name": "Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "35095:6:6", + "referencedDeclaration": 8118, + "src": "40386:6:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -67674,19 +77273,19 @@ "visibility": "internal" } ], - "src": "35094:8:6" + "src": "40385:8:6" }, - "scope": 7493, - "src": "35020:142:6", + "scope": 7851, + "src": "40311:142:6", "stateMutability": "view", - "superFunction": 7768, + "superFunction": 8269, "visibility": "public" }, { "body": { - "id": 7452, + "id": 7810, "nodeType": "Block", - "src": "35241:81:6", + "src": "40532:81:6", "statements": [ { "expression": { @@ -67695,10 +77294,10 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, - "id": 7449, + "id": 7807, "isConstant": false, "isLValue": false, "isPure": false, @@ -67708,12 +77307,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7445, + "id": 7803, "name": "_superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7439, - "src": "35279:15:6", + "referencedDeclaration": 7797, + "src": "40570:15:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -67727,18 +77326,18 @@ "typeString": "bytes32" } ], - "id": 7444, + "id": 7802, "name": "getSuperblockStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7437, - "src": "35259:19:6", + "referencedDeclaration": 7795, + "src": "40550:19:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Status_$8118_$", "typeString": "function (bytes32) view returns (enum SyscoinSuperblocksI.Status)" } }, - "id": 7446, + "id": 7804, "isConstant": false, "isLValue": false, "isPure": false, @@ -67746,9 +77345,9 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "35259:36:6", + "src": "40550:36:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -67758,18 +77357,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7447, + "id": 7805, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "35299:6:6", + "referencedDeclaration": 8118, + "src": "40590:6:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$7617_$", + "typeIdentifier": "t_type$_t_enum$_Status_$8118_$", "typeString": "type(enum SyscoinSuperblocksI.Status)" } }, - "id": 7448, + "id": 7806, "isConstant": false, "isLValue": false, "isPure": true, @@ -67777,57 +77376,57 @@ "memberName": "Approved", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "35299:15:6", + "src": "40590:15:6", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, - "src": "35259:55:6", + "src": "40550:55:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 7450, + "id": 7808, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "35258:57:6", + "src": "40549:57:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 7443, - "id": 7451, + "functionReturnParameters": 7801, + "id": 7809, "nodeType": "Return", - "src": "35251:64:6" + "src": "40542:64:6" } ] }, "documentation": null, - "id": 7453, + "id": 7811, "implemented": true, "kind": "function", "modifiers": [], "name": "isApproved", "nodeType": "FunctionDefinition", "parameters": { - "id": 7440, + "id": 7798, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7439, + "id": 7797, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7453, - "src": "35188:23:6", + "scope": 7811, + "src": "40479:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67835,10 +77434,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7438, + "id": 7796, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "35188:7:6", + "src": "40479:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -67848,19 +77447,19 @@ "visibility": "internal" } ], - "src": "35187:25:6" + "src": "40478:25:6" }, "returnParameters": { - "id": 7443, + "id": 7801, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7442, + "id": 7800, "name": "", "nodeType": "VariableDeclaration", - "scope": 7453, - "src": "35235:4:6", + "scope": 7811, + "src": "40526:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67868,10 +77467,10 @@ "typeString": "bool" }, "typeName": { - "id": 7441, + "id": 7799, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "35235:4:6", + "src": "40526:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -67881,19 +77480,19 @@ "visibility": "internal" } ], - "src": "35234:6:6" + "src": "40525:6:6" }, - "scope": 7493, - "src": "35168:154:6", + "scope": 7851, + "src": "40459:154:6", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 7463, + "id": 7821, "nodeType": "Block", - "src": "35380:58:6", + "src": "40671:58:6", "statements": [ { "expression": { @@ -67902,26 +77501,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7458, + "id": 7816, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "35397:11:6", + "referencedDeclaration": 5028, + "src": "40688:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 7460, + "id": 7818, "indexExpression": { "argumentTypes": null, - "id": 7459, + "id": 7817, "name": "bestSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "35409:14:6", + "referencedDeclaration": 5030, + "src": "40700:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -67932,57 +77531,57 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35397:27:6", + "src": "40688:27:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, - "id": 7461, + "id": 7819, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "height", "nodeType": "MemberAccess", - "referencedDeclaration": 7633, - "src": "35397:34:6", + "referencedDeclaration": 8134, + "src": "40688:34:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "functionReturnParameters": 7457, - "id": 7462, + "functionReturnParameters": 7815, + "id": 7820, "nodeType": "Return", - "src": "35390:41:6" + "src": "40681:41:6" } ] }, "documentation": null, - "id": 7464, + "id": 7822, "implemented": true, "kind": "function", "modifiers": [], "name": "getChainHeight", "nodeType": "FunctionDefinition", "parameters": { - "id": 7454, + "id": 7812, "nodeType": "ParameterList", "parameters": [], - "src": "35350:2:6" + "src": "40641:2:6" }, "returnParameters": { - "id": 7457, + "id": 7815, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7456, + "id": 7814, "name": "", "nodeType": "VariableDeclaration", - "scope": 7464, - "src": "35374:4:6", + "scope": 7822, + "src": "40665:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67990,10 +77589,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7455, + "id": 7813, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "35374:4:6", + "src": "40665:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -68003,32 +77602,32 @@ "visibility": "internal" } ], - "src": "35373:6:6" + "src": "40664:6:6" }, - "scope": 7493, - "src": "35327:111:6", + "scope": 7851, + "src": "40618:111:6", "stateMutability": "view", - "superFunction": 7747, + "superFunction": 8248, "visibility": "public" }, { "body": { - "id": 7491, + "id": 7849, "nodeType": "Block", - "src": "35707:230:6", + "src": "40998:230:6", "statements": [ { "assignments": [ - 7472 + 7830 ], "declarations": [ { "constant": false, - "id": 7472, + "id": 7830, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7491, - "src": "35717:22:6", + "scope": 7849, + "src": "41008:22:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68036,10 +77635,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7471, + "id": 7829, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "35717:7:6", + "src": "41008:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -68049,45 +77648,45 @@ "visibility": "internal" } ], - "id": 7474, + "id": 7832, "initialValue": { "argumentTypes": null, - "id": 7473, + "id": 7831, "name": "bestSuperblock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5021, - "src": "35742:14:6", + "referencedDeclaration": 5030, + "src": "41033:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "35717:39:6" + "src": "41008:39:6" }, { "body": { - "id": 7487, + "id": 7845, "nodeType": "Block", - "src": "35821:78:6", + "src": "41112:78:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 7485, + "id": 7843, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7480, + "id": 7838, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7472, - "src": "35835:14:6", + "referencedDeclaration": 7830, + "src": "41126:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -68101,26 +77700,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7481, + "id": 7839, "name": "superblocks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5019, - "src": "35852:11:6", + "referencedDeclaration": 5028, + "src": "41143:11:6", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$7636_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SuperblockInfo_$8137_storage_$", "typeString": "mapping(bytes32 => struct SyscoinSuperblocksI.SuperblockInfo storage ref)" } }, - "id": 7483, + "id": 7841, "indexExpression": { "argumentTypes": null, - "id": 7482, + "id": 7840, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7472, - "src": "35864:14:6", + "referencedDeclaration": 7830, + "src": "41155:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -68131,35 +77730,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35852:27:6", + "src": "41143:27:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_SuperblockInfo_$7636_storage", + "typeIdentifier": "t_struct$_SuperblockInfo_$8137_storage", "typeString": "struct SyscoinSuperblocksI.SuperblockInfo storage ref" } }, - "id": 7484, + "id": 7842, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "parentId", "nodeType": "MemberAccess", - "referencedDeclaration": 7627, - "src": "35852:36:6", + "referencedDeclaration": 8128, + "src": "41143:36:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "35835:53:6", + "src": "41126:53:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 7486, + "id": 7844, "nodeType": "ExpressionStatement", - "src": "35835:53:6" + "src": "41126:53:6" } ] }, @@ -68169,7 +77768,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7479, + "id": 7837, "isConstant": false, "isLValue": false, "isPure": false, @@ -68179,12 +77778,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7476, + "id": 7834, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7472, - "src": "35794:14:6", + "referencedDeclaration": 7830, + "src": "41085:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -68198,18 +77797,18 @@ "typeString": "bytes32" } ], - "id": 7475, + "id": 7833, "name": "getSuperblockHeight", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7385, - "src": "35774:19:6", + "referencedDeclaration": 7743, + "src": "41065:19:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint32_$", "typeString": "function (bytes32) view returns (uint32)" } }, - "id": 7477, + "id": 7835, "isConstant": false, "isLValue": false, "isPure": false, @@ -68217,7 +77816,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "35774:35:6", + "src": "41065:35:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -68227,66 +77826,66 @@ "operator": ">", "rightExpression": { "argumentTypes": null, - "id": 7478, + "id": 7836, "name": "_height", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7466, - "src": "35812:7:6", + "referencedDeclaration": 7824, + "src": "41103:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "35774:45:6", + "src": "41065:45:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7488, + "id": 7846, "nodeType": "WhileStatement", - "src": "35767:132:6" + "src": "41058:132:6" }, { "expression": { "argumentTypes": null, - "id": 7489, + "id": 7847, "name": "superblockHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7472, - "src": "35916:14:6", + "referencedDeclaration": 7830, + "src": "41207:14:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 7470, - "id": 7490, + "functionReturnParameters": 7828, + "id": 7848, "nodeType": "Return", - "src": "35909:21:6" + "src": "41200:21:6" } ] }, "documentation": null, - "id": 7492, + "id": 7850, "implemented": true, "kind": "function", "modifiers": [], "name": "getSuperblockAt", "nodeType": "FunctionDefinition", "parameters": { - "id": 7467, + "id": 7825, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7466, + "id": 7824, "name": "_height", "nodeType": "VariableDeclaration", - "scope": 7492, - "src": "35661:12:6", + "scope": 7850, + "src": "40952:12:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68294,10 +77893,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7465, + "id": 7823, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "35661:4:6", + "src": "40952:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -68307,19 +77906,19 @@ "visibility": "internal" } ], - "src": "35660:14:6" + "src": "40951:14:6" }, "returnParameters": { - "id": 7470, + "id": 7828, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7469, + "id": 7827, "name": "", "nodeType": "VariableDeclaration", - "scope": 7492, - "src": "35698:7:6", + "scope": 7850, + "src": "40989:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68327,10 +77926,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7468, + "id": 7826, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "35698:7:6", + "src": "40989:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -68340,35 +77939,28 @@ "visibility": "internal" } ], - "src": "35697:9:6" + "src": "40988:9:6" }, - "scope": 7493, - "src": "35636:301:6", + "scope": 7851, + "src": "40927:301:6", "stateMutability": "view", - "superFunction": 7775, + "superFunction": 8276, "visibility": "external" } ], - "scope": 7494, - "src": "350:35589:6" + "scope": 7852, + "src": "350:40880:6" } ], - "src": "0:35940:6" + "src": "0:41231:6" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, - "networks": { - "4": { - "links": {}, - "events": {}, - "address": "0x0c206e62dB7478C7D55B5a8C39cACe72FCa29ef7", - "updated_at": 1576039501739 - } - }, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.538Z", + "networks": {}, + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.412Z", "devdoc": { "methods": { "getBridgeTransactionId(bytes)": { @@ -68390,12 +77982,26 @@ }, "return": "logs bloom" }, + "parseAssetTx(bytes)": { + "details": "Parse syscoin asset transaction to recover asset guid and contract, for purposes of updating asset registry in erc20manager", + "params": { + "txBytes": "syscoin raw transaction" + }, + "return": "errorCode, assetGuid, erc20Address" + }, "parseMintTx(bytes)": { "details": "Parse syscoin mint transaction to recover bridgeTransferId", "params": { "txBytes": "syscoin raw transaction" }, "return": "errorCode, bridgeTransferId" + }, + "scanAssetTx(bytes,uint256)": { + "params": { + "pos": "position at where to start parsing", + "txBytes": "syscoin raw transaction" + }, + "return": "asset guid (uint32) and erc20 address linked to the asset guid to update registry in erc20manager" } } }, @@ -68409,6 +78015,9 @@ }, "getLogValuesForTopic(bytes,bytes32)": { "notice": "Return logs for given ethereum transaction receipt" + }, + "scanAssetTx(bytes,uint256)": { + "notice": "Parse txBytes and returns assetguid + contract address" } } } diff --git a/build/contracts/SyscoinSuperblocksI.json b/build/contracts/SyscoinSuperblocksI.json index 478881d..d3ff03c 100644 --- a/build/contracts/SyscoinSuperblocksI.json +++ b/build/contracts/SyscoinSuperblocksI.json @@ -428,27 +428,78 @@ "payable": false, "stateMutability": "view", "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes", + "name": "_txBytes", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_txIndex", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "_txSiblings", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "_syscoinBlockHeader", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_syscoinBlockIndex", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "_syscoinBlockSiblings", + "type": "uint256[]" + }, + { + "internalType": "bytes32", + "name": "_superblockHash", + "type": "bytes32" + } + ], + "name": "relayAssetTx", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_challenger\",\"type\":\"address\"}],\"name\":\"challenge\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"confirm\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getBestSuperblock\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getChainHeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblock\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_submitter\",\"type\":\"address\"},{\"internalType\":\"enum SyscoinSuperblocksI.Status\",\"name\":\"_status\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"_height\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_height\",\"type\":\"uint256\"}],\"name\":\"getSuperblockAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockHeight\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockMedianTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockParentId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockStatus\",\"outputs\":[{\"internalType\":\"enum SyscoinSuperblocksI.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"invalidate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_txIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_txSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_syscoinBlockHeader\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_syscoinBlockIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_syscoinBlockSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"relayTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"semiApprove\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol\":\"SyscoinSuperblocksI\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol\":{\"keccak256\":\"0x45dee08e14623208dd251ab7df22264396bc6d7453f860b2168946bfe132e753\",\"urls\":[\"bzz-raw://63eeda0c89724a00b59e4833a6da6891dd8e69afb000122b861a6877a28a9c06\",\"dweb:/ipfs/QmZhyw5pkWaMAsKMBRfrCVNe7pjzuwgAZ6xRoK7pqLDcwk\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_challenger\",\"type\":\"address\"}],\"name\":\"challenge\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"confirm\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getBestSuperblock\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getChainHeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblock\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_submitter\",\"type\":\"address\"},{\"internalType\":\"enum SyscoinSuperblocksI.Status\",\"name\":\"_status\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"_height\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_height\",\"type\":\"uint256\"}],\"name\":\"getSuperblockAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockHeight\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockMedianTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockParentId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockStatus\",\"outputs\":[{\"internalType\":\"enum SyscoinSuperblocksI.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"getSuperblockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"invalidate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_blocksMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mtpTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_lastHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_lastBits\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_parentId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_txIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_txSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_syscoinBlockHeader\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_syscoinBlockIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_syscoinBlockSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"relayAssetTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_txBytes\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_txIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_txSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_syscoinBlockHeader\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_syscoinBlockIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_syscoinBlockSiblings\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"}],\"name\":\"relayTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_superblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"semiApprove\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol\":\"SyscoinSuperblocksI\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol\":{\"keccak256\":\"0x22ae5cd6c18f335811f46caab9c4f911daef746306114dc86c964f39b4aff0ff\",\"urls\":[\"bzz-raw://7755b0206b8e358b313589d9e47f9491f0d002ba509bc2b11d1bd2463f0f0c84\",\"dweb:/ipfs/QmbiEPAhnUCd3ydxQj8NVYFM2bDpRRezhxfLoqdnuhbPnD\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", - "source": "pragma solidity ^0.5.13;\n\ninterface SyscoinSuperblocksI {\n\n // @dev - Superblock status\n enum Status { Uninitialized, New, InBattle, SemiApproved, Approved, Invalid }\n struct SuperblockInfo {\n bytes32 blocksMerkleRoot;\n uint timestamp;\n uint mtpTimestamp;\n bytes32 lastHash;\n bytes32 parentId;\n address submitter;\n uint32 lastBits;\n uint32 height;\n Status status;\n }\n function propose(\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentId,\n address submitter\n ) external returns (uint, bytes32);\n\n function getSuperblock(bytes32 superblockHash) external view returns (\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentId,\n address _submitter,\n Status _status,\n uint32 _height\n );\n\n function relayTx(\n bytes calldata _txBytes,\n uint _txIndex,\n uint[] calldata _txSiblings,\n bytes calldata _syscoinBlockHeader,\n uint _syscoinBlockIndex,\n uint[] calldata _syscoinBlockSiblings,\n bytes32 _superblockHash\n ) external returns (uint);\n\n function confirm(bytes32 _superblockHash, address _validator) external returns (uint);\n function challenge(bytes32 _superblockHash, address _challenger) external returns (uint);\n function semiApprove(bytes32 _superblockHash, address _validator) external returns (uint);\n function invalidate(bytes32 _superblockHash, address _validator) external returns (uint);\n function getBestSuperblock() external view returns (bytes32);\n function getChainHeight() external view returns (uint);\n function getSuperblockHeight(bytes32 superblockHash) external view returns (uint32);\n function getSuperblockParentId(bytes32 _superblockHash) external view returns (bytes32);\n function getSuperblockStatus(bytes32 _superblockHash) external view returns (Status);\n function getSuperblockAt(uint _height) external view returns (bytes32);\n function getSuperblockTimestamp(bytes32 _superblockHash) external view returns (uint);\n function getSuperblockMedianTimestamp(bytes32 _superblockHash) external view returns (uint);\n}\n", + "source": "pragma solidity ^0.5.13;\n\ninterface SyscoinSuperblocksI {\n\n // @dev - Superblock status\n enum Status { Uninitialized, New, InBattle, SemiApproved, Approved, Invalid }\n struct SuperblockInfo {\n bytes32 blocksMerkleRoot;\n uint timestamp;\n uint mtpTimestamp;\n bytes32 lastHash;\n bytes32 parentId;\n address submitter;\n uint32 lastBits;\n uint32 height;\n Status status;\n }\n function propose(\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentId,\n address submitter\n ) external returns (uint, bytes32);\n\n function getSuperblock(bytes32 superblockHash) external view returns (\n bytes32 _blocksMerkleRoot,\n uint _timestamp,\n uint _mtpTimestamp,\n bytes32 _lastHash,\n uint32 _lastBits,\n bytes32 _parentId,\n address _submitter,\n Status _status,\n uint32 _height\n );\n\n function relayTx(\n bytes calldata _txBytes,\n uint _txIndex,\n uint[] calldata _txSiblings,\n bytes calldata _syscoinBlockHeader,\n uint _syscoinBlockIndex,\n uint[] calldata _syscoinBlockSiblings,\n bytes32 _superblockHash\n ) external returns (uint);\n\n function confirm(bytes32 _superblockHash, address _validator) external returns (uint);\n function challenge(bytes32 _superblockHash, address _challenger) external returns (uint);\n function semiApprove(bytes32 _superblockHash, address _validator) external returns (uint);\n function invalidate(bytes32 _superblockHash, address _validator) external returns (uint);\n function getBestSuperblock() external view returns (bytes32);\n function getChainHeight() external view returns (uint);\n function getSuperblockHeight(bytes32 superblockHash) external view returns (uint32);\n function getSuperblockParentId(bytes32 _superblockHash) external view returns (bytes32);\n function getSuperblockStatus(bytes32 _superblockHash) external view returns (Status);\n function getSuperblockAt(uint _height) external view returns (bytes32);\n function getSuperblockTimestamp(bytes32 _superblockHash) external view returns (uint);\n function getSuperblockMedianTimestamp(bytes32 _superblockHash) external view returns (uint);\n\n function relayAssetTx(\n bytes calldata _txBytes,\n uint _txIndex,\n uint[] calldata _txSiblings,\n bytes calldata _syscoinBlockHeader,\n uint _syscoinBlockIndex,\n uint[] calldata _syscoinBlockSiblings,\n bytes32 _superblockHash\n ) external returns (uint);\n}\n", "sourcePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol", "ast": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol", "exportedSymbols": { "SyscoinSuperblocksI": [ - 7790 + 8312 ] }, - "id": 7791, + "id": 8313, "nodeType": "SourceUnit", "nodes": [ { - "id": 7610, + "id": 8111, "literals": [ "solidity", "^", @@ -456,7 +507,7 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:11" + "src": "0:24:12" }, { "baseContracts": [], @@ -464,69 +515,69 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 7790, + "id": 8312, "linearizedBaseContracts": [ - 7790 + 8312 ], "name": "SyscoinSuperblocksI", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "SyscoinSuperblocksI.Status", - "id": 7617, + "id": 8118, "members": [ { - "id": 7611, + "id": 8112, "name": "Uninitialized", "nodeType": "EnumValue", - "src": "109:13:11" + "src": "109:13:12" }, { - "id": 7612, + "id": 8113, "name": "New", "nodeType": "EnumValue", - "src": "124:3:11" + "src": "124:3:12" }, { - "id": 7613, + "id": 8114, "name": "InBattle", "nodeType": "EnumValue", - "src": "129:8:11" + "src": "129:8:12" }, { - "id": 7614, + "id": 8115, "name": "SemiApproved", "nodeType": "EnumValue", - "src": "139:12:11" + "src": "139:12:12" }, { - "id": 7615, + "id": 8116, "name": "Approved", "nodeType": "EnumValue", - "src": "153:8:11" + "src": "153:8:12" }, { - "id": 7616, + "id": 8117, "name": "Invalid", "nodeType": "EnumValue", - "src": "163:7:11" + "src": "163:7:12" } ], "name": "Status", "nodeType": "EnumDefinition", - "src": "95:77:11" + "src": "95:77:12" }, { "canonicalName": "SyscoinSuperblocksI.SuperblockInfo", - "id": 7636, + "id": 8137, "members": [ { "constant": false, - "id": 7619, + "id": 8120, "name": "blocksMerkleRoot", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "209:24:11", + "scope": 8137, + "src": "209:24:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -534,10 +585,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7618, + "id": 8119, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "209:7:11", + "src": "209:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -548,11 +599,11 @@ }, { "constant": false, - "id": 7621, + "id": 8122, "name": "timestamp", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "243:14:11", + "scope": 8137, + "src": "243:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -560,10 +611,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7620, + "id": 8121, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "243:4:11", + "src": "243:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -574,11 +625,11 @@ }, { "constant": false, - "id": 7623, + "id": 8124, "name": "mtpTimestamp", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "267:17:11", + "scope": 8137, + "src": "267:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -586,10 +637,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7622, + "id": 8123, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "267:4:11", + "src": "267:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -600,11 +651,11 @@ }, { "constant": false, - "id": 7625, + "id": 8126, "name": "lastHash", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "294:16:11", + "scope": 8137, + "src": "294:16:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -612,10 +663,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7624, + "id": 8125, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "294:7:11", + "src": "294:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -626,11 +677,11 @@ }, { "constant": false, - "id": 7627, + "id": 8128, "name": "parentId", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "320:16:11", + "scope": 8137, + "src": "320:16:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -638,10 +689,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7626, + "id": 8127, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "320:7:11", + "src": "320:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -652,11 +703,11 @@ }, { "constant": false, - "id": 7629, + "id": 8130, "name": "submitter", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "346:17:11", + "scope": 8137, + "src": "346:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -664,10 +715,10 @@ "typeString": "address" }, "typeName": { - "id": 7628, + "id": 8129, "name": "address", "nodeType": "ElementaryTypeName", - "src": "346:7:11", + "src": "346:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -679,11 +730,11 @@ }, { "constant": false, - "id": 7631, + "id": 8132, "name": "lastBits", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "373:15:11", + "scope": 8137, + "src": "373:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -691,10 +742,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7630, + "id": 8131, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "373:6:11", + "src": "373:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -705,11 +756,11 @@ }, { "constant": false, - "id": 7633, + "id": 8134, "name": "height", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "398:13:11", + "scope": 8137, + "src": "398:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -717,10 +768,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7632, + "id": 8133, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "398:6:11", + "src": "398:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -731,26 +782,26 @@ }, { "constant": false, - "id": 7635, + "id": 8136, "name": "status", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "421:13:11", + "scope": 8137, + "src": "421:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { "contractScope": null, - "id": 7634, + "id": 8135, "name": "Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "421:6:11", + "referencedDeclaration": 8118, + "src": "421:6:12", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -760,30 +811,30 @@ ], "name": "SuperblockInfo", "nodeType": "StructDefinition", - "scope": 7790, - "src": "177:264:11", + "scope": 8312, + "src": "177:264:12", "visibility": "public" }, { "body": null, "documentation": null, - "id": 7657, + "id": 8158, "implemented": false, "kind": "function", "modifiers": [], "name": "propose", "nodeType": "FunctionDefinition", "parameters": { - "id": 7651, + "id": 8152, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7638, + "id": 8139, "name": "_blocksMerkleRoot", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "472:25:11", + "scope": 8158, + "src": "472:25:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -791,10 +842,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7637, + "id": 8138, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "472:7:11", + "src": "472:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -805,11 +856,11 @@ }, { "constant": false, - "id": 7640, + "id": 8141, "name": "_timestamp", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "507:15:11", + "scope": 8158, + "src": "507:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -817,10 +868,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7639, + "id": 8140, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "507:4:11", + "src": "507:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -831,11 +882,11 @@ }, { "constant": false, - "id": 7642, + "id": 8143, "name": "_mtpTimestamp", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "532:18:11", + "scope": 8158, + "src": "532:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -843,10 +894,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7641, + "id": 8142, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "532:4:11", + "src": "532:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -857,11 +908,11 @@ }, { "constant": false, - "id": 7644, + "id": 8145, "name": "_lastHash", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "560:17:11", + "scope": 8158, + "src": "560:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -869,10 +920,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7643, + "id": 8144, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "560:7:11", + "src": "560:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -883,11 +934,11 @@ }, { "constant": false, - "id": 7646, + "id": 8147, "name": "_lastBits", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "587:16:11", + "scope": 8158, + "src": "587:16:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -895,10 +946,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7645, + "id": 8146, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "587:6:11", + "src": "587:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -909,11 +960,11 @@ }, { "constant": false, - "id": 7648, + "id": 8149, "name": "_parentId", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "613:17:11", + "scope": 8158, + "src": "613:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -921,10 +972,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7647, + "id": 8148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "613:7:11", + "src": "613:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -935,11 +986,11 @@ }, { "constant": false, - "id": 7650, + "id": 8151, "name": "submitter", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "640:17:11", + "scope": 8158, + "src": "640:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -947,10 +998,10 @@ "typeString": "address" }, "typeName": { - "id": 7649, + "id": 8150, "name": "address", "nodeType": "ElementaryTypeName", - "src": "640:7:11", + "src": "640:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -961,19 +1012,19 @@ "visibility": "internal" } ], - "src": "462:201:11" + "src": "462:201:12" }, "returnParameters": { - "id": 7656, + "id": 8157, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7653, + "id": 8154, "name": "", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "682:4:11", + "scope": 8158, + "src": "682:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -981,10 +1032,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7652, + "id": 8153, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "682:4:11", + "src": "682:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -995,11 +1046,11 @@ }, { "constant": false, - "id": 7655, + "id": 8156, "name": "", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "688:7:11", + "scope": 8158, + "src": "688:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1007,10 +1058,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7654, + "id": 8155, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "688:7:11", + "src": "688:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1020,10 +1071,10 @@ "visibility": "internal" } ], - "src": "681:15:11" + "src": "681:15:12" }, - "scope": 7790, - "src": "446:251:11", + "scope": 8312, + "src": "446:251:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1031,23 +1082,23 @@ { "body": null, "documentation": null, - "id": 7680, + "id": 8181, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblock", "nodeType": "FunctionDefinition", "parameters": { - "id": 7660, + "id": 8161, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7659, + "id": 8160, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "726:22:11", + "scope": 8181, + "src": "726:22:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1055,10 +1106,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7658, + "id": 8159, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "726:7:11", + "src": "726:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1068,19 +1119,19 @@ "visibility": "internal" } ], - "src": "725:24:11" + "src": "725:24:12" }, "returnParameters": { - "id": 7679, + "id": 8180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7662, + "id": 8163, "name": "_blocksMerkleRoot", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "782:25:11", + "scope": 8181, + "src": "782:25:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1088,10 +1139,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7661, + "id": 8162, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "782:7:11", + "src": "782:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1102,11 +1153,11 @@ }, { "constant": false, - "id": 7664, + "id": 8165, "name": "_timestamp", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "817:15:11", + "scope": 8181, + "src": "817:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1114,10 +1165,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7663, + "id": 8164, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "817:4:11", + "src": "817:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1128,11 +1179,11 @@ }, { "constant": false, - "id": 7666, + "id": 8167, "name": "_mtpTimestamp", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "842:18:11", + "scope": 8181, + "src": "842:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1140,10 +1191,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7665, + "id": 8166, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "842:4:11", + "src": "842:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1154,11 +1205,11 @@ }, { "constant": false, - "id": 7668, + "id": 8169, "name": "_lastHash", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "870:17:11", + "scope": 8181, + "src": "870:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1166,10 +1217,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7667, + "id": 8168, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "870:7:11", + "src": "870:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1180,11 +1231,11 @@ }, { "constant": false, - "id": 7670, + "id": 8171, "name": "_lastBits", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "897:16:11", + "scope": 8181, + "src": "897:16:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1192,10 +1243,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7669, + "id": 8170, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "897:6:11", + "src": "897:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1206,11 +1257,11 @@ }, { "constant": false, - "id": 7672, + "id": 8173, "name": "_parentId", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "923:17:11", + "scope": 8181, + "src": "923:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1218,10 +1269,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7671, + "id": 8172, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "923:7:11", + "src": "923:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1232,11 +1283,11 @@ }, { "constant": false, - "id": 7674, + "id": 8175, "name": "_submitter", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "950:18:11", + "scope": 8181, + "src": "950:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1244,10 +1295,10 @@ "typeString": "address" }, "typeName": { - "id": 7673, + "id": 8174, "name": "address", "nodeType": "ElementaryTypeName", - "src": "950:7:11", + "src": "950:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1259,26 +1310,26 @@ }, { "constant": false, - "id": 7676, + "id": 8177, "name": "_status", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "978:14:11", + "scope": 8181, + "src": "978:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { "contractScope": null, - "id": 7675, + "id": 8176, "name": "Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "978:6:11", + "referencedDeclaration": 8118, + "src": "978:6:12", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -1287,11 +1338,11 @@ }, { "constant": false, - "id": 7678, + "id": 8179, "name": "_height", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "1002:14:11", + "scope": 8181, + "src": "1002:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1299,10 +1350,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7677, + "id": 8178, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1002:6:11", + "src": "1002:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1312,10 +1363,10 @@ "visibility": "internal" } ], - "src": "772:250:11" + "src": "772:250:12" }, - "scope": 7790, - "src": "703:320:11", + "scope": 8312, + "src": "703:320:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -1323,23 +1374,23 @@ { "body": null, "documentation": null, - "id": 7701, + "id": 8202, "implemented": false, "kind": "function", "modifiers": [], "name": "relayTx", "nodeType": "FunctionDefinition", "parameters": { - "id": 7697, + "id": 8198, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7682, + "id": 8183, "name": "_txBytes", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1055:23:11", + "scope": 8202, + "src": "1055:23:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -1347,10 +1398,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7681, + "id": 8182, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1055:5:11", + "src": "1055:5:12", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1361,11 +1412,11 @@ }, { "constant": false, - "id": 7684, + "id": 8185, "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1088:13:11", + "scope": 8202, + "src": "1088:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1373,10 +1424,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7683, + "id": 8184, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1088:4:11", + "src": "1088:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1387,11 +1438,11 @@ }, { "constant": false, - "id": 7687, + "id": 8188, "name": "_txSiblings", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1111:27:11", + "scope": 8202, + "src": "1111:27:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -1400,19 +1451,19 @@ }, "typeName": { "baseType": { - "id": 7685, + "id": 8186, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1111:4:11", + "src": "1111:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7686, + "id": 8187, "length": null, "nodeType": "ArrayTypeName", - "src": "1111:6:11", + "src": "1111:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -1423,11 +1474,11 @@ }, { "constant": false, - "id": 7689, + "id": 8190, "name": "_syscoinBlockHeader", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1148:34:11", + "scope": 8202, + "src": "1148:34:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -1435,10 +1486,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7688, + "id": 8189, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1148:5:11", + "src": "1148:5:12", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1449,11 +1500,11 @@ }, { "constant": false, - "id": 7691, + "id": 8192, "name": "_syscoinBlockIndex", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1192:23:11", + "scope": 8202, + "src": "1192:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1461,10 +1512,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7690, + "id": 8191, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1192:4:11", + "src": "1192:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1475,11 +1526,11 @@ }, { "constant": false, - "id": 7694, + "id": 8195, "name": "_syscoinBlockSiblings", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1225:37:11", + "scope": 8202, + "src": "1225:37:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -1488,19 +1539,19 @@ }, "typeName": { "baseType": { - "id": 7692, + "id": 8193, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1225:4:11", + "src": "1225:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7693, + "id": 8194, "length": null, "nodeType": "ArrayTypeName", - "src": "1225:6:11", + "src": "1225:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -1511,11 +1562,11 @@ }, { "constant": false, - "id": 7696, + "id": 8197, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1272:23:11", + "scope": 8202, + "src": "1272:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1523,10 +1574,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7695, + "id": 8196, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1272:7:11", + "src": "1272:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1536,19 +1587,19 @@ "visibility": "internal" } ], - "src": "1045:256:11" + "src": "1045:256:12" }, "returnParameters": { - "id": 7700, + "id": 8201, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7699, + "id": 8200, "name": "", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1320:4:11", + "scope": 8202, + "src": "1320:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1556,10 +1607,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7698, + "id": 8199, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1320:4:11", + "src": "1320:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1569,10 +1620,10 @@ "visibility": "internal" } ], - "src": "1319:6:11" + "src": "1319:6:12" }, - "scope": 7790, - "src": "1029:297:11", + "scope": 8312, + "src": "1029:297:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1580,23 +1631,23 @@ { "body": null, "documentation": null, - "id": 7710, + "id": 8211, "implemented": false, "kind": "function", "modifiers": [], "name": "confirm", "nodeType": "FunctionDefinition", "parameters": { - "id": 7706, + "id": 8207, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7703, + "id": 8204, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7710, - "src": "1349:23:11", + "scope": 8211, + "src": "1349:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1604,10 +1655,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7702, + "id": 8203, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1349:7:11", + "src": "1349:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1618,11 +1669,11 @@ }, { "constant": false, - "id": 7705, + "id": 8206, "name": "_validator", "nodeType": "VariableDeclaration", - "scope": 7710, - "src": "1374:18:11", + "scope": 8211, + "src": "1374:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1630,10 +1681,10 @@ "typeString": "address" }, "typeName": { - "id": 7704, + "id": 8205, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1374:7:11", + "src": "1374:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1644,19 +1695,19 @@ "visibility": "internal" } ], - "src": "1348:45:11" + "src": "1348:45:12" }, "returnParameters": { - "id": 7709, + "id": 8210, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7708, + "id": 8209, "name": "", "nodeType": "VariableDeclaration", - "scope": 7710, - "src": "1412:4:11", + "scope": 8211, + "src": "1412:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1664,10 +1715,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7707, + "id": 8208, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1412:4:11", + "src": "1412:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1677,10 +1728,10 @@ "visibility": "internal" } ], - "src": "1411:6:11" + "src": "1411:6:12" }, - "scope": 7790, - "src": "1332:86:11", + "scope": 8312, + "src": "1332:86:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1688,23 +1739,23 @@ { "body": null, "documentation": null, - "id": 7719, + "id": 8220, "implemented": false, "kind": "function", "modifiers": [], "name": "challenge", "nodeType": "FunctionDefinition", "parameters": { - "id": 7715, + "id": 8216, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7712, + "id": 8213, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7719, - "src": "1442:23:11", + "scope": 8220, + "src": "1442:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1712,10 +1763,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7711, + "id": 8212, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1442:7:11", + "src": "1442:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1726,11 +1777,11 @@ }, { "constant": false, - "id": 7714, + "id": 8215, "name": "_challenger", "nodeType": "VariableDeclaration", - "scope": 7719, - "src": "1467:19:11", + "scope": 8220, + "src": "1467:19:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1738,10 +1789,10 @@ "typeString": "address" }, "typeName": { - "id": 7713, + "id": 8214, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1467:7:11", + "src": "1467:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1752,19 +1803,19 @@ "visibility": "internal" } ], - "src": "1441:46:11" + "src": "1441:46:12" }, "returnParameters": { - "id": 7718, + "id": 8219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7717, + "id": 8218, "name": "", "nodeType": "VariableDeclaration", - "scope": 7719, - "src": "1506:4:11", + "scope": 8220, + "src": "1506:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1772,10 +1823,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7716, + "id": 8217, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1506:4:11", + "src": "1506:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1785,10 +1836,10 @@ "visibility": "internal" } ], - "src": "1505:6:11" + "src": "1505:6:12" }, - "scope": 7790, - "src": "1423:89:11", + "scope": 8312, + "src": "1423:89:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1796,23 +1847,23 @@ { "body": null, "documentation": null, - "id": 7728, + "id": 8229, "implemented": false, "kind": "function", "modifiers": [], "name": "semiApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 7724, + "id": 8225, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7721, + "id": 8222, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7728, - "src": "1538:23:11", + "scope": 8229, + "src": "1538:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1820,10 +1871,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7720, + "id": 8221, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1538:7:11", + "src": "1538:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1834,11 +1885,11 @@ }, { "constant": false, - "id": 7723, + "id": 8224, "name": "_validator", "nodeType": "VariableDeclaration", - "scope": 7728, - "src": "1563:18:11", + "scope": 8229, + "src": "1563:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1846,10 +1897,10 @@ "typeString": "address" }, "typeName": { - "id": 7722, + "id": 8223, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1563:7:11", + "src": "1563:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1860,19 +1911,19 @@ "visibility": "internal" } ], - "src": "1537:45:11" + "src": "1537:45:12" }, "returnParameters": { - "id": 7727, + "id": 8228, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7726, + "id": 8227, "name": "", "nodeType": "VariableDeclaration", - "scope": 7728, - "src": "1601:4:11", + "scope": 8229, + "src": "1601:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1880,10 +1931,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7725, + "id": 8226, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1601:4:11", + "src": "1601:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1893,10 +1944,10 @@ "visibility": "internal" } ], - "src": "1600:6:11" + "src": "1600:6:12" }, - "scope": 7790, - "src": "1517:90:11", + "scope": 8312, + "src": "1517:90:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1904,23 +1955,23 @@ { "body": null, "documentation": null, - "id": 7737, + "id": 8238, "implemented": false, "kind": "function", "modifiers": [], "name": "invalidate", "nodeType": "FunctionDefinition", "parameters": { - "id": 7733, + "id": 8234, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7730, + "id": 8231, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7737, - "src": "1632:23:11", + "scope": 8238, + "src": "1632:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1928,10 +1979,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7729, + "id": 8230, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1632:7:11", + "src": "1632:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1942,11 +1993,11 @@ }, { "constant": false, - "id": 7732, + "id": 8233, "name": "_validator", "nodeType": "VariableDeclaration", - "scope": 7737, - "src": "1657:18:11", + "scope": 8238, + "src": "1657:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1954,10 +2005,10 @@ "typeString": "address" }, "typeName": { - "id": 7731, + "id": 8232, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1657:7:11", + "src": "1657:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1968,19 +2019,19 @@ "visibility": "internal" } ], - "src": "1631:45:11" + "src": "1631:45:12" }, "returnParameters": { - "id": 7736, + "id": 8237, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7735, + "id": 8236, "name": "", "nodeType": "VariableDeclaration", - "scope": 7737, - "src": "1695:4:11", + "scope": 8238, + "src": "1695:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1988,10 +2039,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7734, + "id": 8235, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1695:4:11", + "src": "1695:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2001,10 +2052,10 @@ "visibility": "internal" } ], - "src": "1694:6:11" + "src": "1694:6:12" }, - "scope": 7790, - "src": "1612:89:11", + "scope": 8312, + "src": "1612:89:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -2012,29 +2063,29 @@ { "body": null, "documentation": null, - "id": 7742, + "id": 8243, "implemented": false, "kind": "function", "modifiers": [], "name": "getBestSuperblock", "nodeType": "FunctionDefinition", "parameters": { - "id": 7738, + "id": 8239, "nodeType": "ParameterList", "parameters": [], - "src": "1732:2:11" + "src": "1732:2:12" }, "returnParameters": { - "id": 7741, + "id": 8242, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7740, + "id": 8241, "name": "", "nodeType": "VariableDeclaration", - "scope": 7742, - "src": "1758:7:11", + "scope": 8243, + "src": "1758:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2042,10 +2093,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7739, + "id": 8240, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1758:7:11", + "src": "1758:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2055,10 +2106,10 @@ "visibility": "internal" } ], - "src": "1757:9:11" + "src": "1757:9:12" }, - "scope": 7790, - "src": "1706:61:11", + "scope": 8312, + "src": "1706:61:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -2066,29 +2117,29 @@ { "body": null, "documentation": null, - "id": 7747, + "id": 8248, "implemented": false, "kind": "function", "modifiers": [], "name": "getChainHeight", "nodeType": "FunctionDefinition", "parameters": { - "id": 7743, + "id": 8244, "nodeType": "ParameterList", "parameters": [], - "src": "1795:2:11" + "src": "1795:2:12" }, "returnParameters": { - "id": 7746, + "id": 8247, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7745, + "id": 8246, "name": "", "nodeType": "VariableDeclaration", - "scope": 7747, - "src": "1821:4:11", + "scope": 8248, + "src": "1821:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2096,10 +2147,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7744, + "id": 8245, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1821:4:11", + "src": "1821:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2109,10 +2160,10 @@ "visibility": "internal" } ], - "src": "1820:6:11" + "src": "1820:6:12" }, - "scope": 7790, - "src": "1772:55:11", + "scope": 8312, + "src": "1772:55:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -2120,23 +2171,23 @@ { "body": null, "documentation": null, - "id": 7754, + "id": 8255, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblockHeight", "nodeType": "FunctionDefinition", "parameters": { - "id": 7750, + "id": 8251, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7749, + "id": 8250, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7754, - "src": "1861:22:11", + "scope": 8255, + "src": "1861:22:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2144,10 +2195,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7748, + "id": 8249, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1861:7:11", + "src": "1861:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2157,19 +2208,19 @@ "visibility": "internal" } ], - "src": "1860:24:11" + "src": "1860:24:12" }, "returnParameters": { - "id": 7753, + "id": 8254, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7752, + "id": 8253, "name": "", "nodeType": "VariableDeclaration", - "scope": 7754, - "src": "1908:6:11", + "scope": 8255, + "src": "1908:6:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2177,10 +2228,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7751, + "id": 8252, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1908:6:11", + "src": "1908:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2190,10 +2241,10 @@ "visibility": "internal" } ], - "src": "1907:8:11" + "src": "1907:8:12" }, - "scope": 7790, - "src": "1832:84:11", + "scope": 8312, + "src": "1832:84:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -2201,23 +2252,23 @@ { "body": null, "documentation": null, - "id": 7761, + "id": 8262, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblockParentId", "nodeType": "FunctionDefinition", "parameters": { - "id": 7757, + "id": 8258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7756, + "id": 8257, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7761, - "src": "1952:23:11", + "scope": 8262, + "src": "1952:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2225,10 +2276,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7755, + "id": 8256, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1952:7:11", + "src": "1952:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2238,19 +2289,19 @@ "visibility": "internal" } ], - "src": "1951:25:11" + "src": "1951:25:12" }, "returnParameters": { - "id": 7760, + "id": 8261, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7759, + "id": 8260, "name": "", "nodeType": "VariableDeclaration", - "scope": 7761, - "src": "2000:7:11", + "scope": 8262, + "src": "2000:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2258,10 +2309,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7758, + "id": 8259, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2000:7:11", + "src": "2000:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2271,10 +2322,10 @@ "visibility": "internal" } ], - "src": "1999:9:11" + "src": "1999:9:12" }, - "scope": 7790, - "src": "1921:88:11", + "scope": 8312, + "src": "1921:88:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -2282,23 +2333,23 @@ { "body": null, "documentation": null, - "id": 7768, + "id": 8269, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblockStatus", "nodeType": "FunctionDefinition", "parameters": { - "id": 7764, + "id": 8265, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7763, + "id": 8264, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7768, - "src": "2043:23:11", + "scope": 8269, + "src": "2043:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2306,10 +2357,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7762, + "id": 8263, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2043:7:11", + "src": "2043:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2319,34 +2370,34 @@ "visibility": "internal" } ], - "src": "2042:25:11" + "src": "2042:25:12" }, "returnParameters": { - "id": 7767, + "id": 8268, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7766, + "id": 8267, "name": "", "nodeType": "VariableDeclaration", - "scope": 7768, - "src": "2091:6:11", + "scope": 8269, + "src": "2091:6:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { "contractScope": null, - "id": 7765, + "id": 8266, "name": "Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "2091:6:11", + "referencedDeclaration": 8118, + "src": "2091:6:12", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -2354,10 +2405,10 @@ "visibility": "internal" } ], - "src": "2090:8:11" + "src": "2090:8:12" }, - "scope": 7790, - "src": "2014:85:11", + "scope": 8312, + "src": "2014:85:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -2365,23 +2416,23 @@ { "body": null, "documentation": null, - "id": 7775, + "id": 8276, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblockAt", "nodeType": "FunctionDefinition", "parameters": { - "id": 7771, + "id": 8272, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7770, + "id": 8271, "name": "_height", "nodeType": "VariableDeclaration", - "scope": 7775, - "src": "2129:12:11", + "scope": 8276, + "src": "2129:12:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2389,10 +2440,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7769, + "id": 8270, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2129:4:11", + "src": "2129:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2402,19 +2453,19 @@ "visibility": "internal" } ], - "src": "2128:14:11" + "src": "2128:14:12" }, "returnParameters": { - "id": 7774, + "id": 8275, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7773, + "id": 8274, "name": "", "nodeType": "VariableDeclaration", - "scope": 7775, - "src": "2166:7:11", + "scope": 8276, + "src": "2166:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2422,10 +2473,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7772, + "id": 8273, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2166:7:11", + "src": "2166:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2435,10 +2486,10 @@ "visibility": "internal" } ], - "src": "2165:9:11" + "src": "2165:9:12" }, - "scope": 7790, - "src": "2104:71:11", + "scope": 8312, + "src": "2104:71:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -2446,23 +2497,23 @@ { "body": null, "documentation": null, - "id": 7782, + "id": 8283, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblockTimestamp", "nodeType": "FunctionDefinition", "parameters": { - "id": 7778, + "id": 8279, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7777, + "id": 8278, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7782, - "src": "2212:23:11", + "scope": 8283, + "src": "2212:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2470,10 +2521,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7776, + "id": 8277, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2212:7:11", + "src": "2212:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2483,19 +2534,19 @@ "visibility": "internal" } ], - "src": "2211:25:11" + "src": "2211:25:12" }, "returnParameters": { - "id": 7781, + "id": 8282, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7780, + "id": 8281, "name": "", "nodeType": "VariableDeclaration", - "scope": 7782, - "src": "2260:4:11", + "scope": 8283, + "src": "2260:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2503,10 +2554,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7779, + "id": 8280, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2260:4:11", + "src": "2260:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2516,10 +2567,10 @@ "visibility": "internal" } ], - "src": "2259:6:11" + "src": "2259:6:12" }, - "scope": 7790, - "src": "2180:86:11", + "scope": 8312, + "src": "2180:86:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -2527,23 +2578,23 @@ { "body": null, "documentation": null, - "id": 7789, + "id": 8290, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblockMedianTimestamp", "nodeType": "FunctionDefinition", "parameters": { - "id": 7785, + "id": 8286, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7784, + "id": 8285, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7789, - "src": "2309:23:11", + "scope": 8290, + "src": "2309:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2551,10 +2602,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7783, + "id": 8284, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2309:7:11", + "src": "2309:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2564,19 +2615,19 @@ "visibility": "internal" } ], - "src": "2308:25:11" + "src": "2308:25:12" }, "returnParameters": { - "id": 7788, + "id": 8289, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7787, + "id": 8288, "name": "", "nodeType": "VariableDeclaration", - "scope": 7789, - "src": "2357:4:11", + "scope": 8290, + "src": "2357:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2584,10 +2635,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7786, + "id": 8287, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2357:4:11", + "src": "2357:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2597,33 +2648,290 @@ "visibility": "internal" } ], - "src": "2356:6:11" + "src": "2356:6:12" }, - "scope": 7790, - "src": "2271:92:11", + "scope": 8312, + "src": "2271:92:12", "stateMutability": "view", "superFunction": null, "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 8311, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "relayAssetTx", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8292, + "name": "_txBytes", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2400:23:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8291, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2400:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8294, + "name": "_txIndex", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2433:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8293, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2433:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8297, + "name": "_txSiblings", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2456:27:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8295, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2456:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8296, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2456:6:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8299, + "name": "_syscoinBlockHeader", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2493:34:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8298, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2493:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8301, + "name": "_syscoinBlockIndex", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2537:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8300, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2537:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8304, + "name": "_syscoinBlockSiblings", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2570:37:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8302, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2570:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8303, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2570:6:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8306, + "name": "_superblockHash", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2617:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8305, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2617:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2390:256:12" + }, + "returnParameters": { + "id": 8310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8309, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2665:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8308, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2665:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2664:6:12" + }, + "scope": 8312, + "src": "2369:302:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" } ], - "scope": 7791, - "src": "26:2339:11" + "scope": 8313, + "src": "26:2647:12" } ], - "src": "0:2366:11" + "src": "0:2674:12" }, "legacyAST": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/interfaces/SyscoinSuperblocksI.sol", "exportedSymbols": { "SyscoinSuperblocksI": [ - 7790 + 8312 ] }, - "id": 7791, + "id": 8313, "nodeType": "SourceUnit", "nodes": [ { - "id": 7610, + "id": 8111, "literals": [ "solidity", "^", @@ -2631,7 +2939,7 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:11" + "src": "0:24:12" }, { "baseContracts": [], @@ -2639,69 +2947,69 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 7790, + "id": 8312, "linearizedBaseContracts": [ - 7790 + 8312 ], "name": "SyscoinSuperblocksI", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "SyscoinSuperblocksI.Status", - "id": 7617, + "id": 8118, "members": [ { - "id": 7611, + "id": 8112, "name": "Uninitialized", "nodeType": "EnumValue", - "src": "109:13:11" + "src": "109:13:12" }, { - "id": 7612, + "id": 8113, "name": "New", "nodeType": "EnumValue", - "src": "124:3:11" + "src": "124:3:12" }, { - "id": 7613, + "id": 8114, "name": "InBattle", "nodeType": "EnumValue", - "src": "129:8:11" + "src": "129:8:12" }, { - "id": 7614, + "id": 8115, "name": "SemiApproved", "nodeType": "EnumValue", - "src": "139:12:11" + "src": "139:12:12" }, { - "id": 7615, + "id": 8116, "name": "Approved", "nodeType": "EnumValue", - "src": "153:8:11" + "src": "153:8:12" }, { - "id": 7616, + "id": 8117, "name": "Invalid", "nodeType": "EnumValue", - "src": "163:7:11" + "src": "163:7:12" } ], "name": "Status", "nodeType": "EnumDefinition", - "src": "95:77:11" + "src": "95:77:12" }, { "canonicalName": "SyscoinSuperblocksI.SuperblockInfo", - "id": 7636, + "id": 8137, "members": [ { "constant": false, - "id": 7619, + "id": 8120, "name": "blocksMerkleRoot", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "209:24:11", + "scope": 8137, + "src": "209:24:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2709,10 +3017,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7618, + "id": 8119, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "209:7:11", + "src": "209:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2723,11 +3031,11 @@ }, { "constant": false, - "id": 7621, + "id": 8122, "name": "timestamp", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "243:14:11", + "scope": 8137, + "src": "243:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2735,10 +3043,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7620, + "id": 8121, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "243:4:11", + "src": "243:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2749,11 +3057,11 @@ }, { "constant": false, - "id": 7623, + "id": 8124, "name": "mtpTimestamp", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "267:17:11", + "scope": 8137, + "src": "267:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2761,10 +3069,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7622, + "id": 8123, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "267:4:11", + "src": "267:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2775,11 +3083,11 @@ }, { "constant": false, - "id": 7625, + "id": 8126, "name": "lastHash", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "294:16:11", + "scope": 8137, + "src": "294:16:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2787,10 +3095,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7624, + "id": 8125, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "294:7:11", + "src": "294:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2801,11 +3109,11 @@ }, { "constant": false, - "id": 7627, + "id": 8128, "name": "parentId", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "320:16:11", + "scope": 8137, + "src": "320:16:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2813,10 +3121,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7626, + "id": 8127, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "320:7:11", + "src": "320:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2827,11 +3135,11 @@ }, { "constant": false, - "id": 7629, + "id": 8130, "name": "submitter", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "346:17:11", + "scope": 8137, + "src": "346:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2839,10 +3147,10 @@ "typeString": "address" }, "typeName": { - "id": 7628, + "id": 8129, "name": "address", "nodeType": "ElementaryTypeName", - "src": "346:7:11", + "src": "346:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2854,11 +3162,11 @@ }, { "constant": false, - "id": 7631, + "id": 8132, "name": "lastBits", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "373:15:11", + "scope": 8137, + "src": "373:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2866,10 +3174,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7630, + "id": 8131, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "373:6:11", + "src": "373:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2880,11 +3188,11 @@ }, { "constant": false, - "id": 7633, + "id": 8134, "name": "height", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "398:13:11", + "scope": 8137, + "src": "398:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2892,10 +3200,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7632, + "id": 8133, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "398:6:11", + "src": "398:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2906,26 +3214,26 @@ }, { "constant": false, - "id": 7635, + "id": 8136, "name": "status", "nodeType": "VariableDeclaration", - "scope": 7636, - "src": "421:13:11", + "scope": 8137, + "src": "421:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { "contractScope": null, - "id": 7634, + "id": 8135, "name": "Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "421:6:11", + "referencedDeclaration": 8118, + "src": "421:6:12", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -2935,30 +3243,30 @@ ], "name": "SuperblockInfo", "nodeType": "StructDefinition", - "scope": 7790, - "src": "177:264:11", + "scope": 8312, + "src": "177:264:12", "visibility": "public" }, { "body": null, "documentation": null, - "id": 7657, + "id": 8158, "implemented": false, "kind": "function", "modifiers": [], "name": "propose", "nodeType": "FunctionDefinition", "parameters": { - "id": 7651, + "id": 8152, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7638, + "id": 8139, "name": "_blocksMerkleRoot", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "472:25:11", + "scope": 8158, + "src": "472:25:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2966,10 +3274,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7637, + "id": 8138, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "472:7:11", + "src": "472:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2980,11 +3288,11 @@ }, { "constant": false, - "id": 7640, + "id": 8141, "name": "_timestamp", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "507:15:11", + "scope": 8158, + "src": "507:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2992,10 +3300,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7639, + "id": 8140, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "507:4:11", + "src": "507:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3006,11 +3314,11 @@ }, { "constant": false, - "id": 7642, + "id": 8143, "name": "_mtpTimestamp", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "532:18:11", + "scope": 8158, + "src": "532:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3018,10 +3326,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7641, + "id": 8142, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "532:4:11", + "src": "532:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3032,11 +3340,11 @@ }, { "constant": false, - "id": 7644, + "id": 8145, "name": "_lastHash", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "560:17:11", + "scope": 8158, + "src": "560:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3044,10 +3352,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7643, + "id": 8144, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "560:7:11", + "src": "560:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3058,11 +3366,11 @@ }, { "constant": false, - "id": 7646, + "id": 8147, "name": "_lastBits", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "587:16:11", + "scope": 8158, + "src": "587:16:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3070,10 +3378,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7645, + "id": 8146, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "587:6:11", + "src": "587:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3084,11 +3392,11 @@ }, { "constant": false, - "id": 7648, + "id": 8149, "name": "_parentId", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "613:17:11", + "scope": 8158, + "src": "613:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3096,10 +3404,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7647, + "id": 8148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "613:7:11", + "src": "613:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3110,11 +3418,11 @@ }, { "constant": false, - "id": 7650, + "id": 8151, "name": "submitter", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "640:17:11", + "scope": 8158, + "src": "640:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3122,10 +3430,10 @@ "typeString": "address" }, "typeName": { - "id": 7649, + "id": 8150, "name": "address", "nodeType": "ElementaryTypeName", - "src": "640:7:11", + "src": "640:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3136,19 +3444,19 @@ "visibility": "internal" } ], - "src": "462:201:11" + "src": "462:201:12" }, "returnParameters": { - "id": 7656, + "id": 8157, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7653, + "id": 8154, "name": "", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "682:4:11", + "scope": 8158, + "src": "682:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3156,10 +3464,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7652, + "id": 8153, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "682:4:11", + "src": "682:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3170,11 +3478,11 @@ }, { "constant": false, - "id": 7655, + "id": 8156, "name": "", "nodeType": "VariableDeclaration", - "scope": 7657, - "src": "688:7:11", + "scope": 8158, + "src": "688:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3182,10 +3490,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7654, + "id": 8155, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "688:7:11", + "src": "688:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3195,10 +3503,10 @@ "visibility": "internal" } ], - "src": "681:15:11" + "src": "681:15:12" }, - "scope": 7790, - "src": "446:251:11", + "scope": 8312, + "src": "446:251:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -3206,23 +3514,23 @@ { "body": null, "documentation": null, - "id": 7680, + "id": 8181, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblock", "nodeType": "FunctionDefinition", "parameters": { - "id": 7660, + "id": 8161, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7659, + "id": 8160, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "726:22:11", + "scope": 8181, + "src": "726:22:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3230,10 +3538,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7658, + "id": 8159, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "726:7:11", + "src": "726:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3243,19 +3551,19 @@ "visibility": "internal" } ], - "src": "725:24:11" + "src": "725:24:12" }, "returnParameters": { - "id": 7679, + "id": 8180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7662, + "id": 8163, "name": "_blocksMerkleRoot", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "782:25:11", + "scope": 8181, + "src": "782:25:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3263,10 +3571,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7661, + "id": 8162, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "782:7:11", + "src": "782:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3277,11 +3585,11 @@ }, { "constant": false, - "id": 7664, + "id": 8165, "name": "_timestamp", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "817:15:11", + "scope": 8181, + "src": "817:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3289,10 +3597,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7663, + "id": 8164, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "817:4:11", + "src": "817:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3303,11 +3611,11 @@ }, { "constant": false, - "id": 7666, + "id": 8167, "name": "_mtpTimestamp", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "842:18:11", + "scope": 8181, + "src": "842:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3315,10 +3623,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7665, + "id": 8166, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "842:4:11", + "src": "842:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3329,11 +3637,11 @@ }, { "constant": false, - "id": 7668, + "id": 8169, "name": "_lastHash", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "870:17:11", + "scope": 8181, + "src": "870:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3341,10 +3649,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7667, + "id": 8168, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "870:7:11", + "src": "870:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3355,11 +3663,11 @@ }, { "constant": false, - "id": 7670, + "id": 8171, "name": "_lastBits", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "897:16:11", + "scope": 8181, + "src": "897:16:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3367,10 +3675,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7669, + "id": 8170, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "897:6:11", + "src": "897:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3381,11 +3689,11 @@ }, { "constant": false, - "id": 7672, + "id": 8173, "name": "_parentId", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "923:17:11", + "scope": 8181, + "src": "923:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3393,10 +3701,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7671, + "id": 8172, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "923:7:11", + "src": "923:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3407,11 +3715,11 @@ }, { "constant": false, - "id": 7674, + "id": 8175, "name": "_submitter", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "950:18:11", + "scope": 8181, + "src": "950:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3419,10 +3727,10 @@ "typeString": "address" }, "typeName": { - "id": 7673, + "id": 8174, "name": "address", "nodeType": "ElementaryTypeName", - "src": "950:7:11", + "src": "950:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3434,26 +3742,26 @@ }, { "constant": false, - "id": 7676, + "id": 8177, "name": "_status", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "978:14:11", + "scope": 8181, + "src": "978:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { "contractScope": null, - "id": 7675, + "id": 8176, "name": "Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "978:6:11", + "referencedDeclaration": 8118, + "src": "978:6:12", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -3462,11 +3770,11 @@ }, { "constant": false, - "id": 7678, + "id": 8179, "name": "_height", "nodeType": "VariableDeclaration", - "scope": 7680, - "src": "1002:14:11", + "scope": 8181, + "src": "1002:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3474,10 +3782,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7677, + "id": 8178, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1002:6:11", + "src": "1002:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3487,10 +3795,10 @@ "visibility": "internal" } ], - "src": "772:250:11" + "src": "772:250:12" }, - "scope": 7790, - "src": "703:320:11", + "scope": 8312, + "src": "703:320:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -3498,23 +3806,23 @@ { "body": null, "documentation": null, - "id": 7701, + "id": 8202, "implemented": false, "kind": "function", "modifiers": [], "name": "relayTx", "nodeType": "FunctionDefinition", "parameters": { - "id": 7697, + "id": 8198, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7682, + "id": 8183, "name": "_txBytes", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1055:23:11", + "scope": 8202, + "src": "1055:23:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3522,10 +3830,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7681, + "id": 8182, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1055:5:11", + "src": "1055:5:12", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3536,11 +3844,11 @@ }, { "constant": false, - "id": 7684, + "id": 8185, "name": "_txIndex", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1088:13:11", + "scope": 8202, + "src": "1088:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3548,10 +3856,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7683, + "id": 8184, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1088:4:11", + "src": "1088:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3562,11 +3870,11 @@ }, { "constant": false, - "id": 7687, + "id": 8188, "name": "_txSiblings", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1111:27:11", + "scope": 8202, + "src": "1111:27:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3575,19 +3883,19 @@ }, "typeName": { "baseType": { - "id": 7685, + "id": 8186, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1111:4:11", + "src": "1111:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7686, + "id": 8187, "length": null, "nodeType": "ArrayTypeName", - "src": "1111:6:11", + "src": "1111:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -3598,11 +3906,11 @@ }, { "constant": false, - "id": 7689, + "id": 8190, "name": "_syscoinBlockHeader", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1148:34:11", + "scope": 8202, + "src": "1148:34:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3610,10 +3918,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7688, + "id": 8189, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1148:5:11", + "src": "1148:5:12", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3624,11 +3932,11 @@ }, { "constant": false, - "id": 7691, + "id": 8192, "name": "_syscoinBlockIndex", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1192:23:11", + "scope": 8202, + "src": "1192:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3636,10 +3944,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7690, + "id": 8191, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1192:4:11", + "src": "1192:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3650,11 +3958,11 @@ }, { "constant": false, - "id": 7694, + "id": 8195, "name": "_syscoinBlockSiblings", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1225:37:11", + "scope": 8202, + "src": "1225:37:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3663,19 +3971,19 @@ }, "typeName": { "baseType": { - "id": 7692, + "id": 8193, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1225:4:11", + "src": "1225:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7693, + "id": 8194, "length": null, "nodeType": "ArrayTypeName", - "src": "1225:6:11", + "src": "1225:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -3686,11 +3994,11 @@ }, { "constant": false, - "id": 7696, + "id": 8197, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1272:23:11", + "scope": 8202, + "src": "1272:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3698,10 +4006,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7695, + "id": 8196, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1272:7:11", + "src": "1272:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3711,19 +4019,19 @@ "visibility": "internal" } ], - "src": "1045:256:11" + "src": "1045:256:12" }, "returnParameters": { - "id": 7700, + "id": 8201, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7699, + "id": 8200, "name": "", "nodeType": "VariableDeclaration", - "scope": 7701, - "src": "1320:4:11", + "scope": 8202, + "src": "1320:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3731,10 +4039,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7698, + "id": 8199, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1320:4:11", + "src": "1320:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3744,10 +4052,10 @@ "visibility": "internal" } ], - "src": "1319:6:11" + "src": "1319:6:12" }, - "scope": 7790, - "src": "1029:297:11", + "scope": 8312, + "src": "1029:297:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -3755,23 +4063,23 @@ { "body": null, "documentation": null, - "id": 7710, + "id": 8211, "implemented": false, "kind": "function", "modifiers": [], "name": "confirm", "nodeType": "FunctionDefinition", "parameters": { - "id": 7706, + "id": 8207, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7703, + "id": 8204, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7710, - "src": "1349:23:11", + "scope": 8211, + "src": "1349:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3779,10 +4087,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7702, + "id": 8203, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1349:7:11", + "src": "1349:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3793,11 +4101,11 @@ }, { "constant": false, - "id": 7705, + "id": 8206, "name": "_validator", "nodeType": "VariableDeclaration", - "scope": 7710, - "src": "1374:18:11", + "scope": 8211, + "src": "1374:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3805,10 +4113,10 @@ "typeString": "address" }, "typeName": { - "id": 7704, + "id": 8205, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1374:7:11", + "src": "1374:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3819,19 +4127,19 @@ "visibility": "internal" } ], - "src": "1348:45:11" + "src": "1348:45:12" }, "returnParameters": { - "id": 7709, + "id": 8210, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7708, + "id": 8209, "name": "", "nodeType": "VariableDeclaration", - "scope": 7710, - "src": "1412:4:11", + "scope": 8211, + "src": "1412:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3839,10 +4147,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7707, + "id": 8208, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1412:4:11", + "src": "1412:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3852,10 +4160,10 @@ "visibility": "internal" } ], - "src": "1411:6:11" + "src": "1411:6:12" }, - "scope": 7790, - "src": "1332:86:11", + "scope": 8312, + "src": "1332:86:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -3863,23 +4171,23 @@ { "body": null, "documentation": null, - "id": 7719, + "id": 8220, "implemented": false, "kind": "function", "modifiers": [], "name": "challenge", "nodeType": "FunctionDefinition", "parameters": { - "id": 7715, + "id": 8216, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7712, + "id": 8213, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7719, - "src": "1442:23:11", + "scope": 8220, + "src": "1442:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3887,10 +4195,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7711, + "id": 8212, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1442:7:11", + "src": "1442:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3901,11 +4209,11 @@ }, { "constant": false, - "id": 7714, + "id": 8215, "name": "_challenger", "nodeType": "VariableDeclaration", - "scope": 7719, - "src": "1467:19:11", + "scope": 8220, + "src": "1467:19:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3913,10 +4221,10 @@ "typeString": "address" }, "typeName": { - "id": 7713, + "id": 8214, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1467:7:11", + "src": "1467:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3927,19 +4235,19 @@ "visibility": "internal" } ], - "src": "1441:46:11" + "src": "1441:46:12" }, "returnParameters": { - "id": 7718, + "id": 8219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7717, + "id": 8218, "name": "", "nodeType": "VariableDeclaration", - "scope": 7719, - "src": "1506:4:11", + "scope": 8220, + "src": "1506:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3947,10 +4255,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7716, + "id": 8217, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1506:4:11", + "src": "1506:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3960,10 +4268,10 @@ "visibility": "internal" } ], - "src": "1505:6:11" + "src": "1505:6:12" }, - "scope": 7790, - "src": "1423:89:11", + "scope": 8312, + "src": "1423:89:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -3971,23 +4279,23 @@ { "body": null, "documentation": null, - "id": 7728, + "id": 8229, "implemented": false, "kind": "function", "modifiers": [], "name": "semiApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 7724, + "id": 8225, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7721, + "id": 8222, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7728, - "src": "1538:23:11", + "scope": 8229, + "src": "1538:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3995,10 +4303,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7720, + "id": 8221, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1538:7:11", + "src": "1538:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4009,11 +4317,11 @@ }, { "constant": false, - "id": 7723, + "id": 8224, "name": "_validator", "nodeType": "VariableDeclaration", - "scope": 7728, - "src": "1563:18:11", + "scope": 8229, + "src": "1563:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4021,10 +4329,10 @@ "typeString": "address" }, "typeName": { - "id": 7722, + "id": 8223, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1563:7:11", + "src": "1563:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4035,19 +4343,19 @@ "visibility": "internal" } ], - "src": "1537:45:11" + "src": "1537:45:12" }, "returnParameters": { - "id": 7727, + "id": 8228, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7726, + "id": 8227, "name": "", "nodeType": "VariableDeclaration", - "scope": 7728, - "src": "1601:4:11", + "scope": 8229, + "src": "1601:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4055,10 +4363,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7725, + "id": 8226, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1601:4:11", + "src": "1601:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4068,10 +4376,10 @@ "visibility": "internal" } ], - "src": "1600:6:11" + "src": "1600:6:12" }, - "scope": 7790, - "src": "1517:90:11", + "scope": 8312, + "src": "1517:90:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -4079,23 +4387,23 @@ { "body": null, "documentation": null, - "id": 7737, + "id": 8238, "implemented": false, "kind": "function", "modifiers": [], "name": "invalidate", "nodeType": "FunctionDefinition", "parameters": { - "id": 7733, + "id": 8234, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7730, + "id": 8231, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7737, - "src": "1632:23:11", + "scope": 8238, + "src": "1632:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4103,10 +4411,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7729, + "id": 8230, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1632:7:11", + "src": "1632:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4117,11 +4425,11 @@ }, { "constant": false, - "id": 7732, + "id": 8233, "name": "_validator", "nodeType": "VariableDeclaration", - "scope": 7737, - "src": "1657:18:11", + "scope": 8238, + "src": "1657:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4129,10 +4437,10 @@ "typeString": "address" }, "typeName": { - "id": 7731, + "id": 8232, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1657:7:11", + "src": "1657:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4143,19 +4451,19 @@ "visibility": "internal" } ], - "src": "1631:45:11" + "src": "1631:45:12" }, "returnParameters": { - "id": 7736, + "id": 8237, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7735, + "id": 8236, "name": "", "nodeType": "VariableDeclaration", - "scope": 7737, - "src": "1695:4:11", + "scope": 8238, + "src": "1695:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4163,10 +4471,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7734, + "id": 8235, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1695:4:11", + "src": "1695:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4176,10 +4484,10 @@ "visibility": "internal" } ], - "src": "1694:6:11" + "src": "1694:6:12" }, - "scope": 7790, - "src": "1612:89:11", + "scope": 8312, + "src": "1612:89:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -4187,29 +4495,29 @@ { "body": null, "documentation": null, - "id": 7742, + "id": 8243, "implemented": false, "kind": "function", "modifiers": [], "name": "getBestSuperblock", "nodeType": "FunctionDefinition", "parameters": { - "id": 7738, + "id": 8239, "nodeType": "ParameterList", "parameters": [], - "src": "1732:2:11" + "src": "1732:2:12" }, "returnParameters": { - "id": 7741, + "id": 8242, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7740, + "id": 8241, "name": "", "nodeType": "VariableDeclaration", - "scope": 7742, - "src": "1758:7:11", + "scope": 8243, + "src": "1758:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4217,10 +4525,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7739, + "id": 8240, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1758:7:11", + "src": "1758:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4230,10 +4538,10 @@ "visibility": "internal" } ], - "src": "1757:9:11" + "src": "1757:9:12" }, - "scope": 7790, - "src": "1706:61:11", + "scope": 8312, + "src": "1706:61:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4241,29 +4549,29 @@ { "body": null, "documentation": null, - "id": 7747, + "id": 8248, "implemented": false, "kind": "function", "modifiers": [], "name": "getChainHeight", "nodeType": "FunctionDefinition", "parameters": { - "id": 7743, + "id": 8244, "nodeType": "ParameterList", "parameters": [], - "src": "1795:2:11" + "src": "1795:2:12" }, "returnParameters": { - "id": 7746, + "id": 8247, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7745, + "id": 8246, "name": "", "nodeType": "VariableDeclaration", - "scope": 7747, - "src": "1821:4:11", + "scope": 8248, + "src": "1821:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4271,10 +4579,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7744, + "id": 8245, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1821:4:11", + "src": "1821:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4284,10 +4592,10 @@ "visibility": "internal" } ], - "src": "1820:6:11" + "src": "1820:6:12" }, - "scope": 7790, - "src": "1772:55:11", + "scope": 8312, + "src": "1772:55:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4295,23 +4603,23 @@ { "body": null, "documentation": null, - "id": 7754, + "id": 8255, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblockHeight", "nodeType": "FunctionDefinition", "parameters": { - "id": 7750, + "id": 8251, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7749, + "id": 8250, "name": "superblockHash", "nodeType": "VariableDeclaration", - "scope": 7754, - "src": "1861:22:11", + "scope": 8255, + "src": "1861:22:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4319,10 +4627,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7748, + "id": 8249, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1861:7:11", + "src": "1861:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4332,19 +4640,19 @@ "visibility": "internal" } ], - "src": "1860:24:11" + "src": "1860:24:12" }, "returnParameters": { - "id": 7753, + "id": 8254, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7752, + "id": 8253, "name": "", "nodeType": "VariableDeclaration", - "scope": 7754, - "src": "1908:6:11", + "scope": 8255, + "src": "1908:6:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4352,10 +4660,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7751, + "id": 8252, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1908:6:11", + "src": "1908:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -4365,10 +4673,10 @@ "visibility": "internal" } ], - "src": "1907:8:11" + "src": "1907:8:12" }, - "scope": 7790, - "src": "1832:84:11", + "scope": 8312, + "src": "1832:84:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4376,23 +4684,23 @@ { "body": null, "documentation": null, - "id": 7761, + "id": 8262, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblockParentId", "nodeType": "FunctionDefinition", "parameters": { - "id": 7757, + "id": 8258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7756, + "id": 8257, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7761, - "src": "1952:23:11", + "scope": 8262, + "src": "1952:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4400,10 +4708,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7755, + "id": 8256, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1952:7:11", + "src": "1952:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4413,19 +4721,19 @@ "visibility": "internal" } ], - "src": "1951:25:11" + "src": "1951:25:12" }, "returnParameters": { - "id": 7760, + "id": 8261, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7759, + "id": 8260, "name": "", "nodeType": "VariableDeclaration", - "scope": 7761, - "src": "2000:7:11", + "scope": 8262, + "src": "2000:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4433,10 +4741,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7758, + "id": 8259, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2000:7:11", + "src": "2000:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4446,10 +4754,10 @@ "visibility": "internal" } ], - "src": "1999:9:11" + "src": "1999:9:12" }, - "scope": 7790, - "src": "1921:88:11", + "scope": 8312, + "src": "1921:88:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4457,23 +4765,23 @@ { "body": null, "documentation": null, - "id": 7768, + "id": 8269, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblockStatus", "nodeType": "FunctionDefinition", "parameters": { - "id": 7764, + "id": 8265, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7763, + "id": 8264, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7768, - "src": "2043:23:11", + "scope": 8269, + "src": "2043:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4481,10 +4789,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7762, + "id": 8263, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2043:7:11", + "src": "2043:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4494,34 +4802,34 @@ "visibility": "internal" } ], - "src": "2042:25:11" + "src": "2042:25:12" }, "returnParameters": { - "id": 7767, + "id": 8268, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7766, + "id": 8267, "name": "", "nodeType": "VariableDeclaration", - "scope": 7768, - "src": "2091:6:11", + "scope": 8269, + "src": "2091:6:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" }, "typeName": { "contractScope": null, - "id": 7765, + "id": 8266, "name": "Status", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7617, - "src": "2091:6:11", + "referencedDeclaration": 8118, + "src": "2091:6:12", "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$7617", + "typeIdentifier": "t_enum$_Status_$8118", "typeString": "enum SyscoinSuperblocksI.Status" } }, @@ -4529,10 +4837,10 @@ "visibility": "internal" } ], - "src": "2090:8:11" + "src": "2090:8:12" }, - "scope": 7790, - "src": "2014:85:11", + "scope": 8312, + "src": "2014:85:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4540,23 +4848,23 @@ { "body": null, "documentation": null, - "id": 7775, + "id": 8276, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblockAt", "nodeType": "FunctionDefinition", "parameters": { - "id": 7771, + "id": 8272, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7770, + "id": 8271, "name": "_height", "nodeType": "VariableDeclaration", - "scope": 7775, - "src": "2129:12:11", + "scope": 8276, + "src": "2129:12:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4564,10 +4872,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7769, + "id": 8270, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2129:4:11", + "src": "2129:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4577,19 +4885,19 @@ "visibility": "internal" } ], - "src": "2128:14:11" + "src": "2128:14:12" }, "returnParameters": { - "id": 7774, + "id": 8275, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7773, + "id": 8274, "name": "", "nodeType": "VariableDeclaration", - "scope": 7775, - "src": "2166:7:11", + "scope": 8276, + "src": "2166:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4597,10 +4905,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7772, + "id": 8273, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2166:7:11", + "src": "2166:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4610,10 +4918,10 @@ "visibility": "internal" } ], - "src": "2165:9:11" + "src": "2165:9:12" }, - "scope": 7790, - "src": "2104:71:11", + "scope": 8312, + "src": "2104:71:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4621,23 +4929,23 @@ { "body": null, "documentation": null, - "id": 7782, + "id": 8283, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblockTimestamp", "nodeType": "FunctionDefinition", "parameters": { - "id": 7778, + "id": 8279, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7777, + "id": 8278, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7782, - "src": "2212:23:11", + "scope": 8283, + "src": "2212:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4645,10 +4953,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7776, + "id": 8277, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2212:7:11", + "src": "2212:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4658,19 +4966,19 @@ "visibility": "internal" } ], - "src": "2211:25:11" + "src": "2211:25:12" }, "returnParameters": { - "id": 7781, + "id": 8282, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7780, + "id": 8281, "name": "", "nodeType": "VariableDeclaration", - "scope": 7782, - "src": "2260:4:11", + "scope": 8283, + "src": "2260:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4678,10 +4986,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7779, + "id": 8280, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2260:4:11", + "src": "2260:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4691,10 +4999,10 @@ "visibility": "internal" } ], - "src": "2259:6:11" + "src": "2259:6:12" }, - "scope": 7790, - "src": "2180:86:11", + "scope": 8312, + "src": "2180:86:12", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4702,23 +5010,23 @@ { "body": null, "documentation": null, - "id": 7789, + "id": 8290, "implemented": false, "kind": "function", "modifiers": [], "name": "getSuperblockMedianTimestamp", "nodeType": "FunctionDefinition", "parameters": { - "id": 7785, + "id": 8286, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7784, + "id": 8285, "name": "_superblockHash", "nodeType": "VariableDeclaration", - "scope": 7789, - "src": "2309:23:11", + "scope": 8290, + "src": "2309:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4726,10 +5034,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7783, + "id": 8284, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2309:7:11", + "src": "2309:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4739,19 +5047,19 @@ "visibility": "internal" } ], - "src": "2308:25:11" + "src": "2308:25:12" }, "returnParameters": { - "id": 7788, + "id": 8289, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7787, + "id": 8288, "name": "", "nodeType": "VariableDeclaration", - "scope": 7789, - "src": "2357:4:11", + "scope": 8290, + "src": "2357:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4759,10 +5067,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7786, + "id": 8287, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2357:4:11", + "src": "2357:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4772,28 +5080,285 @@ "visibility": "internal" } ], - "src": "2356:6:11" + "src": "2356:6:12" }, - "scope": 7790, - "src": "2271:92:11", + "scope": 8312, + "src": "2271:92:12", "stateMutability": "view", "superFunction": null, "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 8311, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "relayAssetTx", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8292, + "name": "_txBytes", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2400:23:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8291, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2400:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8294, + "name": "_txIndex", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2433:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8293, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2433:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8297, + "name": "_txSiblings", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2456:27:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8295, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2456:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8296, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2456:6:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8299, + "name": "_syscoinBlockHeader", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2493:34:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8298, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2493:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8301, + "name": "_syscoinBlockIndex", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2537:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8300, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2537:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8304, + "name": "_syscoinBlockSiblings", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2570:37:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8302, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2570:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8303, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2570:6:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8306, + "name": "_superblockHash", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2617:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8305, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2617:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2390:256:12" + }, + "returnParameters": { + "id": 8310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8309, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 8311, + "src": "2665:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8308, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2665:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2664:6:12" + }, + "scope": 8312, + "src": "2369:302:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" } ], - "scope": 7791, - "src": "26:2339:11" + "scope": 8313, + "src": "26:2647:12" } ], - "src": "0:2366:11" + "src": "0:2674:12" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.565Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.449Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/SyscoinTransactionProcessor.json b/build/contracts/SyscoinTransactionProcessor.json index 28604c0..a0f6ee0 100644 --- a/build/contracts/SyscoinTransactionProcessor.json +++ b/build/contracts/SyscoinTransactionProcessor.json @@ -141,27 +141,57 @@ "payable": false, "stateMutability": "nonpayable", "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "txHash", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "assetGUID", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "height", + "type": "uint32" + }, + { + "internalType": "address", + "name": "erc20ContractAddress", + "type": "address" + } + ], + "name": "processAsset", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"cancelTransferRequest\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"challengerAddress\",\"type\":\"address\"}],\"name\":\"cancelTransferSuccess\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"precision\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"syscoinAddress\",\"type\":\"bytes\"}],\"name\":\"freezeBurnERC20\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"},{\"internalType\":\"address payable\",\"name\":\"challengerAddress\",\"type\":\"address\"}],\"name\":\"processCancelTransferFail\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"txHash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"superblockSubmitterAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"precision\",\"type\":\"uint8\"}],\"name\":\"processTransaction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol\":\"SyscoinTransactionProcessor\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol\":{\"keccak256\":\"0x8ebfea53afdf70b6c363b6684a68394e8cbce3a856b7e3239f64cf7f3349a27e\",\"urls\":[\"bzz-raw://3aebcc8a46d71a4bd2d3026b896b106dbce138fce2d291b0231683d40b87f2e4\",\"dweb:/ipfs/QmRijeihighF7zQ6j8JHkssUZnsLJq6U8Ki8ZzHvavA5oW\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.13+commit.5b0b510c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"}],\"name\":\"cancelTransferRequest\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"challengerAddress\",\"type\":\"address\"}],\"name\":\"cancelTransferSuccess\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"precision\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"syscoinAddress\",\"type\":\"bytes\"}],\"name\":\"freezeBurnERC20\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"txHash\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"height\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"}],\"name\":\"processAsset\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"bridgeTransferId\",\"type\":\"uint32\"},{\"internalType\":\"address payable\",\"name\":\"challengerAddress\",\"type\":\"address\"}],\"name\":\"processCancelTransferFail\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"txHash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"superblockSubmitterAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"assetGUID\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"precision\",\"type\":\"uint8\"}],\"name\":\"processTransaction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol\":\"SyscoinTransactionProcessor\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol\":{\"keccak256\":\"0xdae0a35ce5092f8a7c04b2636da4b75edd57f6da6f7c6bbce3f31e0517629f7e\",\"urls\":[\"bzz-raw://f4991ce59bf5074812e8cc5a75ee41f7b6ac18094cfeebf332502c04a98aabc4\",\"dweb:/ipfs/QmULzYZroyEhtXUjY1e5ATYsTBffVxNMd2CMB3VE76HNJU\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", - "source": "pragma solidity ^0.5.13;\n\n// Interface contract to be implemented by SyscoinERC20Manager\ninterface SyscoinTransactionProcessor {\n function processTransaction(uint txHash, uint value, address destinationAddress, address superblockSubmitterAddress, address erc20ContractAddress, uint32 assetGUID, uint8 precision) external;\n function freezeBurnERC20(uint value, uint32 assetGUID, address erc20ContractAddress, uint8 precision, bytes calldata syscoinAddress) external returns (bool);\n function cancelTransferRequest(uint32 bridgeTransferId) external;\n function cancelTransferSuccess(uint32 bridgeTransferId, address challengerAddress) external;\n function processCancelTransferFail(uint32 bridgeTransferId, address payable challengerAddress) external;\n}\n", + "source": "pragma solidity ^0.5.13;\n\n// Interface contract to be implemented by SyscoinERC20Manager\ninterface SyscoinTransactionProcessor {\n function processTransaction(uint txHash, uint value, address destinationAddress, address superblockSubmitterAddress, address erc20ContractAddress, uint32 assetGUID, uint8 precision) external;\n function freezeBurnERC20(uint value, uint32 assetGUID, address erc20ContractAddress, uint8 precision, bytes calldata syscoinAddress) external returns (bool);\n function cancelTransferRequest(uint32 bridgeTransferId) external;\n function cancelTransferSuccess(uint32 bridgeTransferId, address challengerAddress) external;\n function processCancelTransferFail(uint32 bridgeTransferId, address payable challengerAddress) external;\n function processAsset(uint txHash, uint32 assetGUID, uint32 height, address erc20ContractAddress) external;\n}\n", "sourcePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol", "ast": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol", "exportedSymbols": { "SyscoinTransactionProcessor": [ - 7547 + 8047 ] }, - "id": 7548, + "id": 8048, "nodeType": "SourceUnit", "nodes": [ { - "id": 7495, + "id": 7984, "literals": [ "solidity", "^", @@ -169,7 +199,7 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:7" + "src": "0:24:8" }, { "baseContracts": [], @@ -177,9 +207,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 7547, + "id": 8047, "linearizedBaseContracts": [ - 7547 + 8047 ], "name": "SyscoinTransactionProcessor", "nodeType": "ContractDefinition", @@ -187,23 +217,23 @@ { "body": null, "documentation": null, - "id": 7512, + "id": 8001, "implemented": false, "kind": "function", "modifiers": [], "name": "processTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 7510, + "id": 7999, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7497, + "id": 7986, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "161:11:7", + "scope": 8001, + "src": "161:11:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -211,10 +241,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7496, + "id": 7985, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "161:4:7", + "src": "161:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -225,11 +255,11 @@ }, { "constant": false, - "id": 7499, + "id": 7988, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "174:10:7", + "scope": 8001, + "src": "174:10:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -237,10 +267,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7498, + "id": 7987, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "174:4:7", + "src": "174:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -251,11 +281,11 @@ }, { "constant": false, - "id": 7501, + "id": 7990, "name": "destinationAddress", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "186:26:7", + "scope": 8001, + "src": "186:26:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -263,10 +293,10 @@ "typeString": "address" }, "typeName": { - "id": 7500, + "id": 7989, "name": "address", "nodeType": "ElementaryTypeName", - "src": "186:7:7", + "src": "186:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -278,11 +308,11 @@ }, { "constant": false, - "id": 7503, + "id": 7992, "name": "superblockSubmitterAddress", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "214:34:7", + "scope": 8001, + "src": "214:34:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -290,10 +320,10 @@ "typeString": "address" }, "typeName": { - "id": 7502, + "id": 7991, "name": "address", "nodeType": "ElementaryTypeName", - "src": "214:7:7", + "src": "214:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -305,11 +335,11 @@ }, { "constant": false, - "id": 7505, + "id": 7994, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "250:28:7", + "scope": 8001, + "src": "250:28:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -317,10 +347,10 @@ "typeString": "address" }, "typeName": { - "id": 7504, + "id": 7993, "name": "address", "nodeType": "ElementaryTypeName", - "src": "250:7:7", + "src": "250:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -332,11 +362,11 @@ }, { "constant": false, - "id": 7507, + "id": 7996, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "280:16:7", + "scope": 8001, + "src": "280:16:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -344,10 +374,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7506, + "id": 7995, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "280:6:7", + "src": "280:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -358,11 +388,11 @@ }, { "constant": false, - "id": 7509, + "id": 7998, "name": "precision", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "298:15:7", + "scope": 8001, + "src": "298:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -370,10 +400,10 @@ "typeString": "uint8" }, "typeName": { - "id": 7508, + "id": 7997, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "298:5:7", + "src": "298:5:8", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -383,16 +413,16 @@ "visibility": "internal" } ], - "src": "160:154:7" + "src": "160:154:8" }, "returnParameters": { - "id": 7511, + "id": 8000, "nodeType": "ParameterList", "parameters": [], - "src": "323:0:7" + "src": "323:0:8" }, - "scope": 7547, - "src": "133:191:7", + "scope": 8047, + "src": "133:191:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -400,23 +430,23 @@ { "body": null, "documentation": null, - "id": 7527, + "id": 8016, "implemented": false, "kind": "function", "modifiers": [], "name": "freezeBurnERC20", "nodeType": "FunctionDefinition", "parameters": { - "id": 7523, + "id": 8012, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7514, + "id": 8003, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7527, - "src": "354:10:7", + "scope": 8016, + "src": "354:10:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -424,10 +454,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7513, + "id": 8002, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "354:4:7", + "src": "354:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -438,11 +468,11 @@ }, { "constant": false, - "id": 7516, + "id": 8005, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 7527, - "src": "366:16:7", + "scope": 8016, + "src": "366:16:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -450,10 +480,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7515, + "id": 8004, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "366:6:7", + "src": "366:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -464,11 +494,11 @@ }, { "constant": false, - "id": 7518, + "id": 8007, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 7527, - "src": "384:28:7", + "scope": 8016, + "src": "384:28:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -476,10 +506,10 @@ "typeString": "address" }, "typeName": { - "id": 7517, + "id": 8006, "name": "address", "nodeType": "ElementaryTypeName", - "src": "384:7:7", + "src": "384:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -491,11 +521,11 @@ }, { "constant": false, - "id": 7520, + "id": 8009, "name": "precision", "nodeType": "VariableDeclaration", - "scope": 7527, - "src": "414:15:7", + "scope": 8016, + "src": "414:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -503,10 +533,10 @@ "typeString": "uint8" }, "typeName": { - "id": 7519, + "id": 8008, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "414:5:7", + "src": "414:5:8", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -517,11 +547,11 @@ }, { "constant": false, - "id": 7522, + "id": 8011, "name": "syscoinAddress", "nodeType": "VariableDeclaration", - "scope": 7527, - "src": "431:29:7", + "scope": 8016, + "src": "431:29:8", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -529,10 +559,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7521, + "id": 8010, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "431:5:7", + "src": "431:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -542,19 +572,19 @@ "visibility": "internal" } ], - "src": "353:108:7" + "src": "353:108:8" }, "returnParameters": { - "id": 7526, + "id": 8015, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7525, + "id": 8014, "name": "", "nodeType": "VariableDeclaration", - "scope": 7527, - "src": "480:4:7", + "scope": 8016, + "src": "480:4:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -562,10 +592,10 @@ "typeString": "bool" }, "typeName": { - "id": 7524, + "id": 8013, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "480:4:7", + "src": "480:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -575,10 +605,10 @@ "visibility": "internal" } ], - "src": "479:6:7" + "src": "479:6:8" }, - "scope": 7547, - "src": "329:157:7", + "scope": 8047, + "src": "329:157:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -586,23 +616,23 @@ { "body": null, "documentation": null, - "id": 7532, + "id": 8021, "implemented": false, "kind": "function", "modifiers": [], "name": "cancelTransferRequest", "nodeType": "FunctionDefinition", "parameters": { - "id": 7530, + "id": 8019, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7529, + "id": 8018, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 7532, - "src": "522:23:7", + "scope": 8021, + "src": "522:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -610,10 +640,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7528, + "id": 8017, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "522:6:7", + "src": "522:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -623,16 +653,16 @@ "visibility": "internal" } ], - "src": "521:25:7" + "src": "521:25:8" }, "returnParameters": { - "id": 7531, + "id": 8020, "nodeType": "ParameterList", "parameters": [], - "src": "555:0:7" + "src": "555:0:8" }, - "scope": 7547, - "src": "491:65:7", + "scope": 8047, + "src": "491:65:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -640,23 +670,23 @@ { "body": null, "documentation": null, - "id": 7539, + "id": 8028, "implemented": false, "kind": "function", "modifiers": [], "name": "cancelTransferSuccess", "nodeType": "FunctionDefinition", "parameters": { - "id": 7537, + "id": 8026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7534, + "id": 8023, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 7539, - "src": "592:23:7", + "scope": 8028, + "src": "592:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -664,10 +694,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7533, + "id": 8022, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "592:6:7", + "src": "592:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -678,11 +708,11 @@ }, { "constant": false, - "id": 7536, + "id": 8025, "name": "challengerAddress", "nodeType": "VariableDeclaration", - "scope": 7539, - "src": "617:25:7", + "scope": 8028, + "src": "617:25:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -690,10 +720,10 @@ "typeString": "address" }, "typeName": { - "id": 7535, + "id": 8024, "name": "address", "nodeType": "ElementaryTypeName", - "src": "617:7:7", + "src": "617:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -704,16 +734,16 @@ "visibility": "internal" } ], - "src": "591:52:7" + "src": "591:52:8" }, "returnParameters": { - "id": 7538, + "id": 8027, "nodeType": "ParameterList", "parameters": [], - "src": "652:0:7" + "src": "652:0:8" }, - "scope": 7547, - "src": "561:92:7", + "scope": 8047, + "src": "561:92:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -721,23 +751,23 @@ { "body": null, "documentation": null, - "id": 7546, + "id": 8035, "implemented": false, "kind": "function", "modifiers": [], "name": "processCancelTransferFail", "nodeType": "FunctionDefinition", "parameters": { - "id": 7544, + "id": 8033, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7541, + "id": 8030, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 7546, - "src": "693:23:7", + "scope": 8035, + "src": "693:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -745,10 +775,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7540, + "id": 8029, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "693:6:7", + "src": "693:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -759,11 +789,11 @@ }, { "constant": false, - "id": 7543, + "id": 8032, "name": "challengerAddress", "nodeType": "VariableDeclaration", - "scope": 7546, - "src": "718:33:7", + "scope": 8035, + "src": "718:33:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -771,10 +801,10 @@ "typeString": "address payable" }, "typeName": { - "id": 7542, + "id": 8031, "name": "address", "nodeType": "ElementaryTypeName", - "src": "718:15:7", + "src": "718:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -785,39 +815,172 @@ "visibility": "internal" } ], - "src": "692:60:7" + "src": "692:60:8" + }, + "returnParameters": { + "id": 8034, + "nodeType": "ParameterList", + "parameters": [], + "src": "761:0:8" + }, + "scope": 8047, + "src": "658:104:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 8046, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "processAsset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8037, + "name": "txHash", + "nodeType": "VariableDeclaration", + "scope": 8046, + "src": "789:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8036, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "789:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8039, + "name": "assetGUID", + "nodeType": "VariableDeclaration", + "scope": 8046, + "src": "802:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8038, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "802:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8041, + "name": "height", + "nodeType": "VariableDeclaration", + "scope": 8046, + "src": "820:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8040, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "820:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8043, + "name": "erc20ContractAddress", + "nodeType": "VariableDeclaration", + "scope": 8046, + "src": "835:28:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8042, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "835:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "788:76:8" }, "returnParameters": { - "id": 7545, + "id": 8045, "nodeType": "ParameterList", "parameters": [], - "src": "761:0:7" + "src": "873:0:8" }, - "scope": 7547, - "src": "658:104:7", + "scope": 8047, + "src": "767:107:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 7548, - "src": "89:675:7" + "scope": 8048, + "src": "89:787:8" } ], - "src": "0:765:7" + "src": "0:877:8" }, "legacyAST": { "absolutePath": "/Users/jsidhu/Documents/GitHub/sysethereum-contracts1/contracts/SyscoinTransactionProcessor.sol", "exportedSymbols": { "SyscoinTransactionProcessor": [ - 7547 + 8047 ] }, - "id": 7548, + "id": 8048, "nodeType": "SourceUnit", "nodes": [ { - "id": 7495, + "id": 7984, "literals": [ "solidity", "^", @@ -825,7 +988,7 @@ ".13" ], "nodeType": "PragmaDirective", - "src": "0:24:7" + "src": "0:24:8" }, { "baseContracts": [], @@ -833,9 +996,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 7547, + "id": 8047, "linearizedBaseContracts": [ - 7547 + 8047 ], "name": "SyscoinTransactionProcessor", "nodeType": "ContractDefinition", @@ -843,23 +1006,23 @@ { "body": null, "documentation": null, - "id": 7512, + "id": 8001, "implemented": false, "kind": "function", "modifiers": [], "name": "processTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 7510, + "id": 7999, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7497, + "id": 7986, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "161:11:7", + "scope": 8001, + "src": "161:11:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -867,10 +1030,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7496, + "id": 7985, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "161:4:7", + "src": "161:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -881,11 +1044,11 @@ }, { "constant": false, - "id": 7499, + "id": 7988, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "174:10:7", + "scope": 8001, + "src": "174:10:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -893,10 +1056,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7498, + "id": 7987, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "174:4:7", + "src": "174:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -907,11 +1070,11 @@ }, { "constant": false, - "id": 7501, + "id": 7990, "name": "destinationAddress", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "186:26:7", + "scope": 8001, + "src": "186:26:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -919,10 +1082,10 @@ "typeString": "address" }, "typeName": { - "id": 7500, + "id": 7989, "name": "address", "nodeType": "ElementaryTypeName", - "src": "186:7:7", + "src": "186:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -934,11 +1097,11 @@ }, { "constant": false, - "id": 7503, + "id": 7992, "name": "superblockSubmitterAddress", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "214:34:7", + "scope": 8001, + "src": "214:34:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -946,10 +1109,10 @@ "typeString": "address" }, "typeName": { - "id": 7502, + "id": 7991, "name": "address", "nodeType": "ElementaryTypeName", - "src": "214:7:7", + "src": "214:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -961,11 +1124,11 @@ }, { "constant": false, - "id": 7505, + "id": 7994, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "250:28:7", + "scope": 8001, + "src": "250:28:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -973,10 +1136,10 @@ "typeString": "address" }, "typeName": { - "id": 7504, + "id": 7993, "name": "address", "nodeType": "ElementaryTypeName", - "src": "250:7:7", + "src": "250:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -988,11 +1151,11 @@ }, { "constant": false, - "id": 7507, + "id": 7996, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "280:16:7", + "scope": 8001, + "src": "280:16:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1000,10 +1163,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7506, + "id": 7995, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "280:6:7", + "src": "280:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1014,11 +1177,11 @@ }, { "constant": false, - "id": 7509, + "id": 7998, "name": "precision", "nodeType": "VariableDeclaration", - "scope": 7512, - "src": "298:15:7", + "scope": 8001, + "src": "298:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1026,10 +1189,10 @@ "typeString": "uint8" }, "typeName": { - "id": 7508, + "id": 7997, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "298:5:7", + "src": "298:5:8", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1039,16 +1202,16 @@ "visibility": "internal" } ], - "src": "160:154:7" + "src": "160:154:8" }, "returnParameters": { - "id": 7511, + "id": 8000, "nodeType": "ParameterList", "parameters": [], - "src": "323:0:7" + "src": "323:0:8" }, - "scope": 7547, - "src": "133:191:7", + "scope": 8047, + "src": "133:191:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1056,23 +1219,23 @@ { "body": null, "documentation": null, - "id": 7527, + "id": 8016, "implemented": false, "kind": "function", "modifiers": [], "name": "freezeBurnERC20", "nodeType": "FunctionDefinition", "parameters": { - "id": 7523, + "id": 8012, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7514, + "id": 8003, "name": "value", "nodeType": "VariableDeclaration", - "scope": 7527, - "src": "354:10:7", + "scope": 8016, + "src": "354:10:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1080,10 +1243,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7513, + "id": 8002, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "354:4:7", + "src": "354:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1094,11 +1257,11 @@ }, { "constant": false, - "id": 7516, + "id": 8005, "name": "assetGUID", "nodeType": "VariableDeclaration", - "scope": 7527, - "src": "366:16:7", + "scope": 8016, + "src": "366:16:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1106,10 +1269,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7515, + "id": 8004, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "366:6:7", + "src": "366:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1120,11 +1283,11 @@ }, { "constant": false, - "id": 7518, + "id": 8007, "name": "erc20ContractAddress", "nodeType": "VariableDeclaration", - "scope": 7527, - "src": "384:28:7", + "scope": 8016, + "src": "384:28:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1132,10 +1295,10 @@ "typeString": "address" }, "typeName": { - "id": 7517, + "id": 8006, "name": "address", "nodeType": "ElementaryTypeName", - "src": "384:7:7", + "src": "384:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1147,11 +1310,11 @@ }, { "constant": false, - "id": 7520, + "id": 8009, "name": "precision", "nodeType": "VariableDeclaration", - "scope": 7527, - "src": "414:15:7", + "scope": 8016, + "src": "414:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1159,10 +1322,10 @@ "typeString": "uint8" }, "typeName": { - "id": 7519, + "id": 8008, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "414:5:7", + "src": "414:5:8", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1173,11 +1336,11 @@ }, { "constant": false, - "id": 7522, + "id": 8011, "name": "syscoinAddress", "nodeType": "VariableDeclaration", - "scope": 7527, - "src": "431:29:7", + "scope": 8016, + "src": "431:29:8", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -1185,10 +1348,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7521, + "id": 8010, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "431:5:7", + "src": "431:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1198,19 +1361,19 @@ "visibility": "internal" } ], - "src": "353:108:7" + "src": "353:108:8" }, "returnParameters": { - "id": 7526, + "id": 8015, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7525, + "id": 8014, "name": "", "nodeType": "VariableDeclaration", - "scope": 7527, - "src": "480:4:7", + "scope": 8016, + "src": "480:4:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1218,10 +1381,10 @@ "typeString": "bool" }, "typeName": { - "id": 7524, + "id": 8013, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "480:4:7", + "src": "480:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1231,10 +1394,10 @@ "visibility": "internal" } ], - "src": "479:6:7" + "src": "479:6:8" }, - "scope": 7547, - "src": "329:157:7", + "scope": 8047, + "src": "329:157:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1242,23 +1405,23 @@ { "body": null, "documentation": null, - "id": 7532, + "id": 8021, "implemented": false, "kind": "function", "modifiers": [], "name": "cancelTransferRequest", "nodeType": "FunctionDefinition", "parameters": { - "id": 7530, + "id": 8019, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7529, + "id": 8018, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 7532, - "src": "522:23:7", + "scope": 8021, + "src": "522:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1266,10 +1429,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7528, + "id": 8017, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "522:6:7", + "src": "522:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1279,16 +1442,16 @@ "visibility": "internal" } ], - "src": "521:25:7" + "src": "521:25:8" }, "returnParameters": { - "id": 7531, + "id": 8020, "nodeType": "ParameterList", "parameters": [], - "src": "555:0:7" + "src": "555:0:8" }, - "scope": 7547, - "src": "491:65:7", + "scope": 8047, + "src": "491:65:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1296,23 +1459,23 @@ { "body": null, "documentation": null, - "id": 7539, + "id": 8028, "implemented": false, "kind": "function", "modifiers": [], "name": "cancelTransferSuccess", "nodeType": "FunctionDefinition", "parameters": { - "id": 7537, + "id": 8026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7534, + "id": 8023, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 7539, - "src": "592:23:7", + "scope": 8028, + "src": "592:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1320,10 +1483,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7533, + "id": 8022, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "592:6:7", + "src": "592:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1334,11 +1497,11 @@ }, { "constant": false, - "id": 7536, + "id": 8025, "name": "challengerAddress", "nodeType": "VariableDeclaration", - "scope": 7539, - "src": "617:25:7", + "scope": 8028, + "src": "617:25:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1346,10 +1509,10 @@ "typeString": "address" }, "typeName": { - "id": 7535, + "id": 8024, "name": "address", "nodeType": "ElementaryTypeName", - "src": "617:7:7", + "src": "617:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1360,16 +1523,16 @@ "visibility": "internal" } ], - "src": "591:52:7" + "src": "591:52:8" }, "returnParameters": { - "id": 7538, + "id": 8027, "nodeType": "ParameterList", "parameters": [], - "src": "652:0:7" + "src": "652:0:8" }, - "scope": 7547, - "src": "561:92:7", + "scope": 8047, + "src": "561:92:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1377,23 +1540,23 @@ { "body": null, "documentation": null, - "id": 7546, + "id": 8035, "implemented": false, "kind": "function", "modifiers": [], "name": "processCancelTransferFail", "nodeType": "FunctionDefinition", "parameters": { - "id": 7544, + "id": 8033, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7541, + "id": 8030, "name": "bridgeTransferId", "nodeType": "VariableDeclaration", - "scope": 7546, - "src": "693:23:7", + "scope": 8035, + "src": "693:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1401,10 +1564,10 @@ "typeString": "uint32" }, "typeName": { - "id": 7540, + "id": 8029, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "693:6:7", + "src": "693:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1415,11 +1578,11 @@ }, { "constant": false, - "id": 7543, + "id": 8032, "name": "challengerAddress", "nodeType": "VariableDeclaration", - "scope": 7546, - "src": "718:33:7", + "scope": 8035, + "src": "718:33:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1427,10 +1590,10 @@ "typeString": "address payable" }, "typeName": { - "id": 7542, + "id": 8031, "name": "address", "nodeType": "ElementaryTypeName", - "src": "718:15:7", + "src": "718:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -1441,34 +1604,167 @@ "visibility": "internal" } ], - "src": "692:60:7" + "src": "692:60:8" + }, + "returnParameters": { + "id": 8034, + "nodeType": "ParameterList", + "parameters": [], + "src": "761:0:8" + }, + "scope": 8047, + "src": "658:104:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 8046, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "processAsset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8037, + "name": "txHash", + "nodeType": "VariableDeclaration", + "scope": 8046, + "src": "789:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8036, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "789:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8039, + "name": "assetGUID", + "nodeType": "VariableDeclaration", + "scope": 8046, + "src": "802:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8038, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "802:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8041, + "name": "height", + "nodeType": "VariableDeclaration", + "scope": 8046, + "src": "820:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 8040, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "820:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8043, + "name": "erc20ContractAddress", + "nodeType": "VariableDeclaration", + "scope": 8046, + "src": "835:28:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8042, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "835:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "788:76:8" }, "returnParameters": { - "id": 7545, + "id": 8045, "nodeType": "ParameterList", "parameters": [], - "src": "761:0:7" + "src": "873:0:8" }, - "scope": 7547, - "src": "658:104:7", + "scope": 8047, + "src": "767:107:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 7548, - "src": "89:675:7" + "scope": 8048, + "src": "89:787:8" } ], - "src": "0:765:7" + "src": "0:877:8" }, "compiler": { "name": "solc", "version": "0.5.13+commit.5b0b510c.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.19", - "updatedAt": "2019-12-12T06:20:51.562Z", + "schemaVersion": "3.0.20", + "updatedAt": "2020-06-04T03:16:07.445Z", "devdoc": { "methods": {} }, diff --git a/contracts/Migrations.sol b/contracts/Migrations.sol index 22e4bcc..23a2496 100644 --- a/contracts/Migrations.sol +++ b/contracts/Migrations.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.15; +pragma solidity ^0.5.13; contract Migrations { address public owner; diff --git a/contracts/SyscoinBattleManager.sol b/contracts/SyscoinBattleManager.sol index 62367ff..32fab30 100644 --- a/contracts/SyscoinBattleManager.sol +++ b/contracts/SyscoinBattleManager.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.15; +pragma solidity ^0.5.13; import './interfaces/SyscoinClaimManagerI.sol'; import './interfaces/SyscoinSuperblocksI.sol'; diff --git a/contracts/SyscoinClaimManager.sol b/contracts/SyscoinClaimManager.sol index 5016f58..b2fdf23 100644 --- a/contracts/SyscoinClaimManager.sol +++ b/contracts/SyscoinClaimManager.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.15; +pragma solidity ^0.5.13; import './interfaces/SyscoinSuperblocksI.sol'; import './interfaces/SyscoinClaimManagerI.sol'; @@ -129,7 +129,7 @@ contract SyscoinClaimManager is Initializable, SyscoinDepositsManager, SyscoinEr // @param superblockHash – claim id. // @param account – user's address. // @return – user's deposit which was unbonded from the claim. - function unbondDeposit(bytes32 superblockHash, address account) private returns (uint, uint) { + function unbondDeposit(bytes32 superblockHash, address account) public returns (uint, uint) { SuperblockClaim storage claim = claims[superblockHash]; if (!claimExists(claim)) { return (ERR_SUPERBLOCK_BAD_CLAIM, 0); @@ -506,13 +506,14 @@ contract SyscoinClaimManager is Initializable, SyscoinDepositsManager, SyscoinEr function doPaySubmitter(bytes32 superblockHash, SuperblockClaim storage claim) private { address challenger = claim.challenger; address submitter = claim.submitter; - - if (challenger != address(0) && submitter != address(0)) { + if (challenger != address(0)) { uint reward = claim.bondedDeposits[challenger]; claim.bondedDeposits[submitter] = claim.bondedDeposits[submitter].add(reward); - unbondDeposit(superblockHash, submitter); delete claim.bondedDeposits[challenger]; } + if (submitter != address(0)) { + unbondDeposit(superblockHash, submitter); + } } // @dev - Check if a superblock can be semi approved by calling checkClaimFinished diff --git a/contracts/SyscoinDepositsManager.sol b/contracts/SyscoinDepositsManager.sol index 9f5d50e..58c48c1 100644 --- a/contracts/SyscoinDepositsManager.sol +++ b/contracts/SyscoinDepositsManager.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.15; +pragma solidity ^0.5.13; import 'openzeppelin-solidity/contracts/math/SafeMath.sol'; @@ -41,11 +41,11 @@ contract SyscoinDepositsManager { // @param amount – how much eth to withdraw // @return – sender's updated deposit amount. function withdrawDeposit(uint amount) external returns (uint) { - require(deposits[msg.sender] >= amount); + require(deposits[msg.sender] >= amount && amount > 0); deposits[msg.sender] = deposits[msg.sender].sub(amount); - msg.sender.transfer(amount); - + // stop using .transfer() because of gas issue after ethereum upgrade + msg.sender.call.value(amount)(""); emit DepositWithdrawn(msg.sender, amount); return deposits[msg.sender]; } diff --git a/contracts/SyscoinErrorCodes.sol b/contracts/SyscoinErrorCodes.sol index 9c0ef35..8377fc0 100644 --- a/contracts/SyscoinErrorCodes.sol +++ b/contracts/SyscoinErrorCodes.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.15; +pragma solidity ^0.5.13; // @dev - SyscoinSuperblocks error codes contract SyscoinErrorCodes { diff --git a/contracts/SyscoinParser/SyscoinMessageLibrary.sol b/contracts/SyscoinParser/SyscoinMessageLibrary.sol index b5b8a18..1f7c624 100644 --- a/contracts/SyscoinParser/SyscoinMessageLibrary.sol +++ b/contracts/SyscoinParser/SyscoinMessageLibrary.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.15; +pragma solidity ^0.5.13; import "solidity-rlp/contracts/RLPReader.sol"; diff --git a/contracts/SyscoinSuperblocks.sol b/contracts/SyscoinSuperblocks.sol index 13d99e0..7ef1791 100644 --- a/contracts/SyscoinSuperblocks.sol +++ b/contracts/SyscoinSuperblocks.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.15; +pragma solidity ^0.5.13; import './interfaces/SyscoinSuperblocksI.sol'; import "./SyscoinErrorCodes.sol"; @@ -37,6 +37,8 @@ contract SyscoinSuperblocks is Initializable, SyscoinSuperblocksI, SyscoinErrorC // SyscoinClaimManager address public trustedClaimManager; + uint32 constant SYSCOIN_TX_VERSION_ASSET_ACTIVATE = 0x7402; + uint32 constant SYSCOIN_TX_VERSION_ASSET_UPDATE = 0x7403; modifier onlyClaimManager() { require(msg.sender == trustedClaimManager); _; @@ -183,7 +185,7 @@ contract SyscoinSuperblocks is Initializable, SyscoinSuperblocksI, SyscoinErrorC pos = getOpReturnPos(txBytes, 4); pos += 3; // skip pushdata2 + 2 bytes for opreturn varint - // SHA3 of TokenFreeze(address,uint256,uin32) + // SHA3 of TokenFreeze(address,uint256,uint32) bytes32 tokenFreezeTopic = 0xaabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d; bridgeTransferId = uint32( getBridgeTransactionId( @@ -194,6 +196,34 @@ contract SyscoinSuperblocks is Initializable, SyscoinSuperblocksI, SyscoinErrorC ); } + + /** @dev Parse syscoin asset transaction to recover asset guid and contract, for purposes of updating asset registry in erc20manager + * @param txBytes syscoin raw transaction + * @return errorCode, assetGuid, erc20Address + */ + function parseAssetTx(bytes memory txBytes) + public + view + returns (uint errorCode, uint32 assetGuid, address erc20Address) + { + uint32 version; + uint pos = 0; + version = bytesToUint32Flipped(txBytes, pos); + if(version != SYSCOIN_TX_VERSION_ASSET_ACTIVATE && version != SYSCOIN_TX_VERSION_ASSET_UPDATE){ + return (ERR_PARSE_TX_SYS, 0, address(0)); + } + pos = getOpReturnPos(txBytes, 4); + byte pushDataOp = txBytes[pos+1]; + pos += 2; // we will have to skip pushdata op as well as atleast 1 byte + if(pushDataOp == 0x4d){ + pos++; // skip pushdata2 + 2 bytes for opreturn varint + } + + (assetGuid, erc20Address) = scanAssetTx(txBytes, pos); + require(erc20Address != address(0), + "parseAssetTx(): erc20Address cannot be empty"); + } + function bytesToUint16(bytes memory input, uint pos) public pure returns (uint16 result) { result = uint16(uint8(input[pos+1])) + uint16(uint8(input[pos]))*(2**8); } @@ -241,6 +271,61 @@ contract SyscoinSuperblocks is Initializable, SyscoinSuperblocksI, SyscoinErrorC return ethTxReceipt; } + /** + * Parse txBytes and returns assetguid + contract address + * @param txBytes syscoin raw transaction + * @param pos position at where to start parsing + * @return asset guid (uint32) and erc20 address linked to the asset guid to update registry in erc20manager + */ + function scanAssetTx(bytes memory txBytes, uint pos) + public + view + returns (uint32, address) + { + uint32 assetGUID; + address erc20Address; + uint bytesToRead; + // skip vchPubData + (bytesToRead, pos) = parseVarInt(txBytes, pos); + pos += bytesToRead; + // skip txHash + pos += 32; + // get nAsset + assetGUID = bytesToUint32Flipped(txBytes, pos); + pos += 4; + // skip strSymbol + (bytesToRead, pos) = parseVarInt(txBytes, pos); + pos += bytesToRead; + // skip witnessAddress.nVersion + pos += 1; + // skip witnessAddress.vchWitnessProgram + (bytesToRead, pos) = parseVarInt(txBytes, pos); + pos += bytesToRead; + // skip witnessAddressTransfer.nVersion + pos += 1; + // skip witnessAddressTransfer.vchWitnessProgram + (bytesToRead, pos) = parseVarInt(txBytes, pos); + pos += bytesToRead; + // skip nBalance + pos += 8; + // skip nTotalSupply + pos += 8; + // skip nMaxSupply + pos += 8; + // skip nHeight + pos += 4; + // skip nUpdateFlags + pos += 1; + // skip nPrecision + pos += 1; + // get vchContract + (bytesToRead, pos) = parseVarInt(txBytes, pos); + require(bytesToRead == 0x14, + "scanAssetTx(): Invalid number of bytes read for contract field"); + erc20Address = readEthereumAddress(txBytes, pos); + return (assetGUID, erc20Address); + } + // @dev converts bytes of any length to bytes32. // If `_rawBytes` is longer than 32 bytes, it truncates to the 32 leftmost bytes. // If it is shorter, it pads with 0s on the left. @@ -578,6 +663,49 @@ contract SyscoinSuperblocks is Initializable, SyscoinSuperblocksI, SyscoinErrorC return(ERR_RELAY_VERIFY); } + // @dev - relays asset transaction(new or update) `_txBytes` to ERC20Manager's processAsset() method. + // Also logs the value of processAsset. + // Note: callers cannot be 100% certain when an ERR_RELAY_VERIFY occurs because + // it may also have been returned by processAsset(). Callers should be + // aware of the contract that they are relaying transactions to and + // understand what that contract's processTransaction method returns. + // + // @param _txBytes - transaction bytes + // @param _txIndex - transaction's index within the block + // @param _txSiblings - transaction's Merkle siblings + // @param _syscoinBlockHeader - block header containing transaction + // @param _syscoinBlockIndex - block's index within superblock + // @param _syscoinBlockSiblings - block's merkle siblings + // @param _superblockHash - superblock containing block header + function relayAssetTx( + bytes memory _txBytes, + uint _txIndex, + uint[] memory _txSiblings, + bytes memory _syscoinBlockHeader, + uint _syscoinBlockIndex, + uint[] memory _syscoinBlockSiblings, + bytes32 _superblockHash + ) public returns (uint) { + uint txHash = verifySPVProofs(_syscoinBlockHeader, _syscoinBlockIndex, _syscoinBlockSiblings, _superblockHash, _txBytes, _txIndex, _txSiblings); + if (txHash != 0) { + uint ret; + uint32 assetGUID; + address erc20ContractAddress; + (ret, assetGUID, erc20ContractAddress) = parseAssetTx(_txBytes); + if(ret != 0){ + emit RelayTransaction(bytes32(txHash), ret); + return ret; + } + uint32 height = superblocks[_superblockHash].height*60; + height += uint32(_syscoinBlockIndex); + // pass in height of block as well by calc superblock sets of 60 blocks + syscoinERC20Manager.processAsset(txHash, assetGUID, height, erc20ContractAddress); + return 0; + } + emit RelayTransaction(bytes32(0), ERR_RELAY_VERIFY); + return(ERR_RELAY_VERIFY); + } + // Challenges a bridge cancellation request with SPV proofs linking tx to superblock and showing that a valid // cancellation request exists. If challenge fails, the cancellation request continues until timeout at which point erc20 is refunded // @@ -653,11 +781,11 @@ contract SyscoinSuperblocks is Initializable, SyscoinSuperblocksI, SyscoinErrorC // if dummy 0x00 is present this is a witness transaction if(n_inputs == 0x00){ (n_inputs, pos) = parseVarInt(txBytes, pos); // flag - require(n_inputs != 0x00); + require(n_inputs != 0x00, "#SyscoinSuperblocks skipInputs(): Unexpected dummy/flag"); // after dummy/flag the real var int comes for txins (n_inputs, pos) = parseVarInt(txBytes, pos); } - require(n_inputs < 100); + require(n_inputs < 100, "#SyscoinSuperblocks skipInputs(): Incorrect size of n_inputs"); for (uint i = 0; i < n_inputs; i++) { pos += 36; // skip outpoint diff --git a/contracts/SyscoinSuperblocksForTests.sol b/contracts/SyscoinSuperblocksForTests.sol index ce4b50c..69ec5c2 100644 --- a/contracts/SyscoinSuperblocksForTests.sol +++ b/contracts/SyscoinSuperblocksForTests.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.15; +pragma solidity ^0.5.13; import "./SyscoinSuperblocks.sol"; diff --git a/contracts/SyscoinTransactionProcessor.sol b/contracts/SyscoinTransactionProcessor.sol index d71d0cd..8f21000 100644 --- a/contracts/SyscoinTransactionProcessor.sol +++ b/contracts/SyscoinTransactionProcessor.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.15; +pragma solidity ^0.5.13; // Interface contract to be implemented by SyscoinERC20Manager interface SyscoinTransactionProcessor { @@ -7,4 +7,5 @@ interface SyscoinTransactionProcessor { function cancelTransferRequest(uint32 bridgeTransferId) external; function cancelTransferSuccess(uint32 bridgeTransferId, address challengerAddress) external; function processCancelTransferFail(uint32 bridgeTransferId, address payable challengerAddress) external; + function processAsset(uint txHash, uint32 assetGUID, uint32 height, address erc20ContractAddress) external; } diff --git a/contracts/interfaces/SyscoinERC20I.sol b/contracts/interfaces/SyscoinERC20I.sol index 294c70e..0cf7e92 100644 --- a/contracts/interfaces/SyscoinERC20I.sol +++ b/contracts/interfaces/SyscoinERC20I.sol @@ -1,7 +1,7 @@ pragma solidity ^0.5.13; import "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol"; - +import "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol"; contract SyscoinERC20I is IERC20 { function decimals() external view returns (uint8); } diff --git a/contracts/interfaces/SyscoinSuperblocksI.sol b/contracts/interfaces/SyscoinSuperblocksI.sol index e4c082c..bec489b 100644 --- a/contracts/interfaces/SyscoinSuperblocksI.sol +++ b/contracts/interfaces/SyscoinSuperblocksI.sol @@ -59,4 +59,14 @@ interface SyscoinSuperblocksI { function getSuperblockAt(uint _height) external view returns (bytes32); function getSuperblockTimestamp(bytes32 _superblockHash) external view returns (uint); function getSuperblockMedianTimestamp(bytes32 _superblockHash) external view returns (uint); + + function relayAssetTx( + bytes calldata _txBytes, + uint _txIndex, + uint[] calldata _txSiblings, + bytes calldata _syscoinBlockHeader, + uint _syscoinBlockIndex, + uint[] calldata _syscoinBlockSiblings, + bytes32 _superblockHash + ) external returns (uint); } diff --git a/contracts/token/SyscoinERC20.sol b/contracts/token/SyscoinERC20.sol index cc26fff..cf5e2e7 100644 --- a/contracts/token/SyscoinERC20.sol +++ b/contracts/token/SyscoinERC20.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.15; +pragma solidity ^0.5.13; import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol"; import "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol"; diff --git a/contracts/token/SyscoinERC20Manager.sol b/contracts/token/SyscoinERC20Manager.sol index f0312c8..81092d1 100644 --- a/contracts/token/SyscoinERC20Manager.sol +++ b/contracts/token/SyscoinERC20Manager.sol @@ -1,11 +1,10 @@ -pragma solidity ^0.5.15; +pragma solidity ^0.5.13; import "openzeppelin-solidity/contracts/math/SafeMath.sol"; import "../interfaces/SyscoinERC20I.sol"; import "@openzeppelin/upgrades/contracts/Initializable.sol"; contract SyscoinERC20Manager is Initializable { - using SafeMath for uint; using SafeMath for uint8; @@ -52,6 +51,14 @@ contract SyscoinERC20Manager is Initializable { event CancelTransferRequest(address canceller, uint32 bridgetransferid); event CancelTransferSucceeded(address canceller, uint32 bridgetransferid); event CancelTransferFailed(address canceller, uint32 bridgetransferid); + + struct AssetRegistryItem { + address erc20ContractAddress; + uint32 height; + } + mapping(uint32 => AssetRegistryItem) public assetRegistry; + event TokenRegistry(uint32 assetGuid, address erc20ContractAddress); + using SafeERC20 for SyscoinERC20I; function contains(uint value) private view returns (bool) { return syscoinTxHashesAlreadyProcessed[value]; } @@ -125,13 +132,27 @@ contract SyscoinERC20Manager is Initializable { uint userValue = value.sub(superblockSubmitterFee); // pay the fee - erc20.transfer(superblockSubmitterAddress, superblockSubmitterFee); + erc20.safeTransfer(superblockSubmitterAddress, superblockSubmitterFee); emit TokenUnfreezeFee(superblockSubmitterAddress, superblockSubmitterFee); // get your token - erc20.transfer(destinationAddress, userValue); + erc20.safeTransfer(destinationAddress, userValue); emit TokenUnfreeze(destinationAddress, userValue); } + + function processAsset( + uint _txHash, + uint32 _assetGUID, + uint32 _height, + address _erc20ContractAddress + ) public onlyTrustedRelayer { + // ensure height increases over asset updates + require(assetRegistry[_assetGUID].height < _height, "Height must increase when updating asset registry"); + // Add tx to the syscoinTxHashesAlreadyProcessed and Check tx was not already processed + require(insert(_txHash), "TX already processed"); + assetRegistry[_assetGUID] = AssetRegistryItem({erc20ContractAddress:_erc20ContractAddress, height:_height}); + emit TokenRegistry(_assetGUID, _erc20ContractAddress); + } function cancelTransferRequest(uint32 bridgeTransferId) public payable { // lookup state by bridgeTransferId @@ -165,16 +186,18 @@ contract SyscoinERC20Manager is Initializable { "#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested"); // check if timeout period passed (atleast 1 hour of blocks have to have passed) require((block.timestamp - bridgeTransfer.timestamp) > CANCEL_TRANSFER_TIMEOUT, "#SyscoinERC20Manager cancelTransferSuccess(): 1 hour timeout is required"); + // set state of bridge transfer to CancelOk + bridgeTransfer.status = BridgeTransferStatus.CancelOk; // refund erc20 to the tokenFreezerAddress SyscoinERC20I erc20 = SyscoinERC20I(bridgeTransfer.erc20ContractAddress); assetBalances[bridgeTransfer.assetGUID] = assetBalances[bridgeTransfer.assetGUID].sub(bridgeTransfer.value); - erc20.transfer(bridgeTransfer.tokenFreezerAddress, bridgeTransfer.value); + erc20.safeTransfer(bridgeTransfer.tokenFreezerAddress, bridgeTransfer.value); // pay back deposit address payable tokenFreezeAddressPayable = address(uint160(bridgeTransfer.tokenFreezerAddress)); - tokenFreezeAddressPayable.transfer(deposits[bridgeTransferId]); + uint d = deposits[bridgeTransferId]; delete deposits[bridgeTransferId]; - // set state of bridge transfer to CancelOk - bridgeTransfer.status = BridgeTransferStatus.CancelOk; + // stop using .transfer() because of gas issue after ethereum upgrade + tokenFreezeAddressPayable.call.value(d)(""); emit CancelTransferSucceeded(bridgeTransfer.tokenFreezerAddress, bridgeTransferId); } @@ -187,11 +210,13 @@ contract SyscoinERC20Manager is Initializable { // ensure state is CancelRequested require(bridgeTransfer.status == BridgeTransferStatus.CancelRequested, "#SyscoinERC20Manager cancelTransferSuccess(): Status must be CancelRequested to Fail the transfer"); - // pay deposit to challenger - challengerAddress.transfer(deposits[bridgeTransferId]); - delete deposits[bridgeTransferId]; // set state of bridge transfer to CancelChallenged bridgeTransfer.status = BridgeTransferStatus.CancelChallenged; + // pay deposit to challenger + uint d = deposits[bridgeTransferId]; + delete deposits[bridgeTransferId]; + // stop using .transfer() because of gas issue after ethereum upgrade + challengerAddress.call.value(d)(""); emit CancelTransferFailed(bridgeTransfer.tokenFreezerAddress, bridgeTransferId); } @@ -209,11 +234,13 @@ contract SyscoinERC20Manager is Initializable { { require(syscoinAddress.length > 0, "syscoinAddress cannot be zero"); require(assetGUID > 0, "Asset GUID must not be 0"); - + if (net != Network.REGTEST) { + require(assetRegistry[assetGUID].erc20ContractAddress == erc20ContractAddress, "Asset registry contract does not match what was provided to this call"); + } SyscoinERC20I erc20 = SyscoinERC20I(erc20ContractAddress); require(precision == erc20.decimals(), "Decimals were not provided with the correct value"); - erc20.transferFrom(msg.sender, address(this), value); + erc20.safeTransferFrom(msg.sender, address(this), value); assetBalances[assetGUID] = assetBalances[assetGUID].add(value); // store some state needed for potential bridge transfer cancellation diff --git a/contracts/token/SyscoinERC20ManagerForTests.sol b/contracts/token/SyscoinERC20ManagerForTests.sol index 0452330..42287d8 100644 --- a/contracts/token/SyscoinERC20ManagerForTests.sol +++ b/contracts/token/SyscoinERC20ManagerForTests.sol @@ -1,9 +1,10 @@ -pragma solidity ^0.5.15; +pragma solidity ^0.5.13; import "./SyscoinERC20Manager.sol"; // DONOT USE IN PRODUCTION contract SyscoinERC20ManagerForTests is SyscoinERC20Manager { + using SafeERC20 for SyscoinERC20I; // keyhash or scripthash for syscoinWitnessProgram function freezeBurnERC20( uint value, @@ -26,7 +27,7 @@ contract SyscoinERC20ManagerForTests is SyscoinERC20Manager { SyscoinERC20I erc20 = SyscoinERC20I(erc20ContractAddress); require(precision == erc20.decimals(), "Decimals were not provided with the correct value"); - erc20.transferFrom(msg.sender, address(this), value); + erc20.safeTransferFrom(msg.sender, address(this), value); emit TokenFreeze(msg.sender, value, 0); return true; diff --git a/migrations/2_deploy_contracts.js b/migrations/2_deploy_contracts.js index 5957af2..7425d4b 100644 --- a/migrations/2_deploy_contracts.js +++ b/migrations/2_deploy_contracts.js @@ -91,7 +91,7 @@ module.exports = function(deployer, networkName, accounts) { const { network, txParams } = await ConfigManager.initNetworkConfiguration({ network: networkName, from: accounts[0] }) if (networkName === 'development') { - SyscoinERC20Manager = await deploy(networkName, { network, txParams }, accounts, SYSCOIN_MAINNET, SUPERBLOCK_OPTIONS_LOCAL); + SyscoinERC20Manager = await deploy(networkName, { network, txParams }, accounts, SYSCOIN_REGTEST, SUPERBLOCK_OPTIONS_LOCAL); } else { if (networkName === 'ropsten') { SyscoinERC20Manager = await deploy(networkName, { network, txParams }, accounts, SYSCOIN_MAINNET, SUPERBLOCK_OPTIONS_PRODUCTION); diff --git a/org/sysethereum/agents/contract/SyscoinBattleManager.java b/org/sysethereum/agents/contract/SyscoinBattleManager.java index 0b2256e..b7e5e1a 100644 --- a/org/sysethereum/agents/contract/SyscoinBattleManager.java +++ b/org/sysethereum/agents/contract/SyscoinBattleManager.java @@ -46,7 +46,7 @@ */ @SuppressWarnings("rawtypes") public class SyscoinBattleManager extends Contract { - private static final String BINARY = "0x608060405234801561001057600080fd5b50612b7c806100206000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063795ea18e116100b8578063df23ceb21161007c578063df23ceb214610816578063e177321614610851578063f1afcfa61461086e578063f871dfe814610876578063f91f681f14610893578063f9b5d7c0146108b657610137565b8063795ea18e14610652578063b6f6580a1461066f578063d0f9410b1461068c578063d1daeede14610739578063d5c9712f1461076d57610137565b80633e0e8a20116100ff5780633e0e8a201461038f578063455e6166146104ad5780634d7dcfbd146104b557806351fcf4311461057457806371a8c18a1461062157610137565b8063029c5e2a1461013c5780630c9897d2146101fb57806318b011de146102b65780632ef955e4146102be5780633678c14314610367575b600080fd5b6101e26004803603604081101561015257600080fd5b810190602081018135600160201b81111561016c57600080fd5b82018360208201111561017e57600080fd5b803590602001918460018302840111600160201b8311171561019f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610957915050565b6040805163ffffffff9092168252519081900360200190f35b6102a46004803603606081101561021157600080fd5b810190602081018135600160201b81111561022b57600080fd5b82018360208201111561023d57600080fd5b803590602001918460018302840111600160201b8311171561025e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610993565b60408051918252519081900360200190f35b6102a4610a58565b6102a4600480360360608110156102d457600080fd5b810190602081018135600160201b8111156102ee57600080fd5b82018360208201111561030057600080fd5b803590602001918460018302840111600160201b8311171561032157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610a5e565b61038d6004803603602081101561037d57600080fd5b50356001600160a01b0316610a83565b005b610438600480360360608110156103a557600080fd5b810190602081018135600160201b8111156103bf57600080fd5b8201836020820111156103d157600080fd5b803590602001918460018302840111600160201b831117156103f257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610ada565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047257818101518382015260200161045a565b50505050905090810190601f16801561049f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a4610b35565b61055b600480360360408110156104cb57600080fd5b810190602081018135600160201b8111156104e557600080fd5b8201836020820111156104f757600080fd5b803590602001918460018302840111600160201b8311171561051857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610b41915050565b6040805192835260208301919091528051918290030190f35b61038d6004803603606081101561058a57600080fd5b81359190810190604081016020820135600160201b8111156105ab57600080fd5b8201836020820111156105bd57600080fd5b803590602001918460018302840111600160201b831117156105de57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610bf4915050565b61063e6004803603602081101561063757600080fd5b5035611040565b604080519115158252519081900360200190f35b6102a46004803603602081101561066857600080fd5b5035611060565b6102a46004803603602081101561068557600080fd5b5035611151565b6102a4600480360360608110156106a257600080fd5b813591602081013591810190606081016040820135600160201b8111156106c857600080fd5b8201836020820111156106da57600080fd5b803590602001918460208302840111600160201b831117156106fb57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061127b945050505050565b61038d6004803603606081101561074f57600080fd5b508035906001600160a01b0360208201358116916040013516611495565b6102a46004803603606081101561078357600080fd5b810190602081018135600160201b81111561079d57600080fd5b8201836020820111156107af57600080fd5b803590602001918460018302840111600160201b831117156107d057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135611567565b61038d6004803603608081101561082c57600080fd5b5060ff813516906001600160a01b0360208201351690604081013590606001356115a9565b61063e6004803603602081101561086757600080fd5b5035611692565b6102a46116af565b6102a46004803603602081101561088c57600080fd5b50356116b5565b6102a4600480360360208110156108a957600080fd5b503563ffffffff16611791565b6102a4600480360360208110156108cc57600080fd5b810190602081018135600160201b8111156108e657600080fd5b8201836020820111156108f857600080fd5b803590602001918460208302840111600160201b8311171561091957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506117b4945050505050565b6000816020840101516040518160031a60008201538160021a60018201538160011a60028201538160001a60038201535160e01c949350505050565b6000610a4e60026109a5868686610a5e565b604051602001808281526020019150506040516020818303038152906040526040518082805190602001908083835b602083106109f35780518252601f1990920191602091820191016109d4565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015610a32573d6000803e3d6000fd5b5050506040513d6020811015610a4757600080fd5b5051611151565b90505b9392505050565b60355481565b60006040516020818486602089010160025afa610a7a57600080fd5b51949350505050565b60365461010090046001600160a01b0316158015610aa957506001600160a01b03811615155b610ab257600080fd5b603680546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6060600083830390506060816040519080825280601f01601f191660200182016040528015610b10576020820181803883390190505b5090508160208201838760208a010160045afa610b2c57600080fd5b95945050505050565b6729a2241af62c000081565b6000806000848481518110610b5257fe5b01602001516001949094019360f81c905060fd811015610b795760ff169150829050610bed565b8060ff1660fd1415610b9f57610b9185856010611567565b846002019250925050610bed565b8060ff1660fe1415610bc557610bb785856020611567565b846004019250925050610bed565b8060ff1660ff1415610beb57610bdd85856040611567565b846008019250925050610bed565b505b9250929050565b600083815260336020526040902080546001600160a01b0316338114610c1957600080fd5b6004820154600260365460ff166002811115610c3157fe5b14610c695760028111158015610c48575083601014155b80610c5f5750806003148015610c5f575083600c14155b15610c6957600080fd5b610c71612988565b60375460408051636e5b707160e01b8152600481018a905290516001600160a01b0390921691636e5b70719160248082019261012092909190829003018186803b158015610cbe57600080fd5b505afa158015610cd2573d6000803e3d6000fd5b505050506040513d610120811015610ce957600080fd5b50805160208083015160408085015160608087015160808089015160a08a0151610100909a015163ffffffff90811660e08d0152918b019990995290971660c08901528781019690965286820152858301919091529184528151888152888202810190910190915260009190878015610d6c578160200160208202803883390190505b509050606087604051908082528060200260200182016040528015610dab57816020015b610d986129d2565b815260200190600190039081610d905790505b5090506000805b8251811015610eee57610dc58b86611a6c565b838281518110610dd157fe5b60200260200101819052506000610dfe848381518110610ded57fe5b602002602001015160000151611791565b9050610e0a8c87611ac1565b15610e8257610e176129f9565b610e218d88611ae4565b90508181600001511115610e3b576127a693505050610eee565b6000610e61868581518110610e4c57fe5b60200260200101516060015160001c83611be2565b905080600114610e75579350610eee915050565b5061014001519550610eb6565b80848381518110610e8f57fe5b60200260200101516060015160001c1115610eaf57612792925050610eee565b8560500195505b838281518110610ec257fe5b602002602001015160600151858381518110610eda57fe5b602090810291909101015250600101610db2565b508015610f1e576001880154610f11908c9089906001600160a01b031684611c53565b505050505050505061103b565b610f498886610f2c866117b4565b85600187510381518110610f3c57fe5b6020026020010151611d26565b90508015610f72576001880154610f6d908c9089906001600160a01b031684611c53565b611032565b426002890155610f83888684611e8c565b90508015610fa7576001880154610f11908c9089906001600160a01b031684611c53565b88600c1480610fc65750600260365460ff166002811115610fc457fe5b145b15610fe7576001880154610f11908c9089906001600160a01b03168461222b565b604080518c81526001880160208201526001600160a01b0389168183015290517fbb00dcdc614e6421b964f0ebca4d1ce96e2a575d555e09012e6f36ed405b410a9181900360600190a15b50505050505050505b505050565b60008181526033602052604090206035546002909101540142115b919050565b600081815260336020526040812080546001600160a01b031661108257600080fd5b60355481600201540142111561114757805460018201546110b49185916001600160a01b03918216911661c36a611c53565b603660019054906101000a90046001600160a01b03166001600160a01b0316633352f1a4846040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561110f57600080fd5b505af1158015611123573d6000803e3d6000fd5b505050506040513d602081101561113957600080fd5b5061c36a925061105b915050565b5061c36e92915050565b60405160009060ff8316815382601e1a600182015382601d1a600282015382601c1a600382015382601b1a600482015382601a1a60058201538260191a60068201538260181a60078201538260171a60088201538260161a60098201538260151a600a8201538260141a600b8201538260131a600c8201538260121a600d8201538260111a600e8201538260101a600f82015382600f1a601082015382600e1a601182015382600d1a601282015382600c1a601382015382600b1a601482015382600a1a60158201538260091a60168201538260081a60178201538260071a60188201538260061a60198201538260051a601a8201538260041a601b8201538260031a601c8201538260021a601d8201538260011a601e8201538260001a601f8201535192915050565b8051600090815b818110156112c5576112a684828151811061129957fe5b6020026020010151611151565b8482815181106112b257fe5b6020908102919091010152600101611282565b506000806112d287611151565b90505b828210156114815760008583815181106112eb57fe5b602002602001015190506000806002898161130257fe5b066001141561131557508190508261131b565b50829050815b600280838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106113755780518252601f199092019160209182019101611356565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156113b4573d6000803e3d6000fd5b5050506040513d60208110156113c957600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106114155780518252601f1990920191602091820191016113f6565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611454573d6000803e3d6000fd5b5050506040513d602081101561146957600080fd5b505193506002890498506001850194505050506112d5565b61148a81611151565b979650505050505050565b60365461010090046001600160a01b03163381146114b257600080fd5b600084815260336020526040902080546001600160a01b0316156114d557600080fd5b80546001600160a01b038086166001600160a01b03199283161783556001830180549186169190921617905560006115106004830182612a53565b50426002820155604080518681526001600160a01b03808716602083015285168183015290517f3726b144f253954160bd0bb1f002a28f904f6e83596cbb62e9e1f2082644ca939181900360600190a15050505050565b6000805b600883048110156115a1578060080260020a858286018151811061158b57fe5b016020015160f81c02919091019060010161156b565b509392505050565b600054610100900460ff16806115c257506115c26122f8565b806115d0575060005460ff16155b61160b5760405162461bcd60e51b815260040180806020018281038252602e815260200180612b1a602e913960400191505060405180910390fd5b600054610100900460ff16158015611636576000805460ff1961ff0019909116610100171660011790555b6036805486919060ff1916600183600281111561164f57fe5b0217905550603780546001600160a01b0319166001600160a01b03861617905560348390556035829055801561168b576000805461ff00191690555b5050505050565b6000908152603360205260409020546001600160a01b0316151590565b60345481565b60006116bf612a77565b600083815260336020908152604091829020825160a08101845281546001600160a01b0390811682526001830154168184015260028201548185015260038201546060820152600482018054855181860281018601909652808652919492936080860193929083018282801561175457602002820191906000526020600020905b815481526020019060010190808311611740575b5050509190925250508151919250506001600160a01b031661177a57600091505061105b565b505060009081526033602052604090206004015490565b62ffffff8116630100000063ffffffff92831604909116600219016101000a0290565b805160009060018114156117df57826000815181106117cf57fe5b602002602001015191505061105b565b6000811161182a576040805162461bcd60e51b81526020600482015260136024820152724d7573742070726f766964652068617368657360681b604482015290519081900360640190fd5b60005b818110156118765761185484828151811061184457fe5b602002602001015160001c611151565b60001b84828151811061186357fe5b602090810291909101015260010161182d565b6000805b6001841115611a52575060009150815b83831015611a4a578383600101106118a557600184036118aa565b826001015b91506002808785815181106118bb57fe5b60200260200101518885815181106118cf57fe5b602002602001015160405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061192c5780518252601f19909201916020918201910161190d565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561196b573d6000803e3d6000fd5b5050506040513d602081101561198057600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106119cc5780518252601f1990920191602091820191016119ad565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611a0b573d6000803e3d6000fd5b5050506040513d6020811015611a2057600080fd5b50518651879083908110611a3057fe5b60209081029190910101526002929092019160010161188a565b80935061187a565b611a628660008151811061184457fe5b9695505050505050565b611a746129d2565b611a7e83836122ff565b63ffffffff168152611a9283836050610993565b6060820152611aa1838361230e565b63ffffffff166040820152611ab6838361231d565b602082015292915050565b6000610100611ad08484610957565b1663ffffffff166000141590505b92915050565b611aec6129f9565b60606000605084019350611b008585612334565b92509050611b118585808403610993565b60208085019190915281019350611b2a85856000612360565b60e08501919091529350611b4085856020611567565b61010084015260049390930192611b5985856000612360565b60608501919091529350611b6f85856020611567565b608084015260049390930192611b8785856050610993565b835260249390930192611b9a8585612410565b60c084015260289390930192611bb285856020611567565b610120840152600484016101408401526000611bcd83612418565b60a08701525060408501525091949350505050565b6000816101000151600014611bfa575061274c611ade565b8160a00151600114611c11575060a0810151611ade565b8160400151611c2084846124e1565b14611c2e575061277e611ade565b8160c00151611c3c836124f6565b14611c4a5750612788611ade565b50600192915050565b6036546040805163a4cbce7b60e01b8152600481018790526001600160a01b038581166024830152868116604483015291516101009093049091169163a4cbce7b9160648082019260009290919082900301818387803b158015611cb657600080fd5b505af1158015611cca573d6000803e3d6000fd5b505060408051878152602081018590526001600160a01b0387168183015290517fcc11926aca009e381b48e432fbfb8e3f192d5d8be733dc474fa78831bbfdf0449350908190036060019150a1611d2084612513565b50505050565b600484015460009060031480611d4c5750600260365460ff166002811115611d4a57fe5b145b15611e65576060600260365460ff166002811115611d6657fe5b1415611d73576001611d76565b60045b60ff16604051908082528060200260200182016040528015611da2578160200160208202803883390190505b50905060005b6004870154811015611ded57866004018181548110611dc357fe5b9060005260206000200154828281518110611dda57fe5b6020908102919091010152600101611da8565b84828281518110611dfa57fe5b602002602001018181525050611e0f826117b4565b865114611e225761c37692505050611e84565b836040015163ffffffff16866020015114611e435761c37492505050611e84565b8560600151846060015114611e5e5761c38b92505050611e84565b5050611e80565b60048501805460018101825560009182526020909120018390555b5060005b949350505050565b6000611e96612988565b611e9e6129d2565b83600185510381518110611eae57fe5b60200260200101519050603760009054906101000a90046001600160a01b03166001600160a01b0316636e5b707186608001516040518263ffffffff1660e01b8152600401808281526020019150506101206040518083038186803b158015611f1657600080fd5b505afa158015611f2a573d6000803e3d6000fd5b505050506040513d610120811015611f4157600080fd5b5060408082015160608084015160809094015163ffffffff1660c08701528501929092528301526004860154600110611fa357816060015184600081518110611f8657fe5b60200260200101516020015114611fa35761c38d92505050610a51565b6000611fb487868560c00151612558565b90508015611fc6579250610a51915050565b8451600c14611fde576060820151600388015561221e565b6000611fe98661267c565b9050866040015181146120045761c397945050505050610a51565b8360400151811161201d5761c398945050505050610a51565b600260365460ff16600281111561203057fe5b1461221c57600660018860e001510363ffffffff168161204c57fe5b0663ffffffff16600014156121ca576120636129d2565b8660028851038151811061207357fe5b60209081029190910181015160375460e08b01516040805163c0dde98b60e01b815260051990920163ffffffff166004830152519294506001600160a01b0390911692632da8cffd92849263c0dde98b926024808301939192829003018186803b1580156120e057600080fd5b505afa1580156120f4573d6000803e3d6000fd5b505050506040513d602081101561210a57600080fd5b5051604080516001600160e01b031960e085901b1681526004810192909252516024808301926020929190829003018186803b15801561214957600080fd5b505afa15801561215d573d6000803e3d6000fd5b505050506040513d602081101561217357600080fd5b505160208901819052604082015160c087015160009261219a9263ffffffff1603906126e0565b90508063ffffffff168960c0015163ffffffff16146121c35761c3899650505050505050610a51565b50506121f3565b8360c0015163ffffffff168760c0015163ffffffff16146121f35761c390945050505050610a51565b826000015163ffffffff168760c0015163ffffffff161461221c5761c390945050505050610a51565b505b5060009695505050505050565b6036546040805163a4cbce7b60e01b8152600481018790526001600160a01b038681166024830152858116604483015291516101009093049091169163a4cbce7b9160648082019260009290919082900301818387803b15801561228e57600080fd5b505af11580156122a2573d6000803e3d6000fd5b505060408051878152602081018590526001600160a01b0386168183015290517fffa243eaeafd66e0a938ee0d270bbefd594e08a551dc29a9a44e39c719cfc79f9350908190036060019150a1611d2084612513565b303b155b90565b6000610a518383604801610957565b6000610a518383604401610957565b6024828201015160009060048301610b2c82611151565b60006060612345848460040161273b565b909250905061235484836127bd565b60040194909350915050565b606060008060006123718787610b41565b9650915084158061238157508185115b1561238d575080612390565b50835b6060816040519080825280602002602001820160405280156123bc578160200160208202803883390190505b50905060005b82811015612404576123dc6123d78a8a612410565b611151565b8282815181106123e857fe5b60209081029190910181019190915297909701966001016123c2565b50979596505050505050565b016020015190565b6000806000806000809050600063fabe6d6d60e01b905060006001600160e01b031990508751602089018181015b8082101561247b5784848351161415612470578561246957600482820384030196505b6001860195505b600182019150612446565b5050506002831061249d575060009550505060031901915061276090506124da565b82600114156124c7576124b08885612410565b9650506003199092019350600192506124da915050565b5060009550505060031901915061276a90505b9193909250565b6000610a51838360800151846060015161127b565b6000611ade6123d783602001518461010001518560e0015161127b565b600081815260336020526040812080546001600160a01b03199081168255600182018054909116905560028101829055600381018290559061103b6004830182612abb565b8151600090600019015b8015612605576125706129d2565b84828151811061257c57fe5b6020026020010151905061258e6129d2565b85600184038151811061259d57fe5b602002602001015190508551600c1415806125bb5750600186510383105b156125de57815163ffffffff8681169116146125de5761c38a9350505050610a51565b81602001518160600151146125fa5761c38c9350505050610a51565b505060001901612562565b508260008151811061261357fe5b60200260200101516000015163ffffffff168263ffffffff161461263a575061c38a610a51565b6004840154600211612672578260008151811061265357fe5b602002602001015160200151846003015414612672575061c393610a51565b5060009392505050565b6000612686612adc565b60005b600b8110156126cc578381600101815181106126a157fe5b60200260200101516040015163ffffffff168282600b81106126bf57fe5b6020020152600101612689565b506126d681612810565b60a0015192915050565b6000826143808110156126f65750614380612705565b61697881111561270557506169785b600061271084611791565b6154609083020490506001600160ec1b0381111561273257506001600160ec1b035b610b2c816128b2565b6000606060008061274c8686610b41565b955091508161277c5761275f8686610b41565b955091508161276d57600080fd5b6127778686610b41565b955091505b8160011461278957600080fd5b6024850194506127998686610b41565b9550905060606127ac8787848101610ada565b959091016004019694955050505050565b60008060006127cc8585610b41565b94509150600a82106127dd57600080fd5b60005b82811015612806576008850194506127f88686610b41565b8101955091506001016127e0565b5092949350505050565b60005b600b8110156128ae57600181015b600b8110156128a5578281600b811061283657fe5b60200201518383600b811061284757fe5b6020020151111561289d5760008383600b811061286057fe5b602002015190508382600b811061287357fe5b60200201518484600b811061288457fe5b6020020152808483600b811061289657fe5b6020020152505b600101612821565b50600101612813565b5050565b6000806128cb6128c184612943565b600701600361296b565b90506000600382116128f3576128ec8462ffffff1683600303600802612981565b905061290b565b612903846003840360080261296b565b62ffffff1690505b62800000811615612930576129278163ffffffff16600861296b565b90506001820191505b61293b826018612981565b179392505050565b6000815b80156129655761295881600161296b565b9050600182019150612947565b50919050565b60008160020a838161297957fe5b049392505050565b60020a0290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082015290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b60405180610160016040528060008152602001600081526020016000815260200160608152602001600081526020016000815260200160008152602001606081526020016000815260200160008152602001600081525090565b81548183558181111561103b5760008381526020902061103b918101908301612afb565b6040518060a0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008019168152602001606081525090565b5080546000825590600052602060002090810190612ad99190612afb565b50565b604051806101600160405280600b906020820280388339509192915050565b6122fc91905b80821115612b155760008155600101612b01565b509056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a72315820dd3833d482dec73d9fe07bb28dd719134e39843322bdf2b6d67e833c168e85db64736f6c634300050d0032"; + private static final String BINARY = "0x608060405234801561001057600080fd5b50612b7c806100206000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063795ea18e116100b8578063df23ceb21161007c578063df23ceb214610816578063e177321614610851578063f1afcfa61461086e578063f871dfe814610876578063f91f681f14610893578063f9b5d7c0146108b657610137565b8063795ea18e14610652578063b6f6580a1461066f578063d0f9410b1461068c578063d1daeede14610739578063d5c9712f1461076d57610137565b80633e0e8a20116100ff5780633e0e8a201461038f578063455e6166146104ad5780634d7dcfbd146104b557806351fcf4311461057457806371a8c18a1461062157610137565b8063029c5e2a1461013c5780630c9897d2146101fb57806318b011de146102b65780632ef955e4146102be5780633678c14314610367575b600080fd5b6101e26004803603604081101561015257600080fd5b810190602081018135600160201b81111561016c57600080fd5b82018360208201111561017e57600080fd5b803590602001918460018302840111600160201b8311171561019f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610957915050565b6040805163ffffffff9092168252519081900360200190f35b6102a46004803603606081101561021157600080fd5b810190602081018135600160201b81111561022b57600080fd5b82018360208201111561023d57600080fd5b803590602001918460018302840111600160201b8311171561025e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610993565b60408051918252519081900360200190f35b6102a4610a58565b6102a4600480360360608110156102d457600080fd5b810190602081018135600160201b8111156102ee57600080fd5b82018360208201111561030057600080fd5b803590602001918460018302840111600160201b8311171561032157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610a5e565b61038d6004803603602081101561037d57600080fd5b50356001600160a01b0316610a83565b005b610438600480360360608110156103a557600080fd5b810190602081018135600160201b8111156103bf57600080fd5b8201836020820111156103d157600080fd5b803590602001918460018302840111600160201b831117156103f257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610ada565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047257818101518382015260200161045a565b50505050905090810190601f16801561049f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a4610b35565b61055b600480360360408110156104cb57600080fd5b810190602081018135600160201b8111156104e557600080fd5b8201836020820111156104f757600080fd5b803590602001918460018302840111600160201b8311171561051857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610b41915050565b6040805192835260208301919091528051918290030190f35b61038d6004803603606081101561058a57600080fd5b81359190810190604081016020820135600160201b8111156105ab57600080fd5b8201836020820111156105bd57600080fd5b803590602001918460018302840111600160201b831117156105de57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610bf4915050565b61063e6004803603602081101561063757600080fd5b5035611040565b604080519115158252519081900360200190f35b6102a46004803603602081101561066857600080fd5b5035611060565b6102a46004803603602081101561068557600080fd5b5035611151565b6102a4600480360360608110156106a257600080fd5b813591602081013591810190606081016040820135600160201b8111156106c857600080fd5b8201836020820111156106da57600080fd5b803590602001918460208302840111600160201b831117156106fb57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061127b945050505050565b61038d6004803603606081101561074f57600080fd5b508035906001600160a01b0360208201358116916040013516611495565b6102a46004803603606081101561078357600080fd5b810190602081018135600160201b81111561079d57600080fd5b8201836020820111156107af57600080fd5b803590602001918460018302840111600160201b831117156107d057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135611567565b61038d6004803603608081101561082c57600080fd5b5060ff813516906001600160a01b0360208201351690604081013590606001356115a9565b61063e6004803603602081101561086757600080fd5b5035611692565b6102a46116af565b6102a46004803603602081101561088c57600080fd5b50356116b5565b6102a4600480360360208110156108a957600080fd5b503563ffffffff16611791565b6102a4600480360360208110156108cc57600080fd5b810190602081018135600160201b8111156108e657600080fd5b8201836020820111156108f857600080fd5b803590602001918460208302840111600160201b8311171561091957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506117b4945050505050565b6000816020840101516040518160031a60008201538160021a60018201538160011a60028201538160001a60038201535160e01c949350505050565b6000610a4e60026109a5868686610a5e565b604051602001808281526020019150506040516020818303038152906040526040518082805190602001908083835b602083106109f35780518252601f1990920191602091820191016109d4565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015610a32573d6000803e3d6000fd5b5050506040513d6020811015610a4757600080fd5b5051611151565b90505b9392505050565b60355481565b60006040516020818486602089010160025afa610a7a57600080fd5b51949350505050565b60365461010090046001600160a01b0316158015610aa957506001600160a01b03811615155b610ab257600080fd5b603680546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6060600083830390506060816040519080825280601f01601f191660200182016040528015610b10576020820181803883390190505b5090508160208201838760208a010160045afa610b2c57600080fd5b95945050505050565b6729a2241af62c000081565b6000806000848481518110610b5257fe5b01602001516001949094019360f81c905060fd811015610b795760ff169150829050610bed565b8060ff1660fd1415610b9f57610b9185856010611567565b846002019250925050610bed565b8060ff1660fe1415610bc557610bb785856020611567565b846004019250925050610bed565b8060ff1660ff1415610beb57610bdd85856040611567565b846008019250925050610bed565b505b9250929050565b600083815260336020526040902080546001600160a01b0316338114610c1957600080fd5b6004820154600260365460ff166002811115610c3157fe5b14610c695760028111158015610c48575083601014155b80610c5f5750806003148015610c5f575083600c14155b15610c6957600080fd5b610c71612988565b60375460408051636e5b707160e01b8152600481018a905290516001600160a01b0390921691636e5b70719160248082019261012092909190829003018186803b158015610cbe57600080fd5b505afa158015610cd2573d6000803e3d6000fd5b505050506040513d610120811015610ce957600080fd5b50805160208083015160408085015160608087015160808089015160a08a0151610100909a015163ffffffff90811660e08d0152918b019990995290971660c08901528781019690965286820152858301919091529184528151888152888202810190910190915260009190878015610d6c578160200160208202803883390190505b509050606087604051908082528060200260200182016040528015610dab57816020015b610d986129d2565b815260200190600190039081610d905790505b5090506000805b8251811015610eee57610dc58b86611a6c565b838281518110610dd157fe5b60200260200101819052506000610dfe848381518110610ded57fe5b602002602001015160000151611791565b9050610e0a8c87611ac1565b15610e8257610e176129f9565b610e218d88611ae4565b90508181600001511115610e3b576127a693505050610eee565b6000610e61868581518110610e4c57fe5b60200260200101516060015160001c83611be2565b905080600114610e75579350610eee915050565b5061014001519550610eb6565b80848381518110610e8f57fe5b60200260200101516060015160001c1115610eaf57612792925050610eee565b8560500195505b838281518110610ec257fe5b602002602001015160600151858381518110610eda57fe5b602090810291909101015250600101610db2565b508015610f1e576001880154610f11908c9089906001600160a01b031684611c53565b505050505050505061103b565b610f498886610f2c866117b4565b85600187510381518110610f3c57fe5b6020026020010151611d26565b90508015610f72576001880154610f6d908c9089906001600160a01b031684611c53565b611032565b426002890155610f83888684611e8c565b90508015610fa7576001880154610f11908c9089906001600160a01b031684611c53565b88600c1480610fc65750600260365460ff166002811115610fc457fe5b145b15610fe7576001880154610f11908c9089906001600160a01b03168461222b565b604080518c81526001880160208201526001600160a01b0389168183015290517fbb00dcdc614e6421b964f0ebca4d1ce96e2a575d555e09012e6f36ed405b410a9181900360600190a15b50505050505050505b505050565b60008181526033602052604090206035546002909101540142115b919050565b600081815260336020526040812080546001600160a01b031661108257600080fd5b60355481600201540142111561114757805460018201546110b49185916001600160a01b03918216911661c36a611c53565b603660019054906101000a90046001600160a01b03166001600160a01b0316633352f1a4846040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561110f57600080fd5b505af1158015611123573d6000803e3d6000fd5b505050506040513d602081101561113957600080fd5b5061c36a925061105b915050565b5061c36e92915050565b60405160009060ff8316815382601e1a600182015382601d1a600282015382601c1a600382015382601b1a600482015382601a1a60058201538260191a60068201538260181a60078201538260171a60088201538260161a60098201538260151a600a8201538260141a600b8201538260131a600c8201538260121a600d8201538260111a600e8201538260101a600f82015382600f1a601082015382600e1a601182015382600d1a601282015382600c1a601382015382600b1a601482015382600a1a60158201538260091a60168201538260081a60178201538260071a60188201538260061a60198201538260051a601a8201538260041a601b8201538260031a601c8201538260021a601d8201538260011a601e8201538260001a601f8201535192915050565b8051600090815b818110156112c5576112a684828151811061129957fe5b6020026020010151611151565b8482815181106112b257fe5b6020908102919091010152600101611282565b506000806112d287611151565b90505b828210156114815760008583815181106112eb57fe5b602002602001015190506000806002898161130257fe5b066001141561131557508190508261131b565b50829050815b600280838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106113755780518252601f199092019160209182019101611356565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156113b4573d6000803e3d6000fd5b5050506040513d60208110156113c957600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106114155780518252601f1990920191602091820191016113f6565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611454573d6000803e3d6000fd5b5050506040513d602081101561146957600080fd5b505193506002890498506001850194505050506112d5565b61148a81611151565b979650505050505050565b60365461010090046001600160a01b03163381146114b257600080fd5b600084815260336020526040902080546001600160a01b0316156114d557600080fd5b80546001600160a01b038086166001600160a01b03199283161783556001830180549186169190921617905560006115106004830182612a53565b50426002820155604080518681526001600160a01b03808716602083015285168183015290517f3726b144f253954160bd0bb1f002a28f904f6e83596cbb62e9e1f2082644ca939181900360600190a15050505050565b6000805b600883048110156115a1578060080260020a858286018151811061158b57fe5b016020015160f81c02919091019060010161156b565b509392505050565b600054610100900460ff16806115c257506115c26122f8565b806115d0575060005460ff16155b61160b5760405162461bcd60e51b815260040180806020018281038252602e815260200180612b1a602e913960400191505060405180910390fd5b600054610100900460ff16158015611636576000805460ff1961ff0019909116610100171660011790555b6036805486919060ff1916600183600281111561164f57fe5b0217905550603780546001600160a01b0319166001600160a01b03861617905560348390556035829055801561168b576000805461ff00191690555b5050505050565b6000908152603360205260409020546001600160a01b0316151590565b60345481565b60006116bf612a77565b600083815260336020908152604091829020825160a08101845281546001600160a01b0390811682526001830154168184015260028201548185015260038201546060820152600482018054855181860281018601909652808652919492936080860193929083018282801561175457602002820191906000526020600020905b815481526020019060010190808311611740575b5050509190925250508151919250506001600160a01b031661177a57600091505061105b565b505060009081526033602052604090206004015490565b62ffffff8116630100000063ffffffff92831604909116600219016101000a0290565b805160009060018114156117df57826000815181106117cf57fe5b602002602001015191505061105b565b6000811161182a576040805162461bcd60e51b81526020600482015260136024820152724d7573742070726f766964652068617368657360681b604482015290519081900360640190fd5b60005b818110156118765761185484828151811061184457fe5b602002602001015160001c611151565b60001b84828151811061186357fe5b602090810291909101015260010161182d565b6000805b6001841115611a52575060009150815b83831015611a4a578383600101106118a557600184036118aa565b826001015b91506002808785815181106118bb57fe5b60200260200101518885815181106118cf57fe5b602002602001015160405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061192c5780518252601f19909201916020918201910161190d565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561196b573d6000803e3d6000fd5b5050506040513d602081101561198057600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106119cc5780518252601f1990920191602091820191016119ad565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611a0b573d6000803e3d6000fd5b5050506040513d6020811015611a2057600080fd5b50518651879083908110611a3057fe5b60209081029190910101526002929092019160010161188a565b80935061187a565b611a628660008151811061184457fe5b9695505050505050565b611a746129d2565b611a7e83836122ff565b63ffffffff168152611a9283836050610993565b6060820152611aa1838361230e565b63ffffffff166040820152611ab6838361231d565b602082015292915050565b6000610100611ad08484610957565b1663ffffffff166000141590505b92915050565b611aec6129f9565b60606000605084019350611b008585612334565b92509050611b118585808403610993565b60208085019190915281019350611b2a85856000612360565b60e08501919091529350611b4085856020611567565b61010084015260049390930192611b5985856000612360565b60608501919091529350611b6f85856020611567565b608084015260049390930192611b8785856050610993565b835260249390930192611b9a8585612410565b60c084015260289390930192611bb285856020611567565b610120840152600484016101408401526000611bcd83612418565b60a08701525060408501525091949350505050565b6000816101000151600014611bfa575061274c611ade565b8160a00151600114611c11575060a0810151611ade565b8160400151611c2084846124e1565b14611c2e575061277e611ade565b8160c00151611c3c836124f6565b14611c4a5750612788611ade565b50600192915050565b6036546040805163a4cbce7b60e01b8152600481018790526001600160a01b038581166024830152868116604483015291516101009093049091169163a4cbce7b9160648082019260009290919082900301818387803b158015611cb657600080fd5b505af1158015611cca573d6000803e3d6000fd5b505060408051878152602081018590526001600160a01b0387168183015290517fcc11926aca009e381b48e432fbfb8e3f192d5d8be733dc474fa78831bbfdf0449350908190036060019150a1611d2084612513565b50505050565b600484015460009060031480611d4c5750600260365460ff166002811115611d4a57fe5b145b15611e65576060600260365460ff166002811115611d6657fe5b1415611d73576001611d76565b60045b60ff16604051908082528060200260200182016040528015611da2578160200160208202803883390190505b50905060005b6004870154811015611ded57866004018181548110611dc357fe5b9060005260206000200154828281518110611dda57fe5b6020908102919091010152600101611da8565b84828281518110611dfa57fe5b602002602001018181525050611e0f826117b4565b865114611e225761c37692505050611e84565b836040015163ffffffff16866020015114611e435761c37492505050611e84565b8560600151846060015114611e5e5761c38b92505050611e84565b5050611e80565b60048501805460018101825560009182526020909120018390555b5060005b949350505050565b6000611e96612988565b611e9e6129d2565b83600185510381518110611eae57fe5b60200260200101519050603760009054906101000a90046001600160a01b03166001600160a01b0316636e5b707186608001516040518263ffffffff1660e01b8152600401808281526020019150506101206040518083038186803b158015611f1657600080fd5b505afa158015611f2a573d6000803e3d6000fd5b505050506040513d610120811015611f4157600080fd5b5060408082015160608084015160809094015163ffffffff1660c08701528501929092528301526004860154600110611fa357816060015184600081518110611f8657fe5b60200260200101516020015114611fa35761c38d92505050610a51565b6000611fb487868560c00151612558565b90508015611fc6579250610a51915050565b8451600c14611fde576060820151600388015561221e565b6000611fe98661267c565b9050866040015181146120045761c397945050505050610a51565b8360400151811161201d5761c398945050505050610a51565b600260365460ff16600281111561203057fe5b1461221c57600660018860e001510363ffffffff168161204c57fe5b0663ffffffff16600014156121ca576120636129d2565b8660028851038151811061207357fe5b60209081029190910181015160375460e08b01516040805163c0dde98b60e01b815260051990920163ffffffff166004830152519294506001600160a01b0390911692632da8cffd92849263c0dde98b926024808301939192829003018186803b1580156120e057600080fd5b505afa1580156120f4573d6000803e3d6000fd5b505050506040513d602081101561210a57600080fd5b5051604080516001600160e01b031960e085901b1681526004810192909252516024808301926020929190829003018186803b15801561214957600080fd5b505afa15801561215d573d6000803e3d6000fd5b505050506040513d602081101561217357600080fd5b505160208901819052604082015160c087015160009261219a9263ffffffff1603906126e0565b90508063ffffffff168960c0015163ffffffff16146121c35761c3899650505050505050610a51565b50506121f3565b8360c0015163ffffffff168760c0015163ffffffff16146121f35761c390945050505050610a51565b826000015163ffffffff168760c0015163ffffffff161461221c5761c390945050505050610a51565b505b5060009695505050505050565b6036546040805163a4cbce7b60e01b8152600481018790526001600160a01b038681166024830152858116604483015291516101009093049091169163a4cbce7b9160648082019260009290919082900301818387803b15801561228e57600080fd5b505af11580156122a2573d6000803e3d6000fd5b505060408051878152602081018590526001600160a01b0386168183015290517fffa243eaeafd66e0a938ee0d270bbefd594e08a551dc29a9a44e39c719cfc79f9350908190036060019150a1611d2084612513565b303b155b90565b6000610a518383604801610957565b6000610a518383604401610957565b6024828201015160009060048301610b2c82611151565b60006060612345848460040161273b565b909250905061235484836127bd565b60040194909350915050565b606060008060006123718787610b41565b9650915084158061238157508185115b1561238d575080612390565b50835b6060816040519080825280602002602001820160405280156123bc578160200160208202803883390190505b50905060005b82811015612404576123dc6123d78a8a612410565b611151565b8282815181106123e857fe5b60209081029190910181019190915297909701966001016123c2565b50979596505050505050565b016020015190565b6000806000806000809050600063fabe6d6d60e01b905060006001600160e01b031990508751602089018181015b8082101561247b5784848351161415612470578561246957600482820384030196505b6001860195505b600182019150612446565b5050506002831061249d575060009550505060031901915061276090506124da565b82600114156124c7576124b08885612410565b9650506003199092019350600192506124da915050565b5060009550505060031901915061276a90505b9193909250565b6000610a51838360800151846060015161127b565b6000611ade6123d783602001518461010001518560e0015161127b565b600081815260336020526040812080546001600160a01b03199081168255600182018054909116905560028101829055600381018290559061103b6004830182612abb565b8151600090600019015b8015612605576125706129d2565b84828151811061257c57fe5b6020026020010151905061258e6129d2565b85600184038151811061259d57fe5b602002602001015190508551600c1415806125bb5750600186510383105b156125de57815163ffffffff8681169116146125de5761c38a9350505050610a51565b81602001518160600151146125fa5761c38c9350505050610a51565b505060001901612562565b508260008151811061261357fe5b60200260200101516000015163ffffffff168263ffffffff161461263a575061c38a610a51565b6004840154600211612672578260008151811061265357fe5b602002602001015160200151846003015414612672575061c393610a51565b5060009392505050565b6000612686612adc565b60005b600b8110156126cc578381600101815181106126a157fe5b60200260200101516040015163ffffffff168282600b81106126bf57fe5b6020020152600101612689565b506126d681612810565b60a0015192915050565b6000826143808110156126f65750614380612705565b61697881111561270557506169785b600061271084611791565b6154609083020490506001600160ec1b0381111561273257506001600160ec1b035b610b2c816128b2565b6000606060008061274c8686610b41565b955091508161277c5761275f8686610b41565b955091508161276d57600080fd5b6127778686610b41565b955091505b8160011461278957600080fd5b6024850194506127998686610b41565b9550905060606127ac8787848101610ada565b959091016004019694955050505050565b60008060006127cc8585610b41565b94509150600a82106127dd57600080fd5b60005b82811015612806576008850194506127f88686610b41565b8101955091506001016127e0565b5092949350505050565b60005b600b8110156128ae57600181015b600b8110156128a5578281600b811061283657fe5b60200201518383600b811061284757fe5b6020020151111561289d5760008383600b811061286057fe5b602002015190508382600b811061287357fe5b60200201518484600b811061288457fe5b6020020152808483600b811061289657fe5b6020020152505b600101612821565b50600101612813565b5050565b6000806128cb6128c184612943565b600701600361296b565b90506000600382116128f3576128ec8462ffffff1683600303600802612981565b905061290b565b612903846003840360080261296b565b62ffffff1690505b62800000811615612930576129278163ffffffff16600861296b565b90506001820191505b61293b826018612981565b179392505050565b6000815b80156129655761295881600161296b565b9050600182019150612947565b50919050565b60008160020a838161297957fe5b049392505050565b60020a0290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082015290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b60405180610160016040528060008152602001600081526020016000815260200160608152602001600081526020016000815260200160008152602001606081526020016000815260200160008152602001600081525090565b81548183558181111561103b5760008381526020902061103b918101908301612afb565b6040518060a0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008019168152602001606081525090565b5080546000825590600052602060002090810190612ad99190612afb565b50565b604051806101600160405280600b906020820280388339509192915050565b6122fc91905b80821115612b155760008155600101612b01565b509056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a723158206b0f2dac1eee21101773345419d39c3475c5ae0542b343a8f2e94c874e47be1864736f6c634300050d0032"; public static final String FUNC_BYTESTOUINT32FLIPPED = "bytesToUint32Flipped"; diff --git a/org/sysethereum/agents/contract/SyscoinClaimManager.java b/org/sysethereum/agents/contract/SyscoinClaimManager.java index e5057f6..a3ba32f 100644 --- a/org/sysethereum/agents/contract/SyscoinClaimManager.java +++ b/org/sysethereum/agents/contract/SyscoinClaimManager.java @@ -43,7 +43,7 @@ */ @SuppressWarnings("rawtypes") public class SyscoinClaimManager extends Contract { - private static final String BINARY = "0x608060405234801561001057600080fd5b50612a9c806100206000396000f3fe6080604052600436106101b75760003560e01c806357872488116100ec578063c3d3290f1161008a578063e1254fba11610064578063e1254fba146105bf578063eff0f592146105f2578063f934436e14610675578063fc7e286d146106c4576101b7565b8063c3d3290f14610541578063c44205e31461056b578063dac1d76414610595576101b7565b806390a14aea116100c657806390a14aea14610480578063a4cbce7b14610495578063a8b4633f146104d8578063c2569e5a14610502576101b7565b8063578724881461042c5780635ac4e02c146104415780635bf7d5db14610456576101b7565b80632bcf947e116101595780633352f1a4116101335780633352f1a4146103bb57806340732c89146103e5578063455e6166146103ed57806355e4286b14610402576101b7565b80632bcf947e14610315578063329af83f1461037c57806333289a4614610391576101b7565b806318b011de1161019557806318b011de1461025a5780631fed7b851461028157806327b425a6146102c757806329118a9b146102dc576101b7565b8063040aa57a146101c25780630ac0d9c91461020657806313be4f9e14610230575b6101bf6106f7565b50005b3480156101ce57600080fd5b506101f2600480360360408110156101e557600080fd5b5080359060200135610717565b604080519115158252519081900360200190f35b34801561021257600080fd5b506101f26004803603602081101561022957600080fd5b5035610d42565b34801561023c57600080fd5b506101f26004803603602081101561025357600080fd5b5035610d61565b34801561026657600080fd5b5061026f611104565b60408051918252519081900360200190f35b34801561028d57600080fd5b506102ab600480360360208110156102a457600080fd5b503561110a565b604080516001600160a01b039092168252519081900360200190f35b3480156102d357600080fd5b5061026f611128565b3480156102e857600080fd5b5061026f600480360360408110156102ff57600080fd5b50803590602001356001600160a01b031661112e565b34801561032157600080fd5b50610363600480360360c081101561033857600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a00135611172565b6040805192835260208301919091528051918290030190f35b34801561038857600080fd5b506102ab61153f565b34801561039d57600080fd5b5061026f600480360360208110156103b457600080fd5b503561154e565b3480156103c757600080fd5b506101f2600480360360208110156103de57600080fd5b5035611619565b61026f6106f7565b3480156103f957600080fd5b5061026f611b4a565b34801561040e57600080fd5b506103636004803603602081101561042557600080fd5b5035611b56565b34801561043857600080fd5b5061026f611fa2565b34801561044d57600080fd5b5061026f611fa8565b34801561046257600080fd5b506102ab6004803603602081101561047957600080fd5b5035611fae565b34801561048c57600080fd5b506102ab611fcc565b3480156104a157600080fd5b506104d6600480360360608110156104b857600080fd5b508035906001600160a01b0360208201358116916040013516611fdb565b005b3480156104e457600080fd5b506101f2600480360360208110156104fb57600080fd5b50356120d9565b34801561050e57600080fd5b5061026f6004803603606081101561052557600080fd5b508035906001600160a01b0360208201351690604001356121c3565b34801561054d57600080fd5b5061026f6004803603602081101561056457600080fd5b5035612302565b34801561057757600080fd5b506101f26004803603602081101561058e57600080fd5b5035612317565b3480156105a157600080fd5b506101f2600480360360208110156105b857600080fd5b5035612334565b3480156105cb57600080fd5b5061026f600480360360208110156105e257600080fd5b50356001600160a01b0316612352565b3480156105fe57600080fd5b5061061c6004803603602081101561061557600080fd5b503561236d565b60408051998a526001600160a01b0398891660208b0152969097168887015260608801949094526080870192909252151560a0860152151560c0850152151560e084015290151561010083015251908190036101200190f35b34801561068157600080fd5b506104d6600480360360a081101561069857600080fd5b506001600160a01b038135811691602081013590911690604081013590606081013590608001356123ce565b3480156106d057600080fd5b5061026f600480360360208110156106e757600080fd5b50356001600160a01b03166124b9565b600061070333346124cb565b503360009081526033602052604090205490565b6000818152603460205260408120819060019084905b8682146109085761073d81612550565b15806107535750600681015462010000900460ff165b1561078f576040805188815261c3a060208201528151600080516020612a1a833981519152929181900390910190a16000945050505050610d3c565b603554604080516365702c0f60e11b81526004810185905290516003926001600160a01b03169163cae0581e916024808301926020929190829003018186803b1580156107db57600080fd5b505afa1580156107ef573d6000803e3d6000fd5b505050506040513d602081101561080557600080fd5b5051600581111561081257fe5b1461084e576040805188815261c36460208201528151600080516020612a1a833981519152929181900390910190a16000945050505050610d3c565b828015610867575060028101546001600160a01b031615155b1561087157600092505b60355460408051632af00c6760e11b81526004810185905290516001600160a01b03909216916355e018ce91602480820192602092909190829003018186803b1580156108bd57600080fd5b505afa1580156108d1573d6000803e3d6000fd5b505050506040513d60208110156108e757600080fd5b5051600081815260346020526040902060019590950194909250905061072d565b603754841015610949576040805188815261c3dc60208201528151600080516020612a1a833981519152929181900390910190a16000945050505050610d3c565b603554604080516365702c0f60e11b81526004810185905290516003926001600160a01b03169163cae0581e916024808301926020929190829003018186803b15801561099557600080fd5b505afa1580156109a9573d6000803e3d6000fd5b505050506040513d60208110156109bf57600080fd5b505160058111156109cc57fe5b14610a08576040805188815261c36460208201528151600080516020612a1a833981519152929181900390910190a16000945050505050610d3c565b603554604080516395b45ee760e01b8152600481018a905233602482015290516000926001600160a01b0316916395b45ee791604480830192602092919082900301818787803b158015610a5b57600080fd5b505af1158015610a6f573d6000803e3d6000fd5b505050506040513d6020811015610a8557600080fd5b505190508015610ac65760408051898152602081018390528151600080516020612a1a833981519152929181900390910190a1600095505050505050610d3c565b610ad08883612562565b8315610cd757606085604051908082528060200260200182016040528015610b02578160200160208202803883390190505b50889450905060005b898514610baa5784828281518110610b1f57fe5b60209081029190910181019190915260355460408051632af00c6760e11b81526004810189905290516001600160a01b03909216926355e018ce92602480840193829003018186803b158015610b7457600080fd5b505afa158015610b88573d6000803e3d6000fd5b505050506040513d6020811015610b9e57600080fd5b50519450600101610b0b565b8015610cd457600181039050818181518110610bc257fe5b602090810291909101810151600081815260348352604080822060355482516395b45ee760e01b8152600481018690523360248201529251949a509098506001600160a01b0316936395b45ee79360448084019492939192918390030190829087803b158015610c3157600080fd5b505af1158015610c45573d6000803e3d6000fd5b505050506040513d6020811015610c5b57600080fd5b505192508215610c6a57600080fd5b610c748585612562565b603a805460001901908190556001850154604080518881526001600160a01b0390921660208301528181019290925290517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a1610baa565b50505b603a805460001901908190556001830154604080518b81526001600160a01b0390921660208301528181019290925290517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a16001955050505050505b92915050565b6000818152603460205260408120610d5990612550565b90505b919050565b6000818152603460205260408120610d7881612550565b610db0576040805184815261c3a060208201528151600080516020612a1a833981519152929181900390910190a16000915050610d5c565b60355460408051632e40019160e01b81526004810186905290516000926001600160a01b031691632e400191916024808301926020929190829003018186803b158015610dfc57600080fd5b505afa158015610e10573d6000803e3d6000fd5b505050506040513d6020811015610e2657600080fd5b505160355460408051632dab940960e11b8152905163ffffffff90931693506001600160a01b0390911691635b57281291600480820192602092909190829003018186803b158015610e7757600080fd5b505afa158015610e8b573d6000803e3d6000fd5b505050506040513d6020811015610ea157600080fd5b5051811115610edf576040805185815261c3fa60208201528151600080516020612a1a833981519152929181900390910190a1600092505050610d5c565b603554604080516365702c0f60e11b81526004810187905290516000926001600160a01b03169163cae0581e916024808301926020929190829003018186803b158015610f2b57600080fd5b505afa158015610f3f573d6000803e3d6000fd5b505050506040513d6020811015610f5557600080fd5b505190506003816005811115610f6757fe5b14610fa2576040805186815261c36460208201528151600080516020612a1a833981519152929181900390910190a160009350505050610d5c565b6006830154610100900460ff16610fe9576040805186815261c3b460208201528151600080516020612a1a833981519152929181900390910190a160009350505050610d5c565b603554600184015460408051633a102bc360e11b8152600481018990526001600160a01b0392831660248201529051600093929092169163742057869160448082019260209290919082900301818787803b15801561104757600080fd5b505af115801561105b573d6000803e3d6000fd5b505050506040513d602081101561107157600080fd5b50519050801561108057600080fd5b61108a8685612614565b60068401805462ff0000191662010000179055603a805460001901908190556002850154604080518981526001600160a01b0390921660208301528181019290925290517f6ebb2f466d4c07e002cf7da3bf393c34f5c693c635dfd53295a724e2c03ad7e99181900360600190a150600195945050505050565b60395481565b6000908152603460205260409020600201546001600160a01b031690565b60375481565b600082815260346020526040812061114581612550565b61114e57600080fd5b6001600160a01b038316600090815260049091016020526040902054905092915050565b60355460009081906001600160a01b031661118c57600080fd5b600a603a54106111ce57604080516000815261c38e60208201528151600080516020612a1a833981519152929181900390910190a15061c38e90506000611534565b336000908152603360205260409020546729a2241af62c0000111561122557604080516000815261c39160208201528151600080516020612a1a833981519152929181900390910190a15061c39190506000611534565b426038548701111561126957604080516000815261c39560208201528151600080516020612a1a833981519152929181900390910190a15061c39590506000611534565b611c2f420187106112ac57604080516000815261c37360208201528151600080516020612a1a833981519152929181900390910190a15061c37390506000611534565b60355460408051639e20c80360e01b8152600481018b9052602481018a9052604481018990526064810188905263ffffffff8716608482015260a481018690523360c4820152815160009384936001600160a01b0390911692639e20c8039260e4808301939282900301818787803b15801561132757600080fd5b505af115801561133b573d6000803e3d6000fd5b505050506040513d604081101561135157600080fd5b508051602090910151909250905081156113985760408051828152602081018490528151600080516020612a1a833981519152929181900390910190a19092509050611534565b60008181526034602052604090206113af81612550565b1561140457600681015462010000900460ff16151560011480156113e25750600681015460ff6101009091041615156001145b80156113fb575060018101546001600160a01b03163314155b61140457600080fd5b818155600181018054336001600160a01b03199182168117909255600283018054909116905560068201805462ffffff1981168255426003850181905560395401600585015563ffffffff191690556040805163612b4f2d60e11b81526004810185905260248101929092526729a2241af62c0000604483015251309163c2569e5a9160648083019260209291908290030181600087803b1580156114a857600080fd5b505af11580156114bc573d6000803e3d6000fd5b505050506040513d60208110156114d257600080fd5b5051925082156114e157600080fd5b603a8054600101908190556040805184815233602082015280820192909252517f5f53357548142db44904e21464dc5ffa3e092fb7b155299341125bd259906e309181900360600190a150600093509150505b965096945050505050565b6036546001600160a01b031681565b3360009081526033602052604081205482111561156a57600080fd5b3360009081526033602052604090205461158a908363ffffffff6127ec16565b33600081815260336020526040808220939093559151909184156108fc02918591818181858888f193505050501580156115c8573d6000803e3d6000fd5b50604080513381526020810184905281517f4482101800a5c2e900f4156e57e05e19ffd7b366cde579553d723fd3abb2180e929181900390910190a150503360009081526033602052604090205490565b600081815260346020526040812061163081612550565b158061164557506006810154610100900460ff165b1561167e576040805184815261c3a060208201528151600080516020612a1a833981519152929181900390910190a16000915050610d5c565b600681015460ff16156116bf576040805184815261c3aa60208201528151600080516020612a1a833981519152929181900390910190a16000915050610d5c565b600681015462010000900460ff16156117ea5760068101805461ff001916610100179055603554600182015460408051633a102bc360e11b8152600481018790526001600160a01b0392831660248201529051600093929092169163742057869160448082019260209290919082900301818787803b15801561174157600080fd5b505af1158015611755573d6000803e3d6000fd5b505050506040513d602081101561176b57600080fd5b50519050801561177a57600080fd5b6117848483612614565b603a805460001901908190556002830154604080518781526001600160a01b0390921660208301528181019290925290517f6ebb2f466d4c07e002cf7da3bf393c34f5c693c635dfd53295a724e2c03ad7e99181900360600190a1600092505050610d5c565b80600501544211611829576040805184815261c36e60208201528151600080516020612a1a833981519152929181900390910190a16000915050610d5c565b60068101805461ff00191661010017905560028101546000906001600160a01b03166119635760355460408051632af00c6760e11b81526004810187905290516000926001600160a01b0316916355e018ce916024808301926020929190829003018186803b15801561189b57600080fd5b505afa1580156118af573d6000803e3d6000fd5b505050506040513d60208110156118c557600080fd5b5051603554604080516365702c0f60e11b81526004810184905290519293506000926001600160a01b039092169163cae0581e91602480820192602092909190829003018186803b15801561191957600080fd5b505afa15801561192d573d6000803e3d6000fd5b505050506040513d602081101561194357600080fd5b50519050600481600581111561195557fe5b141561196057600192505b50505b8015611a6a57603554604080516395b45ee760e01b81526004810187905233602482015290516000926001600160a01b0316916395b45ee791604480830192602092919082900301818787803b1580156119bc57600080fd5b505af11580156119d0573d6000803e3d6000fd5b505050506040513d60208110156119e657600080fd5b5051905080156119f557600080fd5b60018301546001600160a01b0316611a0d868261282e565b5050603a80546000190190819055604080518881526001600160a01b038416602082015280820192909252517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a15050611b40565b603554604080516327426f7560e01b81526004810187905233602482015290516000926001600160a01b0316916327426f7591604480830192602092919082900301818787803b158015611abd57600080fd5b505af1158015611ad1573d6000803e3d6000fd5b505050506040513d6020811015611ae757600080fd5b505190508015611af657600080fd5b6001830154604080518781526001600160a01b03909216602083015280517f68c34be3e9c7221898bee267017dda5f7344326a8825b2d4427dfeaba0fa19299281900390910190a1505b5060019392505050565b6729a2241af62c000081565b60355460009081906001600160a01b0316611b7057600080fd5b6000838152603460205260409020611b8781612550565b611bc3576040805185815261c3a060208201528151600080516020612a1a833981519152929181900390910190a161c3a0849250925050611f9d565b60068101546301000000900460ff16151560011415611c14576040805185815261c41860208201528151600080516020612a1a833981519152929181900390910190a161c418849250925050611f9d565b6006810154610100900460ff1680611c365750600681015462010000900460ff165b15611c73576040805185815261c3b460208201528151600080516020612a1a833981519152929181900390910190a161c3b4849250925050611f9d565b600681015460ff1615611cb8576040805185815261c3be60208201528151600080516020612a1a833981519152929181900390910190a161c3be849250925050611f9d565b336000908152603360205260409020546729a2241af62c00001115611d0f576040805185815261c39160208201528151600080516020612a1a833981519152929181900390910190a161c391849250925050611f9d565b6035546040805163c1f67ab360e01b81526004810187905233602482015290516000926001600160a01b03169163c1f67ab391604480830192602092919082900301818787803b158015611d6257600080fd5b505af1158015611d76573d6000803e3d6000fd5b505050506040513d6020811015611d8c57600080fd5b505190508015611dcc5760408051868152602081018390528151600080516020612a1a833981519152929181900390910190a1925060009150611f9d9050565b6040805163612b4f2d60e11b8152600481018790523360248201526729a2241af62c000060448201529051309163c2569e5a9160648083019260209291908290030181600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b505050506040513d6020811015611e4a57600080fd5b505190508015611e5957600080fd5b603954420160058301556002820180546001600160a01b0319163390811790915560408051878152602081019290925280517f4e4ec862758a1fd984d86a07836cbea0bb7aec069cc98cd7a543266b270e42e49281900390910190a160365460018301546002840154604080516368ed776f60e11b8152600481018a90526001600160a01b039384166024820152918316604483015251919092169163d1daeede91606480830192600092919082900301818387803b158015611f1b57600080fd5b505af1158015611f2f573d6000803e3d6000fd5b5050505060018201546002830154604080518881526001600160a01b0393841660208201529290911682820152517f39232966947bb72bddd01335ecadedd95920ea1e1f044f9913a5f35e34275d9c9181900360600190a150600601805460ff191660011790555060009050815b915091565b60385481565b603a5481565b6000908152603460205260409020600101546001600160a01b031690565b6035546001600160a01b031681565b6036546001600160a01b03163314611ff257600080fd5b600083815260346020526040902061200981612550565b61201257600080fd5b60068101805460ff1916905560018101546001600160a01b039081169083168114156120505760068201805462ff0000191662010000179055612089565b836001600160a01b0316816001600160a01b031614156120845760068201805463ff00000019166301000000179055612089565b600080fd5b604080518681526001600160a01b03808716602083015285168183015290517f1a6e323d263407d13632ff217899ae9353a07223d311df6db8d80cad6a57c2d59181900360600190a15050505050565b60008181526034602052604081206002603554604080516365702c0f60e11b81526004810187905290516001600160a01b039092169163cae0581e91602480820192602092909190829003018186803b15801561213557600080fd5b505afa158015612149573d6000803e3d6000fd5b505050506040513d602081101561215f57600080fd5b5051600581111561216c57fe5b1480156121845750600681015462010000900460ff16155b80156121955750600681015460ff16155b80156121a45750806005015442115b80156121bc575060028101546001600160a01b031615155b9392505050565b6036546000906001600160a01b03163314806121de57503330145b6121e757600080fd5b60008481526034602052604090206121fe81612550565b61220d5761c3a09150506121bc565b6001600160a01b0384166000908152603360205260409020548311156122385761c3919150506121bc565b6001600160a01b038416600090815260336020526040902054612261908463ffffffff6127ec16565b6001600160a01b0385166000908152603360209081526040808320939093556004840190522054612298908463ffffffff61292216565b6001600160a01b038516600081815260048401602090815260409182902093909355805188815292830191909152818101859052517ff49b89a01f8b7e79e855801f268b5df3d7c88c4bc61293934fc1f9c52ddfeb319181900360600190a1506000949350505050565b60009081526034602052604090206003015490565b600090815260346020526040902060060154610100900460ff1690565b60009081526034602052604090206006015462010000900460ff1690565b6001600160a01b031660009081526033602052604090205490565b60346020526000908152604090208054600182015460028301546003840154600585015460069095015493946001600160a01b03938416949290931692909160ff808216916101008104821691620100008204811691630100000090041689565b600054610100900460ff16806123e757506123e761297c565b806123f5575060005460ff16155b6124305760405162461bcd60e51b815260040180806020018281038252602e815260200180612a3a602e913960400191505060405180910390fd5b600054610100900460ff1615801561245b576000805460ff1961ff0019909116610100171660011790555b603580546001600160a01b038089166001600160a01b03199283161790925560368054928816929091169190911790556038849055603983905560378290556000603a5580156124b1576000805461ff00191690555b505050505050565b60336020526000908152604090205481565b6001600160a01b0382166000908152603360205260409020546124f4908263ffffffff61292216565b6001600160a01b03831660008181526033602090815260409182902093909355805191825291810183905281517fd15c9547ea5c06670c0010ce19bc32d54682a4b3801ece7f3ab0c3f17106b4bb929181900390910190a15050565b600101546001600160a01b0316151590565b600281015460018201546001600160a01b039182169116811580159061259057506001600160a01b03811615155b1561260e576001600160a01b0380831660009081526004850160205260408082205492841682529020546125ca908263ffffffff61292216565b6001600160a01b03831660009081526004860160205260409020556125ef858361282e565b5050506001600160a01b03821660009081526004840160205260408120555b50505050565b600281015460018201546001600160a01b039182169116811580159061264257506001600160a01b03811615155b1561260e576001600160a01b038082166000908152600485016020526040808220549285168252902054670de0b6b3a763ffff199091019061268a908263ffffffff61292216565b6001600160a01b03841660009081526004860160205260409020556126af858461282e565b50506001600160a01b0382166000908152600485016020526040812081905580805b60078310156127e25760355460408051636e5b707160e01b8152600481018b905290516001600160a01b0390921691636e5b70719160248082019261012092909190829003018186803b15801561272757600080fd5b505afa15801561273b573d6000803e3d6000fd5b505050506040513d61012081101561275257600080fd5b5060a081015160c082015160e090920151909950909250905087612775576127e2565b600481600581111561278357fe5b1461278d576126d1565b6001600160a01b0382166000908152603360205260409020546127be9067016345785d8a000063ffffffff61292216565b6001600160a01b0383166000908152603360205260409020556001909201916126d1565b5050505050505050565b60006121bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612982565b6000828152603460205260408120819061284781612550565b61285a575061c3a091506000905061291b565b6006810154610100900460ff1661287a575061c36491506000905061291b565b6001600160a01b038416600090815260048201602090815260408083208054908490556033909252909120546128b6908263ffffffff61292216565b6001600160a01b03861660008181526033602090815260409182902093909355805189815292830191909152818101839052517faafcd902e5217659ba924addbacae78ebf6a7c77409df0d0065b9ebca01298739181900360600190a1600093509150505b9250929050565b6000828201838110156121bc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b303b1590565b60008184841115612a115760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156129d65781810151838201526020016129be565b50505050905090810190601f168015612a035780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe94bc311f1c6f4ed382aae7a5df5a4917f0ef0289f84bad39fee69c943e85fa33436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a7231582096ed62eada25a8683ca6de76ee8bfc56461933136d3ed49fe384c3d5d7fed7b364736f6c634300050d0032"; + private static final String BINARY = "0x608060405234801561001057600080fd5b50612af1806100206000396000f3fe6080604052600436106101c25760003560e01c806355e4286b116100f7578063c2569e5a11610095578063e1254fba11610064578063e1254fba14610603578063eff0f59214610636578063f934436e146106b9578063fc7e286d14610708576101c2565b8063c2569e5a14610546578063c3d3290f14610585578063c44205e3146105af578063dac1d764146105d9576101c2565b80635bf7d5db116100d15780635bf7d5db1461049a57806390a14aea146104c4578063a4cbce7b146104d9578063a8b4633f1461051c576101c2565b806355e4286b1461044657806357872488146104705780635ac4e02c14610485576101c2565b806329118a9b1161016457806333289a461161013e57806333289a46146103d55780633352f1a4146103ff57806340732c8914610429578063455e616614610431576101c2565b806329118a9b146103395780632bcf947e14610372578063329af83f146103c0576101c2565b806318a10ca6116101a057806318a10ca61461026557806318b011de146102b75780631fed7b85146102de57806327b425a614610324576101c2565b8063040aa57a146101cd5780630ac0d9c91461021157806313be4f9e1461023b575b6101ca61073b565b50005b3480156101d957600080fd5b506101fd600480360360408110156101f057600080fd5b508035906020013561075b565b604080519115158252519081900360200190f35b34801561021d57600080fd5b506101fd6004803603602081101561023457600080fd5b5035610d86565b34801561024757600080fd5b506101fd6004803603602081101561025e57600080fd5b5035610da5565b34801561027157600080fd5b5061029e6004803603604081101561028857600080fd5b50803590602001356001600160a01b0316611148565b6040805192835260208301919091528051918290030190f35b3480156102c357600080fd5b506102cc61123c565b60408051918252519081900360200190f35b3480156102ea57600080fd5b506103086004803603602081101561030157600080fd5b5035611242565b604080516001600160a01b039092168252519081900360200190f35b34801561033057600080fd5b506102cc611260565b34801561034557600080fd5b506102cc6004803603604081101561035c57600080fd5b50803590602001356001600160a01b0316611266565b34801561037e57600080fd5b5061029e600480360360c081101561039557600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a001356112aa565b3480156103cc57600080fd5b50610308611677565b3480156103e157600080fd5b506102cc600480360360208110156103f857600080fd5b5035611686565b34801561040b57600080fd5b506101fd6004803603602081101561042257600080fd5b5035611778565b6102cc61073b565b34801561043d57600080fd5b506102cc611ca9565b34801561045257600080fd5b5061029e6004803603602081101561046957600080fd5b5035611cb5565b34801561047c57600080fd5b506102cc612101565b34801561049157600080fd5b506102cc612107565b3480156104a657600080fd5b50610308600480360360208110156104bd57600080fd5b503561210d565b3480156104d057600080fd5b5061030861212b565b3480156104e557600080fd5b5061051a600480360360608110156104fc57600080fd5b508035906001600160a01b036020820135811691604001351661213a565b005b34801561052857600080fd5b506101fd6004803603602081101561053f57600080fd5b5035612238565b34801561055257600080fd5b506102cc6004803603606081101561056957600080fd5b508035906001600160a01b036020820135169060400135612322565b34801561059157600080fd5b506102cc600480360360208110156105a857600080fd5b5035612461565b3480156105bb57600080fd5b506101fd600480360360208110156105d257600080fd5b5035612476565b3480156105e557600080fd5b506101fd600480360360208110156105fc57600080fd5b5035612493565b34801561060f57600080fd5b506102cc6004803603602081101561062657600080fd5b50356001600160a01b03166124b1565b34801561064257600080fd5b506106606004803603602081101561065957600080fd5b50356124cc565b60408051998a526001600160a01b0398891660208b0152969097168887015260608801949094526080870192909252151560a0860152151560c0850152151560e084015290151561010083015251908190036101200190f35b3480156106c557600080fd5b5061051a600480360360a08110156106dc57600080fd5b506001600160a01b0381358116916020810135909116906040810135906060810135906080013561252d565b34801561071457600080fd5b506102cc6004803603602081101561072b57600080fd5b50356001600160a01b0316612618565b6000610747333461262a565b503360009081526033602052604090205490565b6000818152603460205260408120819060019084905b86821461094c57610781816126af565b15806107975750600681015462010000900460ff165b156107d3576040805188815261c3a060208201528151600080516020612a6f833981519152929181900390910190a16000945050505050610d80565b603554604080516365702c0f60e11b81526004810185905290516003926001600160a01b03169163cae0581e916024808301926020929190829003018186803b15801561081f57600080fd5b505afa158015610833573d6000803e3d6000fd5b505050506040513d602081101561084957600080fd5b5051600581111561085657fe5b14610892576040805188815261c36460208201528151600080516020612a6f833981519152929181900390910190a16000945050505050610d80565b8280156108ab575060028101546001600160a01b031615155b156108b557600092505b60355460408051632af00c6760e11b81526004810185905290516001600160a01b03909216916355e018ce91602480820192602092909190829003018186803b15801561090157600080fd5b505afa158015610915573d6000803e3d6000fd5b505050506040513d602081101561092b57600080fd5b50516000818152603460205260409020600195909501949092509050610771565b60375484101561098d576040805188815261c3dc60208201528151600080516020612a6f833981519152929181900390910190a16000945050505050610d80565b603554604080516365702c0f60e11b81526004810185905290516003926001600160a01b03169163cae0581e916024808301926020929190829003018186803b1580156109d957600080fd5b505afa1580156109ed573d6000803e3d6000fd5b505050506040513d6020811015610a0357600080fd5b50516005811115610a1057fe5b14610a4c576040805188815261c36460208201528151600080516020612a6f833981519152929181900390910190a16000945050505050610d80565b603554604080516395b45ee760e01b8152600481018a905233602482015290516000926001600160a01b0316916395b45ee791604480830192602092919082900301818787803b158015610a9f57600080fd5b505af1158015610ab3573d6000803e3d6000fd5b505050506040513d6020811015610ac957600080fd5b505190508015610b0a5760408051898152602081018390528151600080516020612a6f833981519152929181900390910190a1600095505050505050610d80565b610b1488836126c1565b8315610d1b57606085604051908082528060200260200182016040528015610b46578160200160208202803883390190505b50889450905060005b898514610bee5784828281518110610b6357fe5b60209081029190910181019190915260355460408051632af00c6760e11b81526004810189905290516001600160a01b03909216926355e018ce92602480840193829003018186803b158015610bb857600080fd5b505afa158015610bcc573d6000803e3d6000fd5b505050506040513d6020811015610be257600080fd5b50519450600101610b4f565b8015610d1857600181039050818181518110610c0657fe5b602090810291909101810151600081815260348352604080822060355482516395b45ee760e01b8152600481018690523360248201529251949a509098506001600160a01b0316936395b45ee79360448084019492939192918390030190829087803b158015610c7557600080fd5b505af1158015610c89573d6000803e3d6000fd5b505050506040513d6020811015610c9f57600080fd5b505192508215610cae57600080fd5b610cb885856126c1565b603a805460001901908190556001850154604080518881526001600160a01b0390921660208301528181019290925290517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a1610bee565b50505b603a805460001901908190556001830154604080518b81526001600160a01b0390921660208301528181019290925290517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a16001955050505050505b92915050565b6000818152603460205260408120610d9d906126af565b90505b919050565b6000818152603460205260408120610dbc816126af565b610df4576040805184815261c3a060208201528151600080516020612a6f833981519152929181900390910190a16000915050610da0565b60355460408051632e40019160e01b81526004810186905290516000926001600160a01b031691632e400191916024808301926020929190829003018186803b158015610e4057600080fd5b505afa158015610e54573d6000803e3d6000fd5b505050506040513d6020811015610e6a57600080fd5b505160355460408051632dab940960e11b8152905163ffffffff90931693506001600160a01b0390911691635b57281291600480820192602092909190829003018186803b158015610ebb57600080fd5b505afa158015610ecf573d6000803e3d6000fd5b505050506040513d6020811015610ee557600080fd5b5051811115610f23576040805185815261c3fa60208201528151600080516020612a6f833981519152929181900390910190a1600092505050610da0565b603554604080516365702c0f60e11b81526004810187905290516000926001600160a01b03169163cae0581e916024808301926020929190829003018186803b158015610f6f57600080fd5b505afa158015610f83573d6000803e3d6000fd5b505050506040513d6020811015610f9957600080fd5b505190506003816005811115610fab57fe5b14610fe6576040805186815261c36460208201528151600080516020612a6f833981519152929181900390910190a160009350505050610da0565b6006830154610100900460ff1661102d576040805186815261c3b460208201528151600080516020612a6f833981519152929181900390910190a160009350505050610da0565b603554600184015460408051633a102bc360e11b8152600481018990526001600160a01b0392831660248201529051600093929092169163742057869160448082019260209290919082900301818787803b15801561108b57600080fd5b505af115801561109f573d6000803e3d6000fd5b505050506040513d60208110156110b557600080fd5b5051905080156110c457600080fd5b6110ce868561275d565b60068401805462ff0000191662010000179055603a805460001901908190556002850154604080518981526001600160a01b0390921660208301528181019290925290517f6ebb2f466d4c07e002cf7da3bf393c34f5c693c635dfd53295a724e2c03ad7e99181900360600190a150600195945050505050565b60008281526034602052604081208190611161816126af565b611174575061c3a0915060009050611235565b6006810154610100900460ff16611194575061c364915060009050611235565b6001600160a01b038416600090815260048201602090815260408083208054908490556033909252909120546111d0908263ffffffff61293516565b6001600160a01b03861660008181526033602090815260409182902093909355805189815292830191909152818101839052517faafcd902e5217659ba924addbacae78ebf6a7c77409df0d0065b9ebca01298739181900360600190a1600093509150505b9250929050565b60395481565b6000908152603460205260409020600201546001600160a01b031690565b60375481565b600082815260346020526040812061127d816126af565b61128657600080fd5b6001600160a01b038316600090815260049091016020526040902054905092915050565b60355460009081906001600160a01b03166112c457600080fd5b600a603a541061130657604080516000815261c38e60208201528151600080516020612a6f833981519152929181900390910190a15061c38e9050600061166c565b336000908152603360205260409020546729a2241af62c0000111561135d57604080516000815261c39160208201528151600080516020612a6f833981519152929181900390910190a15061c3919050600061166c565b42603854870111156113a157604080516000815261c39560208201528151600080516020612a6f833981519152929181900390910190a15061c3959050600061166c565b611c2f420187106113e457604080516000815261c37360208201528151600080516020612a6f833981519152929181900390910190a15061c3739050600061166c565b60355460408051639e20c80360e01b8152600481018b9052602481018a9052604481018990526064810188905263ffffffff8716608482015260a481018690523360c4820152815160009384936001600160a01b0390911692639e20c8039260e4808301939282900301818787803b15801561145f57600080fd5b505af1158015611473573d6000803e3d6000fd5b505050506040513d604081101561148957600080fd5b508051602090910151909250905081156114d05760408051828152602081018490528151600080516020612a6f833981519152929181900390910190a1909250905061166c565b60008181526034602052604090206114e7816126af565b1561153c57600681015462010000900460ff161515600114801561151a5750600681015460ff6101009091041615156001145b8015611533575060018101546001600160a01b03163314155b61153c57600080fd5b818155600181018054336001600160a01b03199182168117909255600283018054909116905560068201805462ffffff1981168255426003850181905560395401600585015563ffffffff191690556040805163612b4f2d60e11b81526004810185905260248101929092526729a2241af62c0000604483015251309163c2569e5a9160648083019260209291908290030181600087803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b505050506040513d602081101561160a57600080fd5b50519250821561161957600080fd5b603a8054600101908190556040805184815233602082015280820192909252517f5f53357548142db44904e21464dc5ffa3e092fb7b155299341125bd259906e309181900360600190a150600093509150505b965096945050505050565b6036546001600160a01b031681565b3360009081526033602052604081205482118015906116a55750600082115b6116ae57600080fd5b336000908152603360205260409020546116ce908363ffffffff61298f16565b33600081815260336020526040808220939093559151909184919081818185875af1925050503d8060008114611720576040519150601f19603f3d011682016040523d82523d6000602084013e611725565b606091505b5050604080513381526020810185905281517f4482101800a5c2e900f4156e57e05e19ffd7b366cde579553d723fd3abb2180e93509081900390910190a150503360009081526033602052604090205490565b600081815260346020526040812061178f816126af565b15806117a457506006810154610100900460ff165b156117dd576040805184815261c3a060208201528151600080516020612a6f833981519152929181900390910190a16000915050610da0565b600681015460ff161561181e576040805184815261c3aa60208201528151600080516020612a6f833981519152929181900390910190a16000915050610da0565b600681015462010000900460ff16156119495760068101805461ff001916610100179055603554600182015460408051633a102bc360e11b8152600481018790526001600160a01b0392831660248201529051600093929092169163742057869160448082019260209290919082900301818787803b1580156118a057600080fd5b505af11580156118b4573d6000803e3d6000fd5b505050506040513d60208110156118ca57600080fd5b5051905080156118d957600080fd5b6118e3848361275d565b603a805460001901908190556002830154604080518781526001600160a01b0390921660208301528181019290925290517f6ebb2f466d4c07e002cf7da3bf393c34f5c693c635dfd53295a724e2c03ad7e99181900360600190a1600092505050610da0565b80600501544211611988576040805184815261c36e60208201528151600080516020612a6f833981519152929181900390910190a16000915050610da0565b60068101805461ff00191661010017905560028101546000906001600160a01b0316611ac25760355460408051632af00c6760e11b81526004810187905290516000926001600160a01b0316916355e018ce916024808301926020929190829003018186803b1580156119fa57600080fd5b505afa158015611a0e573d6000803e3d6000fd5b505050506040513d6020811015611a2457600080fd5b5051603554604080516365702c0f60e11b81526004810184905290519293506000926001600160a01b039092169163cae0581e91602480820192602092909190829003018186803b158015611a7857600080fd5b505afa158015611a8c573d6000803e3d6000fd5b505050506040513d6020811015611aa257600080fd5b505190506004816005811115611ab457fe5b1415611abf57600192505b50505b8015611bc957603554604080516395b45ee760e01b81526004810187905233602482015290516000926001600160a01b0316916395b45ee791604480830192602092919082900301818787803b158015611b1b57600080fd5b505af1158015611b2f573d6000803e3d6000fd5b505050506040513d6020811015611b4557600080fd5b505190508015611b5457600080fd5b60018301546001600160a01b0316611b6c8682611148565b5050603a80546000190190819055604080518881526001600160a01b038416602082015280820192909252517f761ed2ea8db827133836a35e2fdc1cf23fcfe723b817ceffebb1d571439aad8e9181900360600190a15050611c9f565b603554604080516327426f7560e01b81526004810187905233602482015290516000926001600160a01b0316916327426f7591604480830192602092919082900301818787803b158015611c1c57600080fd5b505af1158015611c30573d6000803e3d6000fd5b505050506040513d6020811015611c4657600080fd5b505190508015611c5557600080fd5b6001830154604080518781526001600160a01b03909216602083015280517f68c34be3e9c7221898bee267017dda5f7344326a8825b2d4427dfeaba0fa19299281900390910190a1505b5060019392505050565b6729a2241af62c000081565b60355460009081906001600160a01b0316611ccf57600080fd5b6000838152603460205260409020611ce6816126af565b611d22576040805185815261c3a060208201528151600080516020612a6f833981519152929181900390910190a161c3a08492509250506120fc565b60068101546301000000900460ff16151560011415611d73576040805185815261c41860208201528151600080516020612a6f833981519152929181900390910190a161c4188492509250506120fc565b6006810154610100900460ff1680611d955750600681015462010000900460ff165b15611dd2576040805185815261c3b460208201528151600080516020612a6f833981519152929181900390910190a161c3b48492509250506120fc565b600681015460ff1615611e17576040805185815261c3be60208201528151600080516020612a6f833981519152929181900390910190a161c3be8492509250506120fc565b336000908152603360205260409020546729a2241af62c00001115611e6e576040805185815261c39160208201528151600080516020612a6f833981519152929181900390910190a161c3918492509250506120fc565b6035546040805163c1f67ab360e01b81526004810187905233602482015290516000926001600160a01b03169163c1f67ab391604480830192602092919082900301818787803b158015611ec157600080fd5b505af1158015611ed5573d6000803e3d6000fd5b505050506040513d6020811015611eeb57600080fd5b505190508015611f2b5760408051868152602081018390528151600080516020612a6f833981519152929181900390910190a19250600091506120fc9050565b6040805163612b4f2d60e11b8152600481018790523360248201526729a2241af62c000060448201529051309163c2569e5a9160648083019260209291908290030181600087803b158015611f7f57600080fd5b505af1158015611f93573d6000803e3d6000fd5b505050506040513d6020811015611fa957600080fd5b505190508015611fb857600080fd5b603954420160058301556002820180546001600160a01b0319163390811790915560408051878152602081019290925280517f4e4ec862758a1fd984d86a07836cbea0bb7aec069cc98cd7a543266b270e42e49281900390910190a160365460018301546002840154604080516368ed776f60e11b8152600481018a90526001600160a01b039384166024820152918316604483015251919092169163d1daeede91606480830192600092919082900301818387803b15801561207a57600080fd5b505af115801561208e573d6000803e3d6000fd5b5050505060018201546002830154604080518881526001600160a01b0393841660208201529290911682820152517f39232966947bb72bddd01335ecadedd95920ea1e1f044f9913a5f35e34275d9c9181900360600190a150600601805460ff191660011790555060009050815b915091565b60385481565b603a5481565b6000908152603460205260409020600101546001600160a01b031690565b6035546001600160a01b031681565b6036546001600160a01b0316331461215157600080fd5b6000838152603460205260409020612168816126af565b61217157600080fd5b60068101805460ff1916905560018101546001600160a01b039081169083168114156121af5760068201805462ff00001916620100001790556121e8565b836001600160a01b0316816001600160a01b031614156121e35760068201805463ff000000191663010000001790556121e8565b600080fd5b604080518681526001600160a01b03808716602083015285168183015290517f1a6e323d263407d13632ff217899ae9353a07223d311df6db8d80cad6a57c2d59181900360600190a15050505050565b60008181526034602052604081206002603554604080516365702c0f60e11b81526004810187905290516001600160a01b039092169163cae0581e91602480820192602092909190829003018186803b15801561229457600080fd5b505afa1580156122a8573d6000803e3d6000fd5b505050506040513d60208110156122be57600080fd5b505160058111156122cb57fe5b1480156122e35750600681015462010000900460ff16155b80156122f45750600681015460ff16155b80156123035750806005015442115b801561231b575060028101546001600160a01b031615155b9392505050565b6036546000906001600160a01b031633148061233d57503330145b61234657600080fd5b600084815260346020526040902061235d816126af565b61236c5761c3a091505061231b565b6001600160a01b0384166000908152603360205260409020548311156123975761c39191505061231b565b6001600160a01b0384166000908152603360205260409020546123c0908463ffffffff61298f16565b6001600160a01b03851660009081526033602090815260408083209390935560048401905220546123f7908463ffffffff61293516565b6001600160a01b038516600081815260048401602090815260409182902093909355805188815292830191909152818101859052517ff49b89a01f8b7e79e855801f268b5df3d7c88c4bc61293934fc1f9c52ddfeb319181900360600190a1506000949350505050565b60009081526034602052604090206003015490565b600090815260346020526040902060060154610100900460ff1690565b60009081526034602052604090206006015462010000900460ff1690565b6001600160a01b031660009081526033602052604090205490565b60346020526000908152604090208054600182015460028301546003840154600585015460069095015493946001600160a01b03938416949290931692909160ff808216916101008104821691620100008204811691630100000090041689565b600054610100900460ff168061254657506125466129d1565b80612554575060005460ff16155b61258f5760405162461bcd60e51b815260040180806020018281038252602e815260200180612a8f602e913960400191505060405180910390fd5b600054610100900460ff161580156125ba576000805460ff1961ff0019909116610100171660011790555b603580546001600160a01b038089166001600160a01b03199283161790925560368054928816929091169190911790556038849055603983905560378290556000603a558015612610576000805461ff00191690555b505050505050565b60336020526000908152604090205481565b6001600160a01b038216600090815260336020526040902054612653908263ffffffff61293516565b6001600160a01b03831660008181526033602090815260409182902093909355805191825291810183905281517fd15c9547ea5c06670c0010ce19bc32d54682a4b3801ece7f3ab0c3f17106b4bb929181900390910190a15050565b600101546001600160a01b0316151590565b600281015460018201546001600160a01b039182169116811561273e576001600160a01b038083166000908152600485016020526040808220549284168252902054612713908263ffffffff61293516565b6001600160a01b03808416600090815260048701602052604080822093909355908516815290812055505b6001600160a01b03811615612757576126108482611148565b50505050565b600281015460018201546001600160a01b039182169116811580159061278b57506001600160a01b03811615155b15612757576001600160a01b038082166000908152600485016020526040808220549285168252902054670de0b6b3a763ffff19909101906127d3908263ffffffff61293516565b6001600160a01b03841660009081526004860160205260409020556127f88584611148565b50506001600160a01b0382166000908152600485016020526040812081905580805b600783101561292b5760355460408051636e5b707160e01b8152600481018b905290516001600160a01b0390921691636e5b70719160248082019261012092909190829003018186803b15801561287057600080fd5b505afa158015612884573d6000803e3d6000fd5b505050506040513d61012081101561289b57600080fd5b5060a081015160c082015160e0909201519099509092509050876128be5761292b565b60048160058111156128cc57fe5b146128d65761281a565b6001600160a01b0382166000908152603360205260409020546129079067016345785d8a000063ffffffff61293516565b6001600160a01b03831660009081526033602052604090205560019092019161281a565b5050505050505050565b60008282018381101561231b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061231b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506129d7565b303b1590565b60008184841115612a665760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a2b578181015183820152602001612a13565b50505050905090810190601f168015612a585780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe94bc311f1c6f4ed382aae7a5df5a4917f0ef0289f84bad39fee69c943e85fa33436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a7231582037834c87d187e26196217ad7119b4c6d8512d2e5ba4d2362a5b716746a39015a64736f6c634300050d0032"; public static final String FUNC_CLAIMS = "claims"; @@ -75,6 +75,8 @@ public class SyscoinClaimManager extends Contract { public static final String FUNC_GETBONDEDDEPOSIT = "getBondedDeposit"; + public static final String FUNC_UNBONDDEPOSIT = "unbondDeposit"; + public static final String FUNC_PROPOSESUPERBLOCK = "proposeSuperblock"; public static final String FUNC_CHALLENGESUPERBLOCK = "challengeSuperblock"; @@ -709,6 +711,14 @@ public RemoteFunctionCall getBondedDeposit(Bytes32 superblockHash, Addr return executeRemoteCallSingleValueReturn(function); } + public RemoteFunctionCall unbondDeposit(Bytes32 superblockHash, Address account) { + final org.web3j.abi.datatypes.Function function = new org.web3j.abi.datatypes.Function( + FUNC_UNBONDDEPOSIT, + Arrays.asList(superblockHash, account), + Collections.>emptyList()); + return executeRemoteCallTransaction(function); + } + public RemoteFunctionCall proposeSuperblock(Bytes32 _blocksMerkleRoot, Uint256 _timestamp, Uint256 _mtpTimestamp, Bytes32 _lastHash, Uint32 _lastBits, Bytes32 _parentHash) { final org.web3j.abi.datatypes.Function function = new org.web3j.abi.datatypes.Function( FUNC_PROPOSESUPERBLOCK, diff --git a/org/sysethereum/agents/contract/SyscoinSuperblocks.java b/org/sysethereum/agents/contract/SyscoinSuperblocks.java index a354e89..ae73add 100644 --- a/org/sysethereum/agents/contract/SyscoinSuperblocks.java +++ b/org/sysethereum/agents/contract/SyscoinSuperblocks.java @@ -32,6 +32,7 @@ import org.web3j.protocol.core.methods.response.Log; import org.web3j.protocol.core.methods.response.TransactionReceipt; import org.web3j.tuples.generated.Tuple2; +import org.web3j.tuples.generated.Tuple3; import org.web3j.tuples.generated.Tuple6; import org.web3j.tuples.generated.Tuple9; import org.web3j.tx.Contract; @@ -49,7 +50,7 @@ */ @SuppressWarnings("rawtypes") public class SyscoinSuperblocks extends Contract { - private static final String BINARY = "0x608060405234801561001057600080fd5b50613b8f806100206000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c8063828fa8b41161013b578063c8bd7768116100b8578063ed8609761161007c578063ed860976146114e0578063f06d520d14611521578063f09a401614611529578063fbb381a714611559578063fc96c396146115ff57610248565b8063c8bd776814611022578063cae0581e14611261578063d0f9410b146112a2578063d5c9712f1461134f578063e8f421df146113f857610248565b8063b79bbf46116100ff578063b79bbf4614610dcb578063b7a8121814610e71578063c0dde98b14610f17578063c1f67ab314610f34578063c63128aa14610f6057610248565b8063828fa8b414610cd457806395b45ee714610d155780639e20c80314610d41578063a76a9b0f14610d91578063b6f6580a14610dae57610248565b80634d7dcfbd116101c95780635b5728121161018d5780635b57281214610b575780635ec0aedd14610b5f5780636823c56b14610b675780636e5b707114610c0b5780637420578614610ca857610248565b80634d7dcfbd1461088d578063535849391461094c57806353a3273d146109f2578063543a86f614610a9657806355e018ce14610b3a57610248565b80632e400191116102105780632e400191146105ca5780633e0e8a20146105e7578063455e616614610705578063484162be1461070d5780634b6986fd146107ca57610248565b8063029c5e2a1461024d578063155ee8941461030c578063244430381461033057806327426f75146105815780632da8cffd146105ad575b600080fd5b6102f36004803603604081101561026357600080fd5b810190602081018135600160201b81111561027d57600080fd5b82018360208201111561028f57600080fd5b803590602001918460018302840111600160201b831117156102b057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506116a5915050565b6040805163ffffffff9092168252519081900360200190f35b6103146116e1565b604080516001600160a01b039092168252519081900360200190f35b61056f600480360360e081101561034657600080fd5b810190602081018135600160201b81111561036057600080fd5b82018360208201111561037257600080fd5b803590602001918460018302840111600160201b8311171561039357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156103ed57600080fd5b8201836020820111156103ff57600080fd5b803590602001918460208302840111600160201b8311171561042057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111600160201b831117156104a257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156104fc57600080fd5b82018360208201111561050e57600080fd5b803590602001918460208302840111600160201b8311171561052f57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955050913592506116f0915050565b60408051918252519081900360200190f35b61056f6004803603604081101561059757600080fd5b50803590602001356001600160a01b0316611880565b61056f600480360360208110156105c357600080fd5b50356119b8565b6102f3600480360360208110156105e057600080fd5b50356119d0565b610690600480360360608110156105fd57600080fd5b810190602081018135600160201b81111561061757600080fd5b82018360208201111561062957600080fd5b803590602001918460018302840111600160201b8311171561064a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050823593505050602001356119f2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156106ca5781810151838201526020016106b2565b50505050905090810190601f1680156106f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61056f611a4d565b6107b36004803603604081101561072357600080fd5b810190602081018135600160201b81111561073d57600080fd5b82018360208201111561074f57600080fd5b803590602001918460018302840111600160201b8311171561077057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611a59915050565b6040805161ffff9092168252519081900360200190f35b610870600480360360408110156107e057600080fd5b810190602081018135600160201b8111156107fa57600080fd5b82018360208201111561080c57600080fd5b803590602001918460018302840111600160201b8311171561082d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611a9b915050565b6040805167ffffffffffffffff9092168252519081900360200190f35b610933600480360360408110156108a357600080fd5b810190602081018135600160201b8111156108bd57600080fd5b8201836020820111156108cf57600080fd5b803590602001918460018302840111600160201b831117156108f057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611bcf915050565b6040805192835260208301919091528051918290030190f35b61056f6004803603604081101561096257600080fd5b810190602081018135600160201b81111561097c57600080fd5b82018360208201111561098e57600080fd5b803590602001918460018302840111600160201b831117156109af57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611c82915050565b61056f60048036036020811015610a0857600080fd5b810190602081018135600160201b811115610a2257600080fd5b820183602082011115610a3457600080fd5b803590602001918460018302840111600160201b83111715610a5557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611c8a945050505050565b61056f60048036036020811015610aac57600080fd5b810190602081018135600160201b811115610ac657600080fd5b820183602082011115610ad857600080fd5b803590602001918460018302840111600160201b83111715610af957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611c91945050505050565b61056f60048036036020811015610b5057600080fd5b5035611e2a565b61056f611e3f565b610314611e64565b61056f60048036036020811015610b7d57600080fd5b810190602081018135600160201b811115610b9757600080fd5b820183602082011115610ba957600080fd5b803590602001918460018302840111600160201b83111715610bca57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611e73945050505050565b610c2860048036036020811015610c2157600080fd5b5035611e8b565b604051808a81526020018981526020018881526020018781526020018663ffffffff1663ffffffff168152602001858152602001846001600160a01b03166001600160a01b03168152602001836005811115610c8057fe5b60ff16815263ffffffff90921660208301525060408051918290030198509650505050505050f35b61056f60048036036040811015610cbe57600080fd5b50803590602001356001600160a01b0316611ef0565b61056f600480360360c0811015610cea57600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a00135612026565b61056f60048036036040811015610d2b57600080fd5b50803590602001356001600160a01b031661207e565b610933600480360360e0811015610d5757600080fd5b50803590602081013590604081013590606081013590608081013563ffffffff169060a08101359060c001356001600160a01b0316612278565b61056f60048036036020811015610da757600080fd5b5035612514565b61056f60048036036020811015610dc457600080fd5b5035612529565b61056f60048036036040811015610de157600080fd5b810190602081018135600160201b811115610dfb57600080fd5b820183602082011115610e0d57600080fd5b803590602001918460018302840111600160201b83111715610e2e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250612653915050565b61069060048036036040811015610e8757600080fd5b810190602081018135600160201b811115610ea157600080fd5b820183602082011115610eb357600080fd5b803590602001918460018302840111600160201b83111715610ed457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061280d915050565b61056f60048036036020811015610f2d57600080fd5b50356128d1565b61056f60048036036040811015610f4a57600080fd5b50803590602001356001600160a01b0316612905565b61100460048036036020811015610f7657600080fd5b810190602081018135600160201b811115610f9057600080fd5b820183602082011115610fa257600080fd5b803590602001918460018302840111600160201b83111715610fc357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612a88945050505050565b6040805192835263ffffffff90911660208301528051918290030190f35b61056f600480360360e081101561103857600080fd5b810190602081018135600160201b81111561105257600080fd5b82018360208201111561106457600080fd5b803590602001918460018302840111600160201b8311171561108557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156110df57600080fd5b8201836020820111156110f157600080fd5b803590602001918460208302840111600160201b8311171561111257600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561116157600080fd5b82018360208201111561117357600080fd5b803590602001918460018302840111600160201b8311171561119457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156111ee57600080fd5b82018360208201111561120057600080fd5b803590602001918460208302840111600160201b8311171561122157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250612b0c915050565b61127e6004803603602081101561127757600080fd5b5035612c42565b6040518082600581111561128e57fe5b60ff16815260200191505060405180910390f35b61056f600480360360608110156112b857600080fd5b813591602081013591810190606081016040820135600160201b8111156112de57600080fd5b8201836020820111156112f057600080fd5b803590602001918460208302840111600160201b8311171561131157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612c61945050505050565b61056f6004803603606081101561136557600080fd5b810190602081018135600160201b81111561137f57600080fd5b82018360208201111561139157600080fd5b803590602001918460018302840111600160201b831117156113b257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135612e70565b61149c6004803603602081101561140e57600080fd5b810190602081018135600160201b81111561142857600080fd5b82018360208201111561143a57600080fd5b803590602001918460018302840111600160201b8311171561145b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612eaa945050505050565b6040805196875260208701959095526001600160a01b039384168686015263ffffffff909216606086015260ff1660808501521660a0830152519081900360c00190f35b610933600480360360c08110156114f657600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a00135612f41565b61056f61309a565b6115576004803603604081101561153f57600080fd5b506001600160a01b03813581169160200135166130a0565b005b6106906004803603604081101561156f57600080fd5b810190602081018135600160201b81111561158957600080fd5b82018360208201111561159b57600080fd5b803590602001918460018302840111600160201b831117156115bc57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506131cb915050565b6102f36004803603604081101561161557600080fd5b810190602081018135600160201b81111561162f57600080fd5b82018360208201111561164157600080fd5b803590602001918460018302840111600160201b8311171561166257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506132c1915050565b6000816020840101516040518160031a60008201538160021a60018201538160011a60028201538160001a60038201535160e01c949350505050565b6036546001600160a01b031681565b600080611702868686868d8d8d613350565b905080156118315760008060008060008061171c8f612eaa565b939a5091985092965091945092509050831561177c57604080518881526020810186905281517f4e64138cc499eb1adf9edff9ef69bd45c56ac4bfd307540952e4c9d51eab55c1929181900390910190a183975050505050505050611875565b60355460008a8152603360205260408082206005015481516315eade2b60e31b8152600481018c9052602481018b90526001600160a01b038a811660448301529182166064820152868216608482015263ffffffff881660a482015260ff861660c4820152915193169263af56f1589260e48084019391929182900301818387803b15801561180a57600080fd5b505af115801561181e573d6000803e3d6000fd5b5050505085975050505050505050611875565b604080516000815261753a602082015281517f4e64138cc499eb1adf9edff9ef69bd45c56ac4bfd307540952e4c9d51eab55c1929181900390910190a161753a9150505b979650505050505050565b6036546000906001600160a01b031633146118c8576040805184815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c3966119b2565b60008381526033602052604090206002600582810154600160e01b900460ff16908111156118f257fe5b1415801561191a57506001600582810154600160e01b900460ff169081111561191757fe5b14155b15611954576040805185815261c364602082015281516000805160206139fa833981519152929181900390910190a161c3649150506119b2565b60058101805460ff60e01b1916600360e01b179055604080518581526001600160a01b038516602082015281517f87f54f5eb3dd119fe71af0915af693e64a5bfd4acaa19a6c944c47cff8eec9e6929181900390910190a160009150505b92915050565b6000818152603360205260409020600101545b919050565b600090815260336020526040902060050154600160c01b900463ffffffff1690565b6060600083830390506060816040519080825280601f01601f191660200182016040528015611a28576020820181803883390190505b5090508160208201838760208a010160045afa611a4457600080fd5b95945050505050565b6729a2241af62c000081565b6000828281518110611a6757fe5b602001015160f81c60f81b60f81c60ff1661010002838360010181518110611a8b57fe5b016020015160f81c019392505050565b6000828281518110611aa957fe5b602001015160f81c60f81b60f81c60ff1667010000000000000002838360010181518110611ad357fe5b602001015160f81c60f81b60f81c60ff16660100000000000002848460020181518110611afc57fe5b602001015160f81c60f81b60f81c60ff166501000000000002858560030181518110611b2457fe5b602001015160f81c60f81b60f81c60ff16600160201b02868660040181518110611b4a57fe5b602001015160f81c60f81b60f81c60ff16630100000002878760050181518110611b7057fe5b602001015160f81c60f81b60f81c60ff166201000002888860060181518110611b9557fe5b602001015160f81c60f81b60f81c60ff1661010002898960070181518110611bb957fe5b016020015160f81c010101010101019392505050565b6000806000848481518110611be057fe5b01602001516001949094019360f81c905060fd811015611c075760ff169150829050611c7b565b8060ff1660fd1415611c2d57611c1f85856010612e70565b846002019250925050611c7b565b8060ff1660fe1415611c5357611c4585856020612e70565b846004019250925050611c7b565b8060ff1660ff1415611c7957611c6b85856040612e70565b846008019250925050611c7b565b505b9250929050565b016020015190565b6060015190565b60006119b2600280846040516020018082805190602001908083835b60208310611ccc5780518252601f199092019160209182019101611cad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310611d2f5780518252601f199092019160209182019101611d10565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611d6e573d6000803e3d6000fd5b5050506040513d6020811015611d8357600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b60208310611dcf5780518252601f199092019160209182019101611db0565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611e0e573d6000803e3d6000fd5b5050506040513d6020811015611e2357600080fd5b5051612529565b60009081526033602052604090206004015490565b603454600090815260336020526040902060050154600160c01b900463ffffffff1690565b6035546001600160a01b031681565b6044810151600090611e8481612529565b9392505050565b600090815260336020526040902080546001820154600283015460038401546005850154600490950154939592949193909263ffffffff600160a01b84048116936001600160a01b0381169260ff600160e01b83041692600160c01b90920490911690565b6036546000906001600160a01b03163314611f38576040805184815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c3966119b2565b60008381526033602052604090206002600582810154600160e01b900460ff1690811115611f6257fe5b14158015611f8a57506003600582810154600160e01b900460ff1690811115611f8757fe5b14155b15611fc4576040805185815261c364602082015281516000805160206139fa833981519152929181900390910190a161c3649150506119b2565b60058101805460ff60e01b1916600560e01b179055604080518581526001600160a01b038516602082015281517f64297372062dfcb21d6f7385f68d4656e993be2bb674099e3de73128d4911a91929181900390910190a15060009392505050565b60408051602080820198909852808201969096526060860194909452608085019290925260e01b6001600160e01b03191660a084015260a4808401919091528151808403909101815260c49092019052805191012090565b6036546000906001600160a01b031633146120c6576040805184815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c3966119b2565b60008381526033602052604090206001600582810154600160e01b900460ff16908111156120f057fe5b1415801561211857506003600582810154600160e01b900460ff169081111561211557fe5b14155b15612152576040805185815261c364602082015281516000805160206139fa833981519152929181900390910190a161c3649150506119b2565b61215a611e3f565b6005820154600160c01b900463ffffffff16116121a6576040805185815261c3fa602082015281516000805160206139fa833981519152929181900390910190a161c3fa9150506119b2565b600480820154600090815260336020526040902090600582810154600160e01b900460ff16908111156121d557fe5b14612210576040805186815261c378602082015281516000805160206139fa833981519152929181900390910190a161c378925050506119b2565b60058201805460ff60e01b1916600160e21b1790556034859055604080518681526001600160a01b038616602082015281517ff2dbbf0abb1ab1870a5e4d02746747c91d167c855255440b573ba3b5529dc901929181900390910190a1506000949350505050565b60365460009081906001600160a01b031633146122c757604080516000815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c39690506000612508565b60008481526033602052604090206003600582810154600160e01b900460ff16908111156122f157fe5b1415801561231957506004600582810154600160e01b900460ff169081111561231657fe5b14155b15612392576000805160206139fa8339815191528582600501601c9054906101000a900460ff16600581111561234b57fe5b6040805192835261c3789190910160208301528051918290030190a1600581810154600160e01b900460ff169081111561238157fe5b61c378019250600091506125089050565b61239a611e3f565b6005820154600160c01b900463ffffffff1610156123eb576040805186815261c3fa602082015281516000805160206139fa833981519152929181900390910190a15061c3fa915060009050612508565b60006123fb8b8b8b8b8b8b612026565b6000818152603360205260408120919250600582810154600160e01b900460ff169081111561242657fe5b1415612497578b815560018082018c9055600282018b9055600382018a905560048201889055600580850154908301805463ffffffff8c8116600160a01b0263ffffffff60a01b19600160c01b95869004831690960190911690930263ffffffff60c01b1990911617929092161790555b60058101805460ff60e01b1916600160e01b176001600160a01b0319166001600160a01b03881690811790915560408051848152602081019290925280517f64951c9008bba9f4663c12662e7a9b6412a7c4757869fdac09285564ae923fa19281900390910190a150600093509150505b97509795505050505050565b60009081526033602052604090206002015490565b60405160009060ff8316815382601e1a600182015382601d1a600282015382601c1a600382015382601b1a600482015382601a1a60058201538260191a60068201538260181a60078201538260171a60088201538260161a60098201538260151a600a8201538260141a600b8201538260131a600c8201538260121a600d8201538260111a600e8201538260101a600f82015382600f1a601082015382600e1a601182015382600d1a601282015382600c1a601382015382600b1a601482015382600a1a60158201538260091a60168201538260081a60178201538260071a60188201538260061a60198201538260051a601a8201538260041a601b8201538260031a601c8201538260021a601d8201538260011a601e8201538260001a601f8201535192915050565b60008060008060006126658787611bcf565b96509350836126c7576126788787611bcf565b96509350836126b85760405162461bcd60e51b815260040180806020018281038252603b815260200180613a5a603b913960400191505060405180910390fd5b6126c28787611bcf565b965093505b606484106127065760405162461bcd60e51b8152600401808060200182810382526040815260200180613a1a6040913960400191505060405180910390fd5b60005b84811015612732576024870196506127218888611bcf565b810160040197509350600101612709565b5061273d8787611bcf565b96509050600a81106127805760405162461bcd60e51b8152600401808060200182810382526041815260200180613a956041913960600191505060405180910390fd5b60005b818110156127d55760088701965061279b8888611bcf565b975093506127a988886133c3565b6127ba5795830195600092506127cd565b60018701965086955050505050506119b2565b600101612783565b5060405162461bcd60e51b8152600401808060200182810382526037815260200180613ad66037913960400191505060405180910390fd5b6040805160008082526020820190925260609161282a8585611bcf565b81019450905061283a8585611bcf565b81019450905061284a8585611bcf565b81019450905061285a8585611bcf565b81019450905061286a8585611bcf565b9450905060028114156128b95760006128838686611a59565b9482019490506128938686611bcf565b61ffff831690810196509092506128b19087908790850381016119f2565b9250506128c9565b6128c685858387016119f2565b91505b509392505050565b6034546000905b826128e2826119d0565b63ffffffff1611156119b2576000908152603360205260409020600401546128d8565b6036546000906001600160a01b0316331461294d576040805184815261c396602082015281516000805160206139fa833981519152929181900390910190a15061c3966119b2565b60008381526033602052604090206001600582810154600160e01b900460ff169081111561297757fe5b1415801561299f57506002600582810154600160e01b900460ff169081111561299c57fe5b14155b156129d9576040805185815261c364602082015281516000805160206139fa833981519152929181900390910190a161c3649150506119b2565b60058101546001600160a01b0384811691161415612a26576040805185815261c387602082015281516000805160206139fa833981519152929181900390910190a161c3879150506119b2565b60058101805460ff60e01b1916600160e11b179055604080518581526001600160a01b038516602082015281517f09cdaca254aa177f759fe7a0968fe696ee9baf7d2a1d4714ed24b83d1f09518e929181900390910190a15060009392505050565b6000808080612a9785826116a5565b915063ffffffff821661740614612ab557506127ba9250612b079050565b612ac0856004612653565b60030190507faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d612b01612afc612af6888561280d565b836131cb565b611c8a565b93505050505b915091565b600080612b1e868686868d8d8d613350565b90508015612bfd57600080612b328b612a88565b925090508015612b8157604080518481526020810183905281517f4e64138cc499eb1adf9edff9ef69bd45c56ac4bfd307540952e4c9d51eab55c1929181900390910190a19250611875915050565b60355460408051636cde8d6f60e01b815263ffffffff8516600482015233602482015290516001600160a01b0390921691636cde8d6f9160448082019260009290919082900301818387803b158015612bd957600080fd5b505af1158015612bed573d6000803e3d6000fd5b5050505060009350505050611875565b60408051617544815290517f52fd0c7e41cb237ece28ba61808cab7bb72873b2dba5b827c5b65bb092102d379181900360200190a15061754498975050505050505050565b600090815260336020526040902060050154600160e01b900460ff1690565b8051600090815b81811015612cab57612c8c848281518110612c7f57fe5b6020026020010151612529565b848281518110612c9857fe5b6020908102919091010152600101612c68565b50600080612cb887612529565b90505b82821015612e67576000858381518110612cd157fe5b6020026020010151905060008060028981612ce857fe5b0660011415612cfb575081905082612d01565b50829050815b600280838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310612d5b5780518252601f199092019160209182019101612d3c565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015612d9a573d6000803e3d6000fd5b5050506040513d6020811015612daf57600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b60208310612dfb5780518252601f199092019160209182019101612ddc565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015612e3a573d6000803e3d6000fd5b5050506040513d6020811015612e4f57600080fd5b50519350600289049850600185019450505050612cbb565b61187581612529565b6000805b600883048110156128c9578060080260020a8582860181518110612e9457fe5b016020015160f81c029190910190600101612e74565b6000808080808080808080808080612ec28e826116a5565b935063ffffffff841661740714612eef57506127ba9b50949950919750919550919350909150612f389050565b612efa8e6004612653565b9050612f068e826133f2565b809750819650829a50839950849b505050505050600087868885878595509c509c509c509c509c509c50505050505050505b91939550919395565b603454600090819015612f5357600080fd5b8215612f5e57600080fd5b6000612f6e898989898989612026565b6000818152603360205260408120919250600582810154600160e01b900460ff1690811115612f9957fe5b14612fa357600080fd5b89815560018101899055600281018890556003810187905560048101859055600581018054600160c01b336001600160a01b0319909216821763ffffffff60c01b19161763ffffffff60a01b1916600160a01b63ffffffff8a16021760ff60e01b1916600160e21b1790915560408051848152602081019290925280517f64951c9008bba9f4663c12662e7a9b6412a7c4757869fdac09285564ae923fa19281900390910190a160348290556040805183815233602082015281517ff2dbbf0abb1ab1870a5e4d02746747c91d167c855255440b573ba3b5529dc901929181900390910190a1506000999098509650505050505050565b60345490565b600054610100900460ff16806130b957506130b961351d565b806130c7575060005460ff16155b6131025760405162461bcd60e51b815260040180806020018281038252602e815260200180613b0d602e913960400191505060405180910390fd5b600054610100900460ff1615801561312d576000805460ff1961ff0019909116610100171660011790555b6035546001600160a01b031615801561314e57506001600160a01b03831615155b61315757600080fd5b603580546001600160a01b0319166001600160a01b03858116919091179091556036541615801561319057506001600160a01b03821615155b61319957600080fd5b603680546001600160a01b0319166001600160a01b03841617905580156131c6576000805461ff00191690555b505050565b6060806131df6131da85613523565b613548565b90506060613200826003815181106131f357fe5b6020026020010151613548565b905060005b815181101561328157606061321f8383815181106131f357fe5b905060606132408260018151811061323357fe5b6020026020010151613619565b9050600061324f826001611c82565b905087811415613276576132698360028151811061323357fe5b96505050505050506119b2565b505050600101613205565b506040805162461bcd60e51b815260206004820152600f60248201526e151bdc1a58c81b9bdd08199bdd5b99608a1b604482015290519081900360640190fd5b60008282815181106132cf57fe5b602001015160f81c60f81b60f81c60ff166301000000028383600101815181106132f557fe5b602001015160f81c60f81b60f81c60ff16620100000284846002018151811061331a57fe5b602001015160f81c60f81b60f81c60ff166101000285856003018151811061333e57fe5b016020015160f81c0101019392505050565b60008481526033602052604081205461337261336b8a611c91565b8989612c61565b146133aa576040805160008152614e6660208201528151600080516020613b3b833981519152929181900390910190a1506000611875565b6133b78484848b89613692565b98975050505050505050565b8151600090603560f91b908490849081106133da57fe5b01602001516001600160f81b03191614905092915050565b600080600080600080600080600080600061340d8d8d613707565b9c509050600460ff82161461342157600080fd5b61342b8d8d6132c1565b95508060ff168c019b5061343f8d8d613707565b9c509050600860ff82161461345357600080fd5b61345d8d8d611a9b565b67ffffffffffffffff1692508060ff168c019b5061347b8d8d613707565b9c509050601460ff82161461348f57600080fd5b6134998d8d613739565b94508060ff168c019b506134ad8d8d613707565b9c509050600160ff8216146134c157600080fd5b8c8c815181106134cd57fe5b016020015160ff82169c909c019b60f81c91506134ea8d8d613707565b9c509050601460ff8216146134fe57600080fd5b6135088d8d613739565b929d949c50949a509850965090945050505050565b303b1590565b61352b6139df565b506040805180820190915281518152602082810190820152919050565b606061355382613741565b61355c57600080fd5b60006135678361377b565b90506060816040519080825280602002602001820160405280156135a557816020015b6135926139df565b81526020019060019003908161358a5790505b50905060006135b785602001516137d7565b60208601510190506000805b8481101561360e576135d48361383a565b91506040518060400160405280838152602001848152508482815181106135f757fe5b6020908102919091010152918101916001016135c3565b509195945050505050565b805160609061362757600080fd5b600061363683602001516137d7565b83516040805191839003808352601f19601f820116830160200190915291925060609082801561366d576020820181803883390190505b50905060008160200190506136898487602001510182856138d3565b50949350505050565b60008061369e87611c91565b90508651604014156136de5760408051828152614e5c60208201528151600080516020613b3b833981519152929181900390910190a16000915050611a44565b6136eb818787878761391e565b600114156136fa579050611a44565b5060009695505050505050565b6000808351831061371757600080fd5b83838151811061372357fe5b016020015160f81c915050600182019250929050565b016014015190565b8051600090613752575060006119cb565b6020820151805160001a9060c0821015613771576000925050506119cb565b5060019392505050565b805160009061378c575060006119cb565b600080905060006137a084602001516137d7565b602085015185519181019250015b808210156137ce576137bf8261383a565b600190930192909101906137ae565b50909392505050565b8051600090811a60808110156137f15760009150506119cb565b60b881108061380c575060c0811080159061380c575060f881105b1561381b5760019150506119cb565b60c081101561382f5760b5190190506119cb565b60f5190190506119cb565b80516000908190811a608081101561385557600191506138cc565b60b881101561386a57607e19810191506138cc565b60c08110156138975760b78103600185019450806020036101000a855104600182018101935050506138cc565b60f88110156138ac5760be19810191506138cc565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b806138dd576131c6565b5b602081106138fd578251825260209283019290910190601f19016138de565b915181516020939093036101000a6000190180199091169216919091179052565b6000613929826139c0565b6139605760408051878152614e3e60208201528151600080516020613b3b833981519152929181900390910190a150614e3e611a44565b600061396b84611e73565b905080613979888888612c61565b146139b35760408051888152614e5260208201528151600080516020613b3b833981519152929181900390910190a1614e52915050611a44565b5060019695505050505050565b600060046139cd83612c42565b60058111156139d857fe5b1492915050565b60405180604001604052806000815260200160008152509056fea57c1ba4cf2c89b3558cfeeca4339e04551f0fc1a12cf63f1923c2eed8a5be8b23537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f696e7075747323537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20556e65787065637465642064756d6d792f666c616723537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f6f75747075747323537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a204e6f204f7052657475726e20666f756e64436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656465bd72698b9ffcfb3c7cb4c7414e13225cabd57fb690e183ae8c01c8ec268ebda265627a7a72315820970826eedc7f057a70209609e0bf4dcc8d2a92e146f85bf740c4d09208264ca564736f6c634300050d0032"; + private static final String BINARY = "0x608060405234801561001057600080fd5b506142ba806100206000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c8063828fa8b411610151578063c63128aa116100c3578063e8f421df11610087578063e8f421df146117f6578063ed860976146118de578063f06d520d1461191f578063f09a401614611927578063fbb381a714611957578063fc96c396146119fd57610269565b8063c63128aa1461135e578063c8bd776814611420578063cae0581e1461165f578063d0f9410b146116a0578063d5c9712f1461174d57610269565b8063b6f6580a11610115578063b6f6580a146110dc578063b79bbf46146110f9578063b7a812181461119f578063bb3bf22e14611245578063c0dde98b14611315578063c1f67ab31461133257610269565b8063828fa8b414610f3457806391c9375c14610f7557806395b45ee7146110435780639e20c8031461106f578063a76a9b0f146110bf57610269565b80634b6986fd116101ea57806355e018ce116101ae57806355e018ce14610d9a5780635b57281214610db75780635ec0aedd14610dbf5780636823c56b14610dc75780636e5b707114610e6b5780637420578614610f0857610269565b80634b6986fd14610a2a5780634d7dcfbd14610aed5780635358493914610bac57806353a3273d14610c52578063543a86f614610cf657610269565b80632e400191116102315780632e400191146105eb5780632e901cee146106085780633e0e8a2014610847578063455e616614610965578063484162be1461096d57610269565b8063029c5e2a1461026e578063155ee8941461032d578063244430381461035157806327426f75146105a25780632da8cffd146105ce575b600080fd5b6103146004803603604081101561028457600080fd5b810190602081018135600160201b81111561029e57600080fd5b8201836020820111156102b057600080fd5b803590602001918460018302840111600160201b831117156102d157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611aa3915050565b6040805163ffffffff9092168252519081900360200190f35b610335611adf565b604080516001600160a01b039092168252519081900360200190f35b610590600480360360e081101561036757600080fd5b810190602081018135600160201b81111561038157600080fd5b82018360208201111561039357600080fd5b803590602001918460018302840111600160201b831117156103b457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b81111561040e57600080fd5b82018360208201111561042057600080fd5b803590602001918460208302840111600160201b8311171561044157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561049057600080fd5b8201836020820111156104a257600080fd5b803590602001918460018302840111600160201b831117156104c357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b81111561051d57600080fd5b82018360208201111561052f57600080fd5b803590602001918460208302840111600160201b8311171561055057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250611aee915050565b60408051918252519081900360200190f35b610590600480360360408110156105b857600080fd5b50803590602001356001600160a01b0316611c5a565b610590600480360360208110156105e457600080fd5b5035611d92565b6103146004803603602081101561060157600080fd5b5035611daa565b610590600480360360e081101561061e57600080fd5b810190602081018135600160201b81111561063857600080fd5b82018360208201111561064a57600080fd5b803590602001918460018302840111600160201b8311171561066b57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156106c557600080fd5b8201836020820111156106d757600080fd5b803590602001918460208302840111600160201b831117156106f857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561074757600080fd5b82018360208201111561075957600080fd5b803590602001918460018302840111600160201b8311171561077a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156107d457600080fd5b8201836020820111156107e657600080fd5b803590602001918460208302840111600160201b8311171561080757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250611dcc915050565b6108f06004803603606081101561085d57600080fd5b810190602081018135600160201b81111561087757600080fd5b82018360208201111561088957600080fd5b803590602001918460018302840111600160201b831117156108aa57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135611ee7565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561092a578181015183820152602001610912565b50505050905090810190601f1680156109575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610590611f42565b610a136004803603604081101561098357600080fd5b810190602081018135600160201b81111561099d57600080fd5b8201836020820111156109af57600080fd5b803590602001918460018302840111600160201b831117156109d057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611f4e915050565b6040805161ffff9092168252519081900360200190f35b610ad060048036036040811015610a4057600080fd5b810190602081018135600160201b811115610a5a57600080fd5b820183602082011115610a6c57600080fd5b803590602001918460018302840111600160201b83111715610a8d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611f90915050565b6040805167ffffffffffffffff9092168252519081900360200190f35b610b9360048036036040811015610b0357600080fd5b810190602081018135600160201b811115610b1d57600080fd5b820183602082011115610b2f57600080fd5b803590602001918460018302840111600160201b83111715610b5057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506120c4915050565b6040805192835260208301919091528051918290030190f35b61059060048036036040811015610bc257600080fd5b810190602081018135600160201b811115610bdc57600080fd5b820183602082011115610bee57600080fd5b803590602001918460018302840111600160201b83111715610c0f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250612177915050565b61059060048036036020811015610c6857600080fd5b810190602081018135600160201b811115610c8257600080fd5b820183602082011115610c9457600080fd5b803590602001918460018302840111600160201b83111715610cb557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061217f945050505050565b61059060048036036020811015610d0c57600080fd5b810190602081018135600160201b811115610d2657600080fd5b820183602082011115610d3857600080fd5b803590602001918460018302840111600160201b83111715610d5957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612186945050505050565b61059060048036036020811015610db057600080fd5b503561231f565b610590612334565b610335612359565b61059060048036036020811015610ddd57600080fd5b810190602081018135600160201b811115610df757600080fd5b820183602082011115610e0957600080fd5b803590602001918460018302840111600160201b83111715610e2a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612368945050505050565b610e8860048036036020811015610e8157600080fd5b5035612380565b604051808a81526020018981526020018881526020018781526020018663ffffffff1663ffffffff168152602001858152602001846001600160a01b03166001600160a01b03168152602001836005811115610ee057fe5b60ff16815263ffffffff90921660208301525060408051918290030198509650505050505050f35b61059060048036036040811015610f1e57600080fd5b50803590602001356001600160a01b03166123e5565b610590600480360360c0811015610f4a57600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a0013561251b565b61101b60048036036040811015610f8b57600080fd5b810190602081018135600160201b811115610fa557600080fd5b820183602082011115610fb757600080fd5b803590602001918460018302840111600160201b83111715610fd857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250612573915050565b6040805163ffffffff90931683526001600160a01b0390911660208301528051918290030190f35b6105906004803603604081101561105957600080fd5b50803590602001356001600160a01b031661263e565b610b93600480360360e081101561108557600080fd5b50803590602081013590604081013590606081013590608081013563ffffffff169060a08101359060c001356001600160a01b0316612838565b610590600480360360208110156110d557600080fd5b5035612ad4565b610590600480360360208110156110f257600080fd5b5035612ae9565b6105906004803603604081101561110f57600080fd5b810190602081018135600160201b81111561112957600080fd5b82018360208201111561113b57600080fd5b803590602001918460018302840111600160201b8311171561115c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250612c13915050565b6108f0600480360360408110156111b557600080fd5b810190602081018135600160201b8111156111cf57600080fd5b8201836020820111156111e157600080fd5b803590602001918460018302840111600160201b8311171561120257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250612dcd915050565b6112e96004803603602081101561125b57600080fd5b810190602081018135600160201b81111561127557600080fd5b82018360208201111561128757600080fd5b803590602001918460018302840111600160201b831117156112a857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612e91945050505050565b6040805193845263ffffffff90921660208401526001600160a01b031682820152519081900360600190f35b6105906004803603602081101561132b57600080fd5b5035612f84565b6105906004803603604081101561134857600080fd5b50803590602001356001600160a01b0316612fb8565b6114026004803603602081101561137457600080fd5b810190602081018135600160201b81111561138e57600080fd5b8201836020820111156113a057600080fd5b803590602001918460018302840111600160201b831117156113c157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061313b945050505050565b6040805192835263ffffffff90911660208301528051918290030190f35b610590600480360360e081101561143657600080fd5b810190602081018135600160201b81111561145057600080fd5b82018360208201111561146257600080fd5b803590602001918460018302840111600160201b8311171561148357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156114dd57600080fd5b8201836020820111156114ef57600080fd5b803590602001918460208302840111600160201b8311171561151057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561155f57600080fd5b82018360208201111561157157600080fd5b803590602001918460018302840111600160201b8311171561159257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b8111156115ec57600080fd5b8201836020820111156115fe57600080fd5b803590602001918460208302840111600160201b8311171561161f57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955050913592506131bf915050565b61167c6004803603602081101561167557600080fd5b50356132e3565b6040518082600581111561168c57fe5b60ff16815260200191505060405180910390f35b610590600480360360608110156116b657600080fd5b813591602081013591810190606081016040820135600160201b8111156116dc57600080fd5b8201836020820111156116ee57600080fd5b803590602001918460208302840111600160201b8311171561170f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550613302945050505050565b6105906004803603606081101561176357600080fd5b810190602081018135600160201b81111561177d57600080fd5b82018360208201111561178f57600080fd5b803590602001918460018302840111600160201b831117156117b057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135613511565b61189a6004803603602081101561180c57600080fd5b810190602081018135600160201b81111561182657600080fd5b82018360208201111561183857600080fd5b803590602001918460018302840111600160201b8311171561185957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061354b945050505050565b6040805196875260208701959095526001600160a01b039384168686015263ffffffff909216606086015260ff1660808501521660a0830152519081900360c00190f35b610b93600480360360c08110156118f457600080fd5b5080359060208101359060408101359060608101359063ffffffff6080820135169060a001356135e2565b61059061373b565b6119556004803603604081101561193d57600080fd5b506001600160a01b0381358116916020013516613741565b005b6108f06004803603604081101561196d57600080fd5b810190602081018135600160201b81111561198757600080fd5b82018360208201111561199957600080fd5b803590602001918460018302840111600160201b831117156119ba57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061386c915050565b61031460048036036040811015611a1357600080fd5b810190602081018135600160201b811115611a2d57600080fd5b820183602082011115611a3f57600080fd5b803590602001918460018302840111600160201b83111715611a6057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250613962915050565b6000816020840101516040518160031a60008201538160021a60018201538160011a60028201538160001a60038201535160e01c949350505050565b6036546001600160a01b031681565b600080611b00868686868d8d8d6139f1565b90508015611c1d57600080600080600080611b1a8f61354b565b939a50919850929650919450925090508315611b6857604080518881526020810186905281516000805160206140bb833981519152929181900390910190a183975050505050505050611c4f565b60355460008a8152603360205260408082206005015481516315eade2b60e31b8152600481018c9052602481018b90526001600160a01b038a811660448301529182166064820152868216608482015263ffffffff881660a482015260ff861660c4820152915193169263af56f1589260e48084019391929182900301818387803b158015611bf657600080fd5b505af1158015611c0a573d6000803e3d6000fd5b5050505085975050505050505050611c4f565b604080516000815261753a602082015281516000805160206140bb833981519152929181900390910190a161753a9150505b979650505050505050565b6036546000906001600160a01b03163314611ca2576040805184815261c3966020820152815160008051602061409b833981519152929181900390910190a15061c396611d8c565b60008381526033602052604090206002600582810154600160e01b900460ff1690811115611ccc57fe5b14158015611cf457506001600582810154600160e01b900460ff1690811115611cf157fe5b14155b15611d2e576040805185815261c3646020820152815160008051602061409b833981519152929181900390910190a161c364915050611d8c565b60058101805460ff60e01b1916600360e01b179055604080518581526001600160a01b038516602082015281517f87f54f5eb3dd119fe71af0915af693e64a5bfd4acaa19a6c944c47cff8eec9e6929181900390910190a160009150505b92915050565b6000818152603360205260409020600101545b919050565b600090815260336020526040902060050154600160c01b900463ffffffff1690565b600080611dde868686868d8d8d6139f1565b90508015611c1d576000806000611df48c612e91565b919450925090508215611e3657604080518581526020810185905281516000805160206140bb833981519152929181900390910190a182945050505050611c4f565b6000868152603360205260408082206005015460355482516317c047e160e01b81526004810189905263ffffffff8781166024830152600160c01b909304831660001901603c028d0192831660448201526001600160a01b0386811660648301529351929493909116926317c047e19260848084019382900301818387803b158015611ec157600080fd5b505af1158015611ed5573d6000803e3d6000fd5b50505050600095505050505050611c4f565b6060600083830390506060816040519080825280601f01601f191660200182016040528015611f1d576020820181803883390190505b5090508160208201838760208a010160045afa611f3957600080fd5b95945050505050565b6729a2241af62c000081565b6000828281518110611f5c57fe5b602001015160f81c60f81b60f81c60ff1661010002838360010181518110611f8057fe5b016020015160f81c019392505050565b6000828281518110611f9e57fe5b602001015160f81c60f81b60f81c60ff1667010000000000000002838360010181518110611fc857fe5b602001015160f81c60f81b60f81c60ff16660100000000000002848460020181518110611ff157fe5b602001015160f81c60f81b60f81c60ff16650100000000000285856003018151811061201957fe5b602001015160f81c60f81b60f81c60ff16600160201b0286866004018151811061203f57fe5b602001015160f81c60f81b60f81c60ff1663010000000287876005018151811061206557fe5b602001015160f81c60f81b60f81c60ff16620100000288886006018151811061208a57fe5b602001015160f81c60f81b60f81c60ff16610100028989600701815181106120ae57fe5b016020015160f81c010101010101019392505050565b60008060008484815181106120d557fe5b01602001516001949094019360f81c905060fd8110156120fc5760ff169150829050612170565b8060ff1660fd14156121225761211485856010613511565b846002019250925050612170565b8060ff1660fe14156121485761213a85856020613511565b846004019250925050612170565b8060ff1660ff141561216e5761216085856040613511565b846008019250925050612170565b505b9250929050565b016020015190565b6060015190565b6000611d8c600280846040516020018082805190602001908083835b602083106121c15780518252601f1990920191602091820191016121a2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083106122245780518252601f199092019160209182019101612205565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015612263573d6000803e3d6000fd5b5050506040513d602081101561227857600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b602083106122c45780518252601f1990920191602091820191016122a5565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015612303573d6000803e3d6000fd5b5050506040513d602081101561231857600080fd5b5051612ae9565b60009081526033602052604090206004015490565b603454600090815260336020526040902060050154600160c01b900463ffffffff1690565b6035546001600160a01b031681565b604481015160009061237981612ae9565b9392505050565b600090815260336020526040902080546001820154600283015460038401546005850154600490950154939592949193909263ffffffff600160a01b84048116936001600160a01b0381169260ff600160e01b83041692600160c01b90920490911690565b6036546000906001600160a01b0316331461242d576040805184815261c3966020820152815160008051602061409b833981519152929181900390910190a15061c396611d8c565b60008381526033602052604090206002600582810154600160e01b900460ff169081111561245757fe5b1415801561247f57506003600582810154600160e01b900460ff169081111561247c57fe5b14155b156124b9576040805185815261c3646020820152815160008051602061409b833981519152929181900390910190a161c364915050611d8c565b60058101805460ff60e01b1916600560e01b179055604080518581526001600160a01b038516602082015281517f64297372062dfcb21d6f7385f68d4656e993be2bb674099e3de73128d4911a91929181900390910190a15060009392505050565b60408051602080820198909852808201969096526060860194909452608085019290925260e01b6001600160e01b03191660a084015260a4808401919091528151808403909101815260c49092019052805191012090565b600080600080600061258587876120c4565b8101602001965090506125988787611aa3565b92506004860195506125aa87876120c4565b8101600101965090506125bd87876120c4565b8101600101965090506125d087876120c4565b8101601e01965090506125e387876120c4565b96509050601481146126265760405162461bcd60e51b815260040180806020018281038252603e815260200180614107603e913960400191505060405180910390fd5b6126308787613a64565b929792965091945050505050565b6036546000906001600160a01b03163314612686576040805184815261c3966020820152815160008051602061409b833981519152929181900390910190a15061c396611d8c565b60008381526033602052604090206001600582810154600160e01b900460ff16908111156126b057fe5b141580156126d857506003600582810154600160e01b900460ff16908111156126d557fe5b14155b15612712576040805185815261c3646020820152815160008051602061409b833981519152929181900390910190a161c364915050611d8c565b61271a612334565b6005820154600160c01b900463ffffffff1611612766576040805185815261c3fa6020820152815160008051602061409b833981519152929181900390910190a161c3fa915050611d8c565b600480820154600090815260336020526040902090600582810154600160e01b900460ff169081111561279557fe5b146127d0576040805186815261c3786020820152815160008051602061409b833981519152929181900390910190a161c37892505050611d8c565b60058201805460ff60e01b1916600160e21b1790556034859055604080518681526001600160a01b038616602082015281517ff2dbbf0abb1ab1870a5e4d02746747c91d167c855255440b573ba3b5529dc901929181900390910190a1506000949350505050565b60365460009081906001600160a01b0316331461288757604080516000815261c3966020820152815160008051602061409b833981519152929181900390910190a15061c39690506000612ac8565b60008481526033602052604090206003600582810154600160e01b900460ff16908111156128b157fe5b141580156128d957506004600582810154600160e01b900460ff16908111156128d657fe5b14155b156129525760008051602061409b8339815191528582600501601c9054906101000a900460ff16600581111561290b57fe5b6040805192835261c3789190910160208301528051918290030190a1600581810154600160e01b900460ff169081111561294157fe5b61c37801925060009150612ac89050565b61295a612334565b6005820154600160c01b900463ffffffff1610156129ab576040805186815261c3fa6020820152815160008051602061409b833981519152929181900390910190a15061c3fa915060009050612ac8565b60006129bb8b8b8b8b8b8b61251b565b6000818152603360205260408120919250600582810154600160e01b900460ff16908111156129e657fe5b1415612a57578b815560018082018c9055600282018b9055600382018a905560048201889055600580850154908301805463ffffffff8c8116600160a01b0263ffffffff60a01b19600160c01b95869004831690960190911690930263ffffffff60c01b1990911617929092161790555b60058101805460ff60e01b1916600160e01b176001600160a01b0319166001600160a01b03881690811790915560408051848152602081019290925280517f64951c9008bba9f4663c12662e7a9b6412a7c4757869fdac09285564ae923fa19281900390910190a150600093509150505b97509795505050505050565b60009081526033602052604090206002015490565b60405160009060ff8316815382601e1a600182015382601d1a600282015382601c1a600382015382601b1a600482015382601a1a60058201538260191a60068201538260181a60078201538260171a60088201538260161a60098201538260151a600a8201538260141a600b8201538260131a600c8201538260121a600d8201538260111a600e8201538260101a600f82015382600f1a601082015382600e1a601182015382600d1a601282015382600c1a601382015382600b1a601482015382600a1a60158201538260091a60168201538260081a60178201538260071a60188201538260061a60198201538260051a601a8201538260041a601b8201538260031a601c8201538260021a601d8201538260011a601e8201538260001a601f8201535192915050565b6000806000806000612c2587876120c4565b9650935083612c8757612c3887876120c4565b9650935083612c785760405162461bcd60e51b815260040180806020018281038252603b815260200180614185603b913960400191505060405180910390fd5b612c8287876120c4565b965093505b60648410612cc65760405162461bcd60e51b81526004018080602001828103825260408152602001806141456040913960400191505060405180910390fd5b60005b84811015612cf257602487019650612ce188886120c4565b810160040197509350600101612cc9565b50612cfd87876120c4565b96509050600a8110612d405760405162461bcd60e51b81526004018080602001828103825260418152602001806141c06041913960600191505060405180910390fd5b60005b81811015612d9557600887019650612d5b88886120c4565b97509350612d698888613a6c565b612d7a579583019560009250612d8d565b6001870196508695505050505050611d8c565b600101612d43565b5060405162461bcd60e51b81526004018080602001828103825260378152602001806142016037913960400191505060405180910390fd5b60408051600080825260208201909252606091612dea85856120c4565b810194509050612dfa85856120c4565b810194509050612e0a85856120c4565b810194509050612e1a85856120c4565b810194509050612e2a85856120c4565b945090506002811415612e79576000612e438686611f4e565b948201949050612e5386866120c4565b61ffff83169081019650909250612e71908790879085038101611ee7565b925050612e89565b612e868585838701611ee7565b91505b509392505050565b600080808080612ea18682611aa3565b915063ffffffff821661740214801590612ec3575063ffffffff821661740314155b15612edc57506127ba935060009250829150612f7d9050565b612ee7866004612c13565b90506000868260010181518110612efa57fe5b0160200151600292909201916001600160f81b0319169050604d60f81b811415612f25576001909101905b612f2f8783612573565b90955093506001600160a01b038416612f795760405162461bcd60e51b815260040180806020018281038252602c8152602001806140db602c913960400191505060405180910390fd5b5050505b9193909250565b6034546000905b82612f9582611daa565b63ffffffff161115611d8c57600090815260336020526040902060040154612f8b565b6036546000906001600160a01b03163314613000576040805184815261c3966020820152815160008051602061409b833981519152929181900390910190a15061c396611d8c565b60008381526033602052604090206001600582810154600160e01b900460ff169081111561302a57fe5b1415801561305257506002600582810154600160e01b900460ff169081111561304f57fe5b14155b1561308c576040805185815261c3646020820152815160008051602061409b833981519152929181900390910190a161c364915050611d8c565b60058101546001600160a01b03848116911614156130d9576040805185815261c3876020820152815160008051602061409b833981519152929181900390910190a161c387915050611d8c565b60058101805460ff60e01b1916600160e11b179055604080518581526001600160a01b038516602082015281517f09cdaca254aa177f759fe7a0968fe696ee9baf7d2a1d4714ed24b83d1f09518e929181900390910190a15060009392505050565b600080808061314a8582611aa3565b915063ffffffff82166174061461316857506127ba92506131ba9050565b613173856004612c13565b60030190507faabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8d6131b46131af6131a98885612dcd565b8361386c565b61217f565b93505050505b915091565b6000806131d1868686868d8d8d6139f1565b9050801561329e576000806131e58b61313b565b92509050801561322257604080518481526020810183905281516000805160206140bb833981519152929181900390910190a19250611c4f915050565b60355460408051636cde8d6f60e01b815263ffffffff8516600482015233602482015290516001600160a01b0390921691636cde8d6f9160448082019260009290919082900301818387803b15801561327a57600080fd5b505af115801561328e573d6000803e3d6000fd5b5050505060009350505050611c4f565b60408051617544815290517f52fd0c7e41cb237ece28ba61808cab7bb72873b2dba5b827c5b65bb092102d379181900360200190a15061754498975050505050505050565b600090815260336020526040902060050154600160e01b900460ff1690565b8051600090815b8181101561334c5761332d84828151811061332057fe5b6020026020010151612ae9565b84828151811061333957fe5b6020908102919091010152600101613309565b5060008061335987612ae9565b90505b8282101561350857600085838151811061337257fe5b602002602001015190506000806002898161338957fe5b066001141561339c5750819050826133a2565b50829050815b600280838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106133fc5780518252601f1990920191602091820191016133dd565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561343b573d6000803e3d6000fd5b5050506040513d602081101561345057600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b6020831061349c5780518252601f19909201916020918201910161347d565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156134db573d6000803e3d6000fd5b5050506040513d60208110156134f057600080fd5b5051935060028904985060018501945050505061335c565b611c4f81612ae9565b6000805b60088304811015612e89578060080260020a858286018151811061353557fe5b016020015160f81c029190910190600101613515565b60008080808080808080808080806135638e82611aa3565b935063ffffffff84166174071461359057506127ba9b509499509197509195509193509091506135d99050565b61359b8e6004612c13565b90506135a78e82613a9b565b809750819650829a50839950849b505050505050600087868885878595509c509c509c509c509c509c50505050505050505b91939550919395565b6034546000908190156135f457600080fd5b82156135ff57600080fd5b600061360f89898989898961251b565b6000818152603360205260408120919250600582810154600160e01b900460ff169081111561363a57fe5b1461364457600080fd5b89815560018101899055600281018890556003810187905560048101859055600581018054600160c01b336001600160a01b0319909216821763ffffffff60c01b19161763ffffffff60a01b1916600160a01b63ffffffff8a16021760ff60e01b1916600160e21b1790915560408051848152602081019290925280517f64951c9008bba9f4663c12662e7a9b6412a7c4757869fdac09285564ae923fa19281900390910190a160348290556040805183815233602082015281517ff2dbbf0abb1ab1870a5e4d02746747c91d167c855255440b573ba3b5529dc901929181900390910190a1506000999098509650505050505050565b60345490565b600054610100900460ff168061375a575061375a613bc6565b80613768575060005460ff16155b6137a35760405162461bcd60e51b815260040180806020018281038252602e815260200180614238602e913960400191505060405180910390fd5b600054610100900460ff161580156137ce576000805460ff1961ff0019909116610100171660011790555b6035546001600160a01b03161580156137ef57506001600160a01b03831615155b6137f857600080fd5b603580546001600160a01b0319166001600160a01b03858116919091179091556036541615801561383157506001600160a01b03821615155b61383a57600080fd5b603680546001600160a01b0319166001600160a01b0384161790558015613867576000805461ff00191690555b505050565b60608061388061387b85613bcc565b613bf1565b905060606138a18260038151811061389457fe5b6020026020010151613bf1565b905060005b81518110156139225760606138c083838151811061389457fe5b905060606138e1826001815181106138d457fe5b6020026020010151613cc2565b905060006138f0826001612177565b9050878114156139175761390a836002815181106138d457fe5b9650505050505050611d8c565b5050506001016138a6565b506040805162461bcd60e51b815260206004820152600f60248201526e151bdc1a58c81b9bdd08199bdd5b99608a1b604482015290519081900360640190fd5b600082828151811061397057fe5b602001015160f81c60f81b60f81c60ff1663010000000283836001018151811061399657fe5b602001015160f81c60f81b60f81c60ff1662010000028484600201815181106139bb57fe5b602001015160f81c60f81b60f81c60ff16610100028585600301815181106139df57fe5b016020015160f81c0101019392505050565b600084815260336020526040812054613a13613a0c8a612186565b8989613302565b14613a4b576040805160008152614e6660208201528151600080516020614266833981519152929181900390910190a1506000611c4f565b613a588484848b89613d3b565b98975050505050505050565b016014015190565b8151600090603560f91b90849084908110613a8357fe5b01602001516001600160f81b03191614905092915050565b6000806000806000806000806000806000613ab68d8d613db0565b9c509050600460ff821614613aca57600080fd5b613ad48d8d613962565b95508060ff168c019b50613ae88d8d613db0565b9c509050600860ff821614613afc57600080fd5b613b068d8d611f90565b67ffffffffffffffff1692508060ff168c019b50613b248d8d613db0565b9c509050601460ff821614613b3857600080fd5b613b428d8d613a64565b94508060ff168c019b50613b568d8d613db0565b9c509050600160ff821614613b6a57600080fd5b8c8c81518110613b7657fe5b016020015160ff82169c909c019b60f81c9150613b938d8d613db0565b9c509050601460ff821614613ba757600080fd5b613bb18d8d613a64565b929d949c50949a509850965090945050505050565b303b1590565b613bd4614080565b506040805180820190915281518152602082810190820152919050565b6060613bfc82613de2565b613c0557600080fd5b6000613c1083613e1c565b9050606081604051908082528060200260200182016040528015613c4e57816020015b613c3b614080565b815260200190600190039081613c335790505b5090506000613c608560200151613e78565b60208601510190506000805b84811015613cb757613c7d83613edb565b9150604051806040016040528083815260200184815250848281518110613ca057fe5b602090810291909101015291810191600101613c6c565b509195945050505050565b8051606090613cd057600080fd5b6000613cdf8360200151613e78565b83516040805191839003808352601f19601f8201168301602001909152919250606090828015613d16576020820181803883390190505b5090506000816020019050613d32848760200151018285613f74565b50949350505050565b600080613d4787612186565b9050865160401415613d875760408051828152614e5c60208201528151600080516020614266833981519152929181900390910190a16000915050611f39565b613d948187878787613fbf565b60011415613da3579050611f39565b5060009695505050505050565b60008083518310613dc057600080fd5b838381518110613dcc57fe5b016020015160f81c915050600182019250929050565b8051600090613df357506000611da5565b6020820151805160001a9060c0821015613e1257600092505050611da5565b5060019392505050565b8051600090613e2d57506000611da5565b60008090506000613e418460200151613e78565b602085015185519181019250015b80821015613e6f57613e6082613edb565b60019093019290910190613e4f565b50909392505050565b8051600090811a6080811015613e92576000915050611da5565b60b8811080613ead575060c08110801590613ead575060f881105b15613ebc576001915050611da5565b60c0811015613ed05760b519019050611da5565b60f519019050611da5565b80516000908190811a6080811015613ef65760019150613f6d565b60b8811015613f0b57607e1981019150613f6d565b60c0811015613f385760b78103600185019450806020036101000a85510460018201810193505050613f6d565b60f8811015613f4d5760be1981019150613f6d565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80613f7e57613867565b5b60208110613f9e578251825260209283019290910190601f1901613f7f565b915181516020939093036101000a6000190180199091169216919091179052565b6000613fca82614061565b6140015760408051878152614e3e60208201528151600080516020614266833981519152929181900390910190a150614e3e611f39565b600061400c84612368565b90508061401a888888613302565b146140545760408051888152614e5260208201528151600080516020614266833981519152929181900390910190a1614e52915050611f39565b5060019695505050505050565b6000600461406e836132e3565b600581111561407957fe5b1492915050565b60405180604001604052806000815260200160008152509056fea57c1ba4cf2c89b3558cfeeca4339e04551f0fc1a12cf63f1923c2eed8a5be8b4e64138cc499eb1adf9edff9ef69bd45c56ac4bfd307540952e4c9d51eab55c170617273654173736574547828293a206572633230416464726573732063616e6e6f7420626520656d7074797363616e4173736574547828293a20496e76616c6964206e756d626572206f66206279746573207265616420666f7220636f6e7472616374206669656c6423537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f696e7075747323537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20556e65787065637465642064756d6d792f666c616723537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a20496e636f72726563742073697a65206f66206e5f6f75747075747323537973636f696e5375706572626c6f636b73206765744f7052657475726e506f7328293a204e6f204f7052657475726e20666f756e64436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656465bd72698b9ffcfb3c7cb4c7414e13225cabd57fb690e183ae8c01c8ec268ebda265627a7a72315820e679235cfe096e55fff6d22c15118f1965a00d1be77fe3bdf71589923d86f5e664736f6c634300050d0032"; public static final String FUNC_BYTESTOUINT32FLIPPED = "bytesToUint32Flipped"; @@ -79,10 +80,14 @@ public class SyscoinSuperblocks extends Contract { public static final String FUNC_PARSEMINTTX = "parseMintTx"; + public static final String FUNC_PARSEASSETTX = "parseAssetTx"; + public static final String FUNC_BYTESTOUINT16 = "bytesToUint16"; public static final String FUNC_GETETHRECEIPT = "getEthReceipt"; + public static final String FUNC_SCANASSETTX = "scanAssetTx"; + public static final String FUNC_BYTESTOBYTES32 = "bytesToBytes32"; public static final String FUNC_GETLOGVALUESFORTOPIC = "getLogValuesForTopic"; @@ -103,6 +108,8 @@ public class SyscoinSuperblocks extends Contract { public static final String FUNC_RELAYTX = "relayTx"; + public static final String FUNC_RELAYASSETTX = "relayAssetTx"; + public static final String FUNC_CHALLENGECANCELTRANSFER = "challengeCancelTransfer"; public static final String FUNC_PARSEBURNTX = "parseBurnTx"; @@ -604,6 +611,23 @@ public Tuple2 call() throws Exception { }); } + public RemoteFunctionCall> parseAssetTx(DynamicBytes txBytes) { + final org.web3j.abi.datatypes.Function function = new org.web3j.abi.datatypes.Function(FUNC_PARSEASSETTX, + Arrays.asList(txBytes), + Arrays.>asList(new TypeReference() {}, new TypeReference() {}, new TypeReference
() {})); + return new RemoteFunctionCall>(function, + new Callable>() { + @Override + public Tuple3 call() throws Exception { + List results = executeCallMultipleValueReturn(function); + return new Tuple3( + (Uint256) results.get(0), + (Uint32) results.get(1), + (Address) results.get(2)); + } + }); + } + public RemoteFunctionCall bytesToUint16(DynamicBytes input, Uint256 pos) { final org.web3j.abi.datatypes.Function function = new org.web3j.abi.datatypes.Function(FUNC_BYTESTOUINT16, Arrays.asList(input, pos), @@ -618,6 +642,22 @@ public RemoteFunctionCall getEthReceipt(DynamicBytes txBytes, Uint return executeRemoteCallSingleValueReturn(function); } + public RemoteFunctionCall> scanAssetTx(DynamicBytes txBytes, Uint256 pos) { + final org.web3j.abi.datatypes.Function function = new org.web3j.abi.datatypes.Function(FUNC_SCANASSETTX, + Arrays.asList(txBytes, pos), + Arrays.>asList(new TypeReference() {}, new TypeReference
() {})); + return new RemoteFunctionCall>(function, + new Callable>() { + @Override + public Tuple2 call() throws Exception { + List results = executeCallMultipleValueReturn(function); + return new Tuple2( + (Uint32) results.get(0), + (Address) results.get(1)); + } + }); + } + public RemoteFunctionCall bytesToBytes32(DynamicBytes _rawBytes, Uint256 pos) { final org.web3j.abi.datatypes.Function function = new org.web3j.abi.datatypes.Function(FUNC_BYTESTOBYTES32, Arrays.asList(_rawBytes, pos), @@ -695,6 +735,14 @@ public RemoteFunctionCall relayTx(DynamicBytes _txBytes, Uin return executeRemoteCallTransaction(function); } + public RemoteFunctionCall relayAssetTx(DynamicBytes _txBytes, Uint256 _txIndex, DynamicArray _txSiblings, DynamicBytes _syscoinBlockHeader, Uint256 _syscoinBlockIndex, DynamicArray _syscoinBlockSiblings, Bytes32 _superblockHash) { + final org.web3j.abi.datatypes.Function function = new org.web3j.abi.datatypes.Function( + FUNC_RELAYASSETTX, + Arrays.asList(_txBytes, _txIndex, _txSiblings, _syscoinBlockHeader, _syscoinBlockIndex, _syscoinBlockSiblings, _superblockHash), + Collections.>emptyList()); + return executeRemoteCallTransaction(function); + } + public RemoteFunctionCall challengeCancelTransfer(DynamicBytes _txBytes, Uint256 _txIndex, DynamicArray _txSiblings, DynamicBytes _syscoinBlockHeader, Uint256 _syscoinBlockIndex, DynamicArray _syscoinBlockSiblings, Bytes32 _superblockHash) { final org.web3j.abi.datatypes.Function function = new org.web3j.abi.datatypes.Function( FUNC_CHALLENGECANCELTRANSFER, diff --git a/package-lock.json b/package-lock.json index fbbd0ad..6e6736a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3573,14 +3573,13 @@ } }, "ethers": { - "version": "4.0.36", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.36.tgz", - "integrity": "sha512-rWdchEhUyXx01GiwexH6Sha97CQ9tJdQwe6FtYKxShC7VEZV41nuKt+lzCQ4OqvQwZK5PcAKaAZv2GDsCH33SA==", + "version": "4.0.47", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.47.tgz", + "integrity": "sha512-hssRYhngV4hiDNeZmVU/k5/E8xmLG8UpcNUzg6mb7lqhgpFPH/t7nuv20RjRrEf0gblzvi2XwR5Te+V3ZFc9pQ==", "requires": { - "@types/node": "^10.3.2", "aes-js": "3.0.0", "bn.js": "^4.4.0", - "elliptic": "6.3.3", + "elliptic": "6.5.2", "hash.js": "1.1.3", "js-sha3": "0.5.7", "scrypt-js": "2.0.4", @@ -3589,10 +3588,19 @@ "xmlhttprequest": "1.8.0" }, "dependencies": { - "@types/node": { - "version": "10.14.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.17.tgz", - "integrity": "sha512-p/sGgiPaathCfOtqu2fx5Mu1bcjuP8ALFg4xpGgNkcin7LwRyzUKniEHBKdcE1RPsenq5JVPIpMTJSygLboygQ==" + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } }, "js-sha3": { "version": "0.5.7", @@ -7288,12 +7296,11 @@ } }, "rlp": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.3.tgz", - "integrity": "sha512-l6YVrI7+d2vpW6D6rS05x2Xrmq8oW7v3pieZOJKBEdjuTF4Kz/iwk55Zyh1Zaz+KOB2kC8+2jZlp2u9L4tTzCQ==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.5.tgz", + "integrity": "sha512-y1QxTQOp0OZnjn19FxBmped4p+BSKPHwGndaqrESseyd2xXZtcgR3yuTIosh8CaMaOii9SKIYerBXnV/CpJ3qw==", "requires": { - "bn.js": "^4.11.1", - "safe-buffer": "^5.1.1" + "bn.js": "^4.11.1" } }, "run-async": { @@ -7604,7 +7611,7 @@ }, "solc": { "version": "0.5.15", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.15.tgz", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.13.tgz", "integrity": "sha512-uI+7XtBu/0CXRc8IMjzxbh0haLwaBF32VxAkkks06zEk+mVcsQbHdjvojXX6zQYtZVuXdVYPVccoIjEhvvqKnQ==", "requires": { "command-exists": "^1.2.8", diff --git a/package.json b/package.json index 784d543..2ef1b8c 100644 --- a/package.json +++ b/package.json @@ -12,12 +12,14 @@ "bitcoinjs-lib": "^5.1.6", "bitcore-message": "^1.0.4", "chai": "^4.2.0", + "ethers": "^4.0.47", "ganache-cli": "^6.7.0", "js-sha256": "^0.9.0", "js-sha3": "^0.8.0", "openzeppelin-solidity": "^2.4.0", "openzeppelin-test-helpers": "^0.4.3", - "solc": "^0.5.15", + "rlp": "^2.2.5", + "solc": "^0.5.13", "solidity-rlp": "^2.0.1", "truffle": "^5.1.5", "truffle-assertions": "^0.9.1", diff --git a/test/TestSyscoinMessageLibrary.sol b/test/TestSyscoinMessageLibrary.sol index 196c568..fc32bcb 100644 --- a/test/TestSyscoinMessageLibrary.sol +++ b/test/TestSyscoinMessageLibrary.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.15; +pragma solidity ^0.5.13; import "truffle/Assert.sol"; import "truffle/DeployedAddresses.sol"; diff --git a/test/superblocks.js b/test/superblocks.js index 79d7921..f487f66 100644 --- a/test/superblocks.js +++ b/test/superblocks.js @@ -366,6 +366,27 @@ contract('SyscoinSuperblocks', (accounts) => { assert.equal(result.errorCode, '0', "errorCode should be 0"); assert.equal(result.bridgeTransferId, '3', "bridgeTransferId should be 3"); }); + it("parseAssetTx() no contract", async () => { + const txBytes = "0x0274000000010110dd337558bed0b3d44f492d4c412ff44e7ee5e864fa35072eb672a3ffd01fa40100000000feffffff020000000000000000886a4c85237b226465736372697074696f6e223a224f6666696369616c205359535820535054227d0000000000000000000000000000000000000000000000000000000000000000e451573e0453595358001471ed42a9e6413d5d6f102d31a0bd61201dd82bc2000000000e28217b3b0100000e28217b3b0100000e28217b3b01000000001f08000054c4f5050000000016001471ed42a9e6413d5d6f102d31a0bd61201dd82bc20247304402205bf09e0b25c5f60c6010faf3c1c894dfd068dc50efc9aadf15ba870c106fb678022054ac1f41a51145ff0565bc55bc921f29305f609a5bdfce28eb485410b18871b501210339513b2a65e6e8122880f0ee7f868271c90679d6008d17d1605ad66e865a645900000000"; + await truffleAssert.reverts(superblocks.methods.parseAssetTx(txBytes).call()); + }); + it("parseAssetTx()", async () => { + const txBytes = "0x03740000000101b6197666e82004b54cc762c800e5d08462f5e557f92eed11a1178adaa0f1a2750100000000feffffff020000000000000000796a4c76000000000000000000000000000000000000000000000000000000000000000000e451573e0453595358001471ed42a9e6413d5d6f102d31a0bd61201dd82bc20000000000000000000000000e28217b3b0100000e28217b3b01f05704001f08143a0d746b3ea1d8ccdf19ad915913bd68391133ca005456f5050000000016001471ed42a9e6413d5d6f102d31a0bd61201dd82bc2024730440220745e5d6367ca4fed02378ed611b4f5aef16b21137fb1419dcf0cc1a4d0468b5602204c66bce1bd5197bf15f7e4aa7357092a93b749d9f3d0a556110d9b3c3e4e0b5701210339513b2a65e6e8122880f0ee7f868271c90679d6008d17d1605ad66e865a645900000000"; + let result = await superblocks.methods.parseAssetTx(txBytes).call(); + assert.equal(result.errorCode, '0', "errorCode should be 0"); + assert.equal(result.assetGuid, '1045909988', "Asset GUID should be 1045909988"); + assert.equal(result.erc20Address, '0x3A0D746B3EA1d8ccDf19aD915913BD68391133Ca', "Asset ERC20 Contract should be 0x3a0d746b3ea1d8ccdf19ad915913bd68391133ca"); + }); + it("scanAssetTx", async () => { + const expectedJson = '{"0":"1045909988","1":"0x3A0D746B3EA1d8ccDf19aD915913BD68391133Ca"}'; + const txBytes = "0x03740000000101b6197666e82004b54cc762c800e5d08462f5e557f92eed11a1178adaa0f1a2750100000000feffffff020000000000000000796a4c76000000000000000000000000000000000000000000000000000000000000000000e451573e0453595358001471ed42a9e6413d5d6f102d31a0bd61201dd82bc20000000000000000000000000e28217b3b0100000e28217b3b01f05704001f08143a0d746b3ea1d8ccdf19ad915913bd68391133ca005456f5050000000016001471ed42a9e6413d5d6f102d31a0bd61201dd82bc2024730440220745e5d6367ca4fed02378ed611b4f5aef16b21137fb1419dcf0cc1a4d0468b5602204c66bce1bd5197bf15f7e4aa7357092a93b749d9f3d0a556110d9b3c3e4e0b5701210339513b2a65e6e8122880f0ee7f868271c90679d6008d17d1605ad66e865a645900000000"; + const resultPos = await superblocks.methods.getOpReturnPos(txBytes, 4).call(); + var pos = parseInt(resultPos); + pos += 2; // skip pushdata1 + 1 bytes for opreturn varint + + const result = await superblocks.methods.scanAssetTx(txBytes, pos).call(); + assert.equal(JSON.stringify(result), expectedJson, "converted asset tx bytes are not the expected ones"); + }); it("getEthReceipt position encoded value field", async () => { const receiptValue = "0xf902e00183043a62b901000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021000008000000000000000000000a000000000004000000000000200000000000000000000000000000000000000100000000000000000000000000000010040000000000000000000010000000000000000000000000000000000000001000000000020000000000000000000000000000000000000000008000000000000000000000000002000000000000020000000000000000000000000000000000000000000010000100000000800000000000000000000000000080000000000000000000f901d5f89b94e3d9ccbaedabd8fd4401aab7752f6f224a7ef1c8f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b0ea8c9ee8aa87efd28a12de8c034f947c144053a0000000000000000000000000443d9a14fb6ba2a45465bec3767186f404ccea25a0000000000000000000000000000000000000000000000000000000004190ab00f89b94e3d9ccbaedabd8fd4401aab7752f6f224a7ef1c8f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b0ea8c9ee8aa87efd28a12de8c034f947c144053a0000000000000000000000000443d9a14fb6ba2a45465bec3767186f404ccea25a00000000000000000000000000000000000000000000000000000000000000000f89994443d9a14fb6ba2a45465bec3767186f404ccea25e1a0aabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8db860000000000000000000000000b0ea8c9ee8aa87efd28a12de8c034f947c144053000000000000000000000000000000000000000000000000000000004190ab000000000000000000000000000000000000000000000000000000000000000003"; const txBytes = "0x0674000000010111d5eff70d76f8f79d6c6e20e997327faae7d93807552acf6ab7c13bbf1d69470100000000feffffff020000000000000000fdce066a4dca06020110fd5e02f9025bf851a0766aa7492d2ae288a54aca97778392bf5613d2915d90dde26464b48d5be8da3580808080808080a0093a0a6203d65f7e44887c52ace8f8a2192709a3a6bc0543d8a2b37f5cc646268080808080808080f8b180a065e039f5f3af69df62b366f4eb7a97ff4e1c7d86848ec55771cec5a8699959c2a012abac8fbc8a63519c678d7cc92d5efad164996d11a8a301071ede0bd2ec19d9a0a013abe590ec132a63e580e2ea0a18d1886480a889974798ab33028678c8cf72a0c6dbae6978c357521d177ddd94b3468d33707df73986369a1f4c037bacf9945ca012f8fdd16c30ad5d71514c0ec6e703888211ae468cffc5aabf4339e18a1deb198080808080808080808080f9015220b9014ef9014b8204d5843b9aca008307a12094443d9a14fb6ba2a45465bec3767186f404ccea2580b8e45f959b69000000000000000000000000000000000000000000000000000000004190ab0000000000000000000000000000000000000000000000000000000000752cbd74000000000000000000000000e3d9ccbaedabd8fd4401aab7752f6f224a7ef1c8000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000150073c237a0171e48890a824abbda619de705c0c21f00000000000000000000002ba00f68add3f6a7f77623f6da12e8f70c14f71bd3fdcbb1b831b3e076d8d8e24e1da0624dbf368d261761e92980ef2e152edb64b62c859e35b05f95f8a06e9c543d3421a0f18ad7a19f08efbedbcbf0eefea94bf2d523dbbf1fd3714908db02129d901cd30103020110fdf303f903f0f851a0c6024de1de1393e3ce892ea58a0e013dc6b881c26f22f5c4d78de7ebddf0d54080808080808080a0640ecd1152922fee801514f1d52d67a4c932d4cfce07b5704cf3fe06b04e797f8080808080808080f8b180a090a37ae3593541d04e8f18a913f2a67c08b97d437a807497871c0ab5acc96292a0e4ca2f77e9b824594cf0f104a8289216a1f17756c0e17ae00e8b6f1763ec7d3fa09529ccfee51cba8bdc2a77fd39f5588a15d6c5796bffdbc6149962ce43c99308a01cd036c395d623cc975c1222a51856aaf80ece64d59ef3eacca3b73462cbb2d9a05d0de9048ae4214f2af0ee374e0a0024a64b2bdac08b3bd2f53dfee85e23ed068080808080808080808080f902e720b902e3f902e00183043a62b901000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021000008000000000000000000000a000000000004000000000000200000000000000000000000000000000000000100000000000000000000000000000010040000000000000000000010000000000000000000000000000000000000001000000000020000000000000000000000000000000000000000008000000000000000000000000002000000000000020000000000000000000000000000000000000000000010000100000000800000000000000000000000000080000000000000000000f901d5f89b94e3d9ccbaedabd8fd4401aab7752f6f224a7ef1c8f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b0ea8c9ee8aa87efd28a12de8c034f947c144053a0000000000000000000000000443d9a14fb6ba2a45465bec3767186f404ccea25a0000000000000000000000000000000000000000000000000000000004190ab00f89b94e3d9ccbaedabd8fd4401aab7752f6f224a7ef1c8f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b0ea8c9ee8aa87efd28a12de8c034f947c144053a0000000000000000000000000443d9a14fb6ba2a45465bec3767186f404ccea25a00000000000000000000000000000000000000000000000000000000000000000f89994443d9a14fb6ba2a45465bec3767186f404ccea25e1a0aabab1db49e504b5156edf3f99042aeecb9607a08f392589571cd49743aaba8db860000000000000000000000000b0ea8c9ee8aa87efd28a12de8c034f947c144053000000000000000000000000000000000000000000000000000000004190ab00000000000000000000000000000000000000000000000000000000000000000321a0a6c0bf9f924ef1cfc4d0b010b2312276807ab5bca40d28c6dd98b21d29de51f0006165550074bd2c75001473c237a0171e48890a824abbda619de705c0c21f00ca9a3b000000007c2bd8cd3108000016001473c237a0171e48890a824abbda619de705c0c21f0247304402204b31223bd4079f3fae5705bf2740e5637556af6f8e747b21b0e256902ac01c9f02202bd33c9ab511777a515e8a4eb784922fa08d963f8f259b2cd657973afb5ee3e7012102aadaeaa38ce0283c9711689a89c99ce93e54cfb0545f28e9bc07f594cf324e8800000000"; diff --git a/test/testSyscoinERC20Manager.js b/test/testSyscoinERC20Manager.js index 073b767..8ca113a 100644 --- a/test/testSyscoinERC20Manager.js +++ b/test/testSyscoinERC20Manager.js @@ -82,7 +82,7 @@ contract('SyscoinERC20Manager', function(accounts) { it('should fail to freeze & burn token without approval', async () => { await expectRevert( erc20Manager.methods.freezeBurnERC20(value, assetGUID, erc20Asset.address, 8, syscoinAddress).send({from: owner}), - "ERC20: transfer amount exceeds allowance" + "SafeERC20: low-level call failed" ); }); @@ -97,7 +97,7 @@ contract('SyscoinERC20Manager', function(accounts) { await erc20Asset.approve(erc20Manager.options.address, 2*value, {from: owner}); await expectRevert( erc20Manager.methods.freezeBurnERC20(2*value, assetGUID, erc20Asset.address, 8, syscoinAddress).send({from: owner}), - "ERC20: transfer amount exceeds balance" + "SafeERC20: low-level call failed" ); }); diff --git a/test/validateDifficultyAdjustmentPOW.js b/test/validateDifficultyAdjustmentPOW.js index 32b4b1b..1d07f7b 100644 --- a/test/validateDifficultyAdjustmentPOW.js +++ b/test/validateDifficultyAdjustmentPOW.js @@ -171,7 +171,7 @@ contract('validateDifficultyAdjustmentPOW', (accounts) => { claimManager, battleManager } = await utils.initSuperblockChain({ - network: utils.SYSCOIN_MAINNET, + network: utils.SYSCOIN_REGTEST, params: { ...utils.SUPERBLOCK_OPTIONS_LOCAL }, @@ -284,7 +284,7 @@ contract('validateDifficultyAdjustmentPOW', (accounts) => { } - describe('Propose and challenge sixth', async () => { + /*describe('Propose and challenge sixth', async () => { before(initSuperblockChain); it('Deploy superblocks', async () => { await deploySuperblocks(); @@ -331,5 +331,5 @@ contract('validateDifficultyAdjustmentPOW', (accounts) => { const result = await claimManager.methods.checkClaimFinished(superblock6Id).send({ from: challenger, gas: 300000 }); assert.ok(result.events.SuperblockClaimPending, 'Superblock challenged'); }); - }); + }); */ }); diff --git a/truffle-config.js b/truffle-config.js index 8476101..10605d2 100644 --- a/truffle-config.js +++ b/truffle-config.js @@ -45,7 +45,7 @@ module.exports = { }, compilers: { solc: { - version: "0.5.15", + version: "0.5.13", settings: { optimizer: { enabled: true,